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//   * NotFoundException
4628//   The requested resource is not found. Make sure that the request URI is correct.
4629//
4630//   * UnauthorizedException
4631//   The request is denied because the caller has insufficient permissions.
4632//
4633//   * TooManyRequestsException
4634//   The request has reached its throttling limit. Retry after the specified time
4635//   period.
4636//
4637//   * ServiceUnavailableException
4638//   The requested service is not available. For details see the accompanying
4639//   error message. Retry after the specified time period.
4640//
4641func (c *APIGateway) GetDeployments(input *GetDeploymentsInput) (*GetDeploymentsOutput, error) {
4642	req, out := c.GetDeploymentsRequest(input)
4643	return out, req.Send()
4644}
4645
4646// GetDeploymentsWithContext is the same as GetDeployments with the addition of
4647// the ability to pass a context and additional request options.
4648//
4649// See GetDeployments for details on how to use this API operation.
4650//
4651// The context must be non-nil and will be used for request cancellation. If
4652// the context is nil a panic will occur. In the future the SDK may create
4653// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4654// for more information on using Contexts.
4655func (c *APIGateway) GetDeploymentsWithContext(ctx aws.Context, input *GetDeploymentsInput, opts ...request.Option) (*GetDeploymentsOutput, error) {
4656	req, out := c.GetDeploymentsRequest(input)
4657	req.SetContext(ctx)
4658	req.ApplyOptions(opts...)
4659	return out, req.Send()
4660}
4661
4662// GetDeploymentsPages iterates over the pages of a GetDeployments operation,
4663// calling the "fn" function with the response data for each page. To stop
4664// iterating, return false from the fn function.
4665//
4666// See GetDeployments method for more information on how to use this operation.
4667//
4668// Note: This operation can generate multiple requests to a service.
4669//
4670//    // Example iterating over at most 3 pages of a GetDeployments operation.
4671//    pageNum := 0
4672//    err := client.GetDeploymentsPages(params,
4673//        func(page *apigateway.GetDeploymentsOutput, lastPage bool) bool {
4674//            pageNum++
4675//            fmt.Println(page)
4676//            return pageNum <= 3
4677//        })
4678//
4679func (c *APIGateway) GetDeploymentsPages(input *GetDeploymentsInput, fn func(*GetDeploymentsOutput, bool) bool) error {
4680	return c.GetDeploymentsPagesWithContext(aws.BackgroundContext(), input, fn)
4681}
4682
4683// GetDeploymentsPagesWithContext same as GetDeploymentsPages except
4684// it takes a Context and allows setting request options on the pages.
4685//
4686// The context must be non-nil and will be used for request cancellation. If
4687// the context is nil a panic will occur. In the future the SDK may create
4688// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4689// for more information on using Contexts.
4690func (c *APIGateway) GetDeploymentsPagesWithContext(ctx aws.Context, input *GetDeploymentsInput, fn func(*GetDeploymentsOutput, bool) bool, opts ...request.Option) error {
4691	p := request.Pagination{
4692		NewRequest: func() (*request.Request, error) {
4693			var inCpy *GetDeploymentsInput
4694			if input != nil {
4695				tmp := *input
4696				inCpy = &tmp
4697			}
4698			req, _ := c.GetDeploymentsRequest(inCpy)
4699			req.SetContext(ctx)
4700			req.ApplyOptions(opts...)
4701			return req, nil
4702		},
4703	}
4704
4705	for p.Next() {
4706		if !fn(p.Page().(*GetDeploymentsOutput), !p.HasNextPage()) {
4707			break
4708		}
4709	}
4710
4711	return p.Err()
4712}
4713
4714const opGetDocumentationPart = "GetDocumentationPart"
4715
4716// GetDocumentationPartRequest generates a "aws/request.Request" representing the
4717// client's request for the GetDocumentationPart operation. The "output" return
4718// value will be populated with the request's response once the request completes
4719// successfully.
4720//
4721// Use "Send" method on the returned Request to send the API call to the service.
4722// the "output" return value is not valid until after Send returns without error.
4723//
4724// See GetDocumentationPart for more information on using the GetDocumentationPart
4725// API call, and error handling.
4726//
4727// This method is useful when you want to inject custom logic or configuration
4728// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4729//
4730//
4731//    // Example sending a request using the GetDocumentationPartRequest method.
4732//    req, resp := client.GetDocumentationPartRequest(params)
4733//
4734//    err := req.Send()
4735//    if err == nil { // resp is now filled
4736//        fmt.Println(resp)
4737//    }
4738func (c *APIGateway) GetDocumentationPartRequest(input *GetDocumentationPartInput) (req *request.Request, output *DocumentationPart) {
4739	op := &request.Operation{
4740		Name:       opGetDocumentationPart,
4741		HTTPMethod: "GET",
4742		HTTPPath:   "/restapis/{restapi_id}/documentation/parts/{part_id}",
4743	}
4744
4745	if input == nil {
4746		input = &GetDocumentationPartInput{}
4747	}
4748
4749	output = &DocumentationPart{}
4750	req = c.newRequest(op, input, output)
4751	return
4752}
4753
4754// GetDocumentationPart API operation for Amazon API Gateway.
4755//
4756// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4757// with awserr.Error's Code and Message methods to get detailed information about
4758// the error.
4759//
4760// See the AWS API reference guide for Amazon API Gateway's
4761// API operation GetDocumentationPart for usage and error information.
4762//
4763// Returned Error Types:
4764//   * UnauthorizedException
4765//   The request is denied because the caller has insufficient permissions.
4766//
4767//   * NotFoundException
4768//   The requested resource is not found. Make sure that the request URI is correct.
4769//
4770//   * TooManyRequestsException
4771//   The request has reached its throttling limit. Retry after the specified time
4772//   period.
4773//
4774func (c *APIGateway) GetDocumentationPart(input *GetDocumentationPartInput) (*DocumentationPart, error) {
4775	req, out := c.GetDocumentationPartRequest(input)
4776	return out, req.Send()
4777}
4778
4779// GetDocumentationPartWithContext is the same as GetDocumentationPart with the addition of
4780// the ability to pass a context and additional request options.
4781//
4782// See GetDocumentationPart for details on how to use this API operation.
4783//
4784// The context must be non-nil and will be used for request cancellation. If
4785// the context is nil a panic will occur. In the future the SDK may create
4786// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4787// for more information on using Contexts.
4788func (c *APIGateway) GetDocumentationPartWithContext(ctx aws.Context, input *GetDocumentationPartInput, opts ...request.Option) (*DocumentationPart, error) {
4789	req, out := c.GetDocumentationPartRequest(input)
4790	req.SetContext(ctx)
4791	req.ApplyOptions(opts...)
4792	return out, req.Send()
4793}
4794
4795const opGetDocumentationParts = "GetDocumentationParts"
4796
4797// GetDocumentationPartsRequest generates a "aws/request.Request" representing the
4798// client's request for the GetDocumentationParts operation. The "output" return
4799// value will be populated with the request's response once the request completes
4800// successfully.
4801//
4802// Use "Send" method on the returned Request to send the API call to the service.
4803// the "output" return value is not valid until after Send returns without error.
4804//
4805// See GetDocumentationParts for more information on using the GetDocumentationParts
4806// API call, and error handling.
4807//
4808// This method is useful when you want to inject custom logic or configuration
4809// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4810//
4811//
4812//    // Example sending a request using the GetDocumentationPartsRequest method.
4813//    req, resp := client.GetDocumentationPartsRequest(params)
4814//
4815//    err := req.Send()
4816//    if err == nil { // resp is now filled
4817//        fmt.Println(resp)
4818//    }
4819func (c *APIGateway) GetDocumentationPartsRequest(input *GetDocumentationPartsInput) (req *request.Request, output *GetDocumentationPartsOutput) {
4820	op := &request.Operation{
4821		Name:       opGetDocumentationParts,
4822		HTTPMethod: "GET",
4823		HTTPPath:   "/restapis/{restapi_id}/documentation/parts",
4824	}
4825
4826	if input == nil {
4827		input = &GetDocumentationPartsInput{}
4828	}
4829
4830	output = &GetDocumentationPartsOutput{}
4831	req = c.newRequest(op, input, output)
4832	return
4833}
4834
4835// GetDocumentationParts API operation for Amazon API Gateway.
4836//
4837// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4838// with awserr.Error's Code and Message methods to get detailed information about
4839// the error.
4840//
4841// See the AWS API reference guide for Amazon API Gateway's
4842// API operation GetDocumentationParts for usage and error information.
4843//
4844// Returned Error Types:
4845//   * BadRequestException
4846//   The submitted request is not valid, for example, the input is incomplete
4847//   or incorrect. See the accompanying error message for details.
4848//
4849//   * UnauthorizedException
4850//   The request is denied because the caller has insufficient permissions.
4851//
4852//   * NotFoundException
4853//   The requested resource is not found. Make sure that the request URI is correct.
4854//
4855//   * TooManyRequestsException
4856//   The request has reached its throttling limit. Retry after the specified time
4857//   period.
4858//
4859func (c *APIGateway) GetDocumentationParts(input *GetDocumentationPartsInput) (*GetDocumentationPartsOutput, error) {
4860	req, out := c.GetDocumentationPartsRequest(input)
4861	return out, req.Send()
4862}
4863
4864// GetDocumentationPartsWithContext is the same as GetDocumentationParts with the addition of
4865// the ability to pass a context and additional request options.
4866//
4867// See GetDocumentationParts for details on how to use this API operation.
4868//
4869// The context must be non-nil and will be used for request cancellation. If
4870// the context is nil a panic will occur. In the future the SDK may create
4871// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4872// for more information on using Contexts.
4873func (c *APIGateway) GetDocumentationPartsWithContext(ctx aws.Context, input *GetDocumentationPartsInput, opts ...request.Option) (*GetDocumentationPartsOutput, error) {
4874	req, out := c.GetDocumentationPartsRequest(input)
4875	req.SetContext(ctx)
4876	req.ApplyOptions(opts...)
4877	return out, req.Send()
4878}
4879
4880const opGetDocumentationVersion = "GetDocumentationVersion"
4881
4882// GetDocumentationVersionRequest generates a "aws/request.Request" representing the
4883// client's request for the GetDocumentationVersion operation. The "output" return
4884// value will be populated with the request's response once the request completes
4885// successfully.
4886//
4887// Use "Send" method on the returned Request to send the API call to the service.
4888// the "output" return value is not valid until after Send returns without error.
4889//
4890// See GetDocumentationVersion for more information on using the GetDocumentationVersion
4891// API call, and error handling.
4892//
4893// This method is useful when you want to inject custom logic or configuration
4894// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4895//
4896//
4897//    // Example sending a request using the GetDocumentationVersionRequest method.
4898//    req, resp := client.GetDocumentationVersionRequest(params)
4899//
4900//    err := req.Send()
4901//    if err == nil { // resp is now filled
4902//        fmt.Println(resp)
4903//    }
4904func (c *APIGateway) GetDocumentationVersionRequest(input *GetDocumentationVersionInput) (req *request.Request, output *DocumentationVersion) {
4905	op := &request.Operation{
4906		Name:       opGetDocumentationVersion,
4907		HTTPMethod: "GET",
4908		HTTPPath:   "/restapis/{restapi_id}/documentation/versions/{doc_version}",
4909	}
4910
4911	if input == nil {
4912		input = &GetDocumentationVersionInput{}
4913	}
4914
4915	output = &DocumentationVersion{}
4916	req = c.newRequest(op, input, output)
4917	return
4918}
4919
4920// GetDocumentationVersion API operation for Amazon API Gateway.
4921//
4922// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4923// with awserr.Error's Code and Message methods to get detailed information about
4924// the error.
4925//
4926// See the AWS API reference guide for Amazon API Gateway's
4927// API operation GetDocumentationVersion for usage and error information.
4928//
4929// Returned Error Types:
4930//   * UnauthorizedException
4931//   The request is denied because the caller has insufficient permissions.
4932//
4933//   * NotFoundException
4934//   The requested resource is not found. Make sure that the request URI is correct.
4935//
4936//   * TooManyRequestsException
4937//   The request has reached its throttling limit. Retry after the specified time
4938//   period.
4939//
4940func (c *APIGateway) GetDocumentationVersion(input *GetDocumentationVersionInput) (*DocumentationVersion, error) {
4941	req, out := c.GetDocumentationVersionRequest(input)
4942	return out, req.Send()
4943}
4944
4945// GetDocumentationVersionWithContext is the same as GetDocumentationVersion with the addition of
4946// the ability to pass a context and additional request options.
4947//
4948// See GetDocumentationVersion for details on how to use this API operation.
4949//
4950// The context must be non-nil and will be used for request cancellation. If
4951// the context is nil a panic will occur. In the future the SDK may create
4952// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4953// for more information on using Contexts.
4954func (c *APIGateway) GetDocumentationVersionWithContext(ctx aws.Context, input *GetDocumentationVersionInput, opts ...request.Option) (*DocumentationVersion, error) {
4955	req, out := c.GetDocumentationVersionRequest(input)
4956	req.SetContext(ctx)
4957	req.ApplyOptions(opts...)
4958	return out, req.Send()
4959}
4960
4961const opGetDocumentationVersions = "GetDocumentationVersions"
4962
4963// GetDocumentationVersionsRequest generates a "aws/request.Request" representing the
4964// client's request for the GetDocumentationVersions operation. The "output" return
4965// value will be populated with the request's response once the request completes
4966// successfully.
4967//
4968// Use "Send" method on the returned Request to send the API call to the service.
4969// the "output" return value is not valid until after Send returns without error.
4970//
4971// See GetDocumentationVersions for more information on using the GetDocumentationVersions
4972// API call, and error handling.
4973//
4974// This method is useful when you want to inject custom logic or configuration
4975// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4976//
4977//
4978//    // Example sending a request using the GetDocumentationVersionsRequest method.
4979//    req, resp := client.GetDocumentationVersionsRequest(params)
4980//
4981//    err := req.Send()
4982//    if err == nil { // resp is now filled
4983//        fmt.Println(resp)
4984//    }
4985func (c *APIGateway) GetDocumentationVersionsRequest(input *GetDocumentationVersionsInput) (req *request.Request, output *GetDocumentationVersionsOutput) {
4986	op := &request.Operation{
4987		Name:       opGetDocumentationVersions,
4988		HTTPMethod: "GET",
4989		HTTPPath:   "/restapis/{restapi_id}/documentation/versions",
4990	}
4991
4992	if input == nil {
4993		input = &GetDocumentationVersionsInput{}
4994	}
4995
4996	output = &GetDocumentationVersionsOutput{}
4997	req = c.newRequest(op, input, output)
4998	return
4999}
5000
5001// GetDocumentationVersions API operation for Amazon API Gateway.
5002//
5003// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5004// with awserr.Error's Code and Message methods to get detailed information about
5005// the error.
5006//
5007// See the AWS API reference guide for Amazon API Gateway's
5008// API operation GetDocumentationVersions for usage and error information.
5009//
5010// Returned Error Types:
5011//   * BadRequestException
5012//   The submitted request is not valid, for example, the input is incomplete
5013//   or incorrect. See the accompanying error message for details.
5014//
5015//   * UnauthorizedException
5016//   The request is denied because the caller has insufficient permissions.
5017//
5018//   * NotFoundException
5019//   The requested resource is not found. Make sure that the request URI is correct.
5020//
5021//   * TooManyRequestsException
5022//   The request has reached its throttling limit. Retry after the specified time
5023//   period.
5024//
5025func (c *APIGateway) GetDocumentationVersions(input *GetDocumentationVersionsInput) (*GetDocumentationVersionsOutput, error) {
5026	req, out := c.GetDocumentationVersionsRequest(input)
5027	return out, req.Send()
5028}
5029
5030// GetDocumentationVersionsWithContext is the same as GetDocumentationVersions with the addition of
5031// the ability to pass a context and additional request options.
5032//
5033// See GetDocumentationVersions for details on how to use this API operation.
5034//
5035// The context must be non-nil and will be used for request cancellation. If
5036// the context is nil a panic will occur. In the future the SDK may create
5037// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5038// for more information on using Contexts.
5039func (c *APIGateway) GetDocumentationVersionsWithContext(ctx aws.Context, input *GetDocumentationVersionsInput, opts ...request.Option) (*GetDocumentationVersionsOutput, error) {
5040	req, out := c.GetDocumentationVersionsRequest(input)
5041	req.SetContext(ctx)
5042	req.ApplyOptions(opts...)
5043	return out, req.Send()
5044}
5045
5046const opGetDomainName = "GetDomainName"
5047
5048// GetDomainNameRequest generates a "aws/request.Request" representing the
5049// client's request for the GetDomainName operation. The "output" return
5050// value will be populated with the request's response once the request completes
5051// successfully.
5052//
5053// Use "Send" method on the returned Request to send the API call to the service.
5054// the "output" return value is not valid until after Send returns without error.
5055//
5056// See GetDomainName for more information on using the GetDomainName
5057// API call, and error handling.
5058//
5059// This method is useful when you want to inject custom logic or configuration
5060// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5061//
5062//
5063//    // Example sending a request using the GetDomainNameRequest method.
5064//    req, resp := client.GetDomainNameRequest(params)
5065//
5066//    err := req.Send()
5067//    if err == nil { // resp is now filled
5068//        fmt.Println(resp)
5069//    }
5070func (c *APIGateway) GetDomainNameRequest(input *GetDomainNameInput) (req *request.Request, output *DomainName) {
5071	op := &request.Operation{
5072		Name:       opGetDomainName,
5073		HTTPMethod: "GET",
5074		HTTPPath:   "/domainnames/{domain_name}",
5075	}
5076
5077	if input == nil {
5078		input = &GetDomainNameInput{}
5079	}
5080
5081	output = &DomainName{}
5082	req = c.newRequest(op, input, output)
5083	return
5084}
5085
5086// GetDomainName API operation for Amazon API Gateway.
5087//
5088// Represents a domain name that is contained in a simpler, more intuitive URL
5089// that can be called.
5090//
5091// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5092// with awserr.Error's Code and Message methods to get detailed information about
5093// the error.
5094//
5095// See the AWS API reference guide for Amazon API Gateway's
5096// API operation GetDomainName for usage and error information.
5097//
5098// Returned Error Types:
5099//   * UnauthorizedException
5100//   The request is denied because the caller has insufficient permissions.
5101//
5102//   * NotFoundException
5103//   The requested resource is not found. Make sure that the request URI is correct.
5104//
5105//   * ServiceUnavailableException
5106//   The requested service is not available. For details see the accompanying
5107//   error message. Retry after the specified time period.
5108//
5109//   * TooManyRequestsException
5110//   The request has reached its throttling limit. Retry after the specified time
5111//   period.
5112//
5113func (c *APIGateway) GetDomainName(input *GetDomainNameInput) (*DomainName, error) {
5114	req, out := c.GetDomainNameRequest(input)
5115	return out, req.Send()
5116}
5117
5118// GetDomainNameWithContext is the same as GetDomainName with the addition of
5119// the ability to pass a context and additional request options.
5120//
5121// See GetDomainName for details on how to use this API operation.
5122//
5123// The context must be non-nil and will be used for request cancellation. If
5124// the context is nil a panic will occur. In the future the SDK may create
5125// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5126// for more information on using Contexts.
5127func (c *APIGateway) GetDomainNameWithContext(ctx aws.Context, input *GetDomainNameInput, opts ...request.Option) (*DomainName, error) {
5128	req, out := c.GetDomainNameRequest(input)
5129	req.SetContext(ctx)
5130	req.ApplyOptions(opts...)
5131	return out, req.Send()
5132}
5133
5134const opGetDomainNames = "GetDomainNames"
5135
5136// GetDomainNamesRequest generates a "aws/request.Request" representing the
5137// client's request for the GetDomainNames operation. The "output" return
5138// value will be populated with the request's response once the request completes
5139// successfully.
5140//
5141// Use "Send" method on the returned Request to send the API call to the service.
5142// the "output" return value is not valid until after Send returns without error.
5143//
5144// See GetDomainNames for more information on using the GetDomainNames
5145// API call, and error handling.
5146//
5147// This method is useful when you want to inject custom logic or configuration
5148// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5149//
5150//
5151//    // Example sending a request using the GetDomainNamesRequest method.
5152//    req, resp := client.GetDomainNamesRequest(params)
5153//
5154//    err := req.Send()
5155//    if err == nil { // resp is now filled
5156//        fmt.Println(resp)
5157//    }
5158func (c *APIGateway) GetDomainNamesRequest(input *GetDomainNamesInput) (req *request.Request, output *GetDomainNamesOutput) {
5159	op := &request.Operation{
5160		Name:       opGetDomainNames,
5161		HTTPMethod: "GET",
5162		HTTPPath:   "/domainnames",
5163		Paginator: &request.Paginator{
5164			InputTokens:     []string{"position"},
5165			OutputTokens:    []string{"position"},
5166			LimitToken:      "limit",
5167			TruncationToken: "",
5168		},
5169	}
5170
5171	if input == nil {
5172		input = &GetDomainNamesInput{}
5173	}
5174
5175	output = &GetDomainNamesOutput{}
5176	req = c.newRequest(op, input, output)
5177	return
5178}
5179
5180// GetDomainNames API operation for Amazon API Gateway.
5181//
5182// Represents a collection of DomainName resources.
5183//
5184// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5185// with awserr.Error's Code and Message methods to get detailed information about
5186// the error.
5187//
5188// See the AWS API reference guide for Amazon API Gateway's
5189// API operation GetDomainNames for usage and error information.
5190//
5191// Returned Error Types:
5192//   * BadRequestException
5193//   The submitted request is not valid, for example, the input is incomplete
5194//   or incorrect. See the accompanying error message for details.
5195//
5196//   * UnauthorizedException
5197//   The request is denied because the caller has insufficient permissions.
5198//
5199//   * TooManyRequestsException
5200//   The request has reached its throttling limit. Retry after the specified time
5201//   period.
5202//
5203func (c *APIGateway) GetDomainNames(input *GetDomainNamesInput) (*GetDomainNamesOutput, error) {
5204	req, out := c.GetDomainNamesRequest(input)
5205	return out, req.Send()
5206}
5207
5208// GetDomainNamesWithContext is the same as GetDomainNames with the addition of
5209// the ability to pass a context and additional request options.
5210//
5211// See GetDomainNames for details on how to use this API operation.
5212//
5213// The context must be non-nil and will be used for request cancellation. If
5214// the context is nil a panic will occur. In the future the SDK may create
5215// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5216// for more information on using Contexts.
5217func (c *APIGateway) GetDomainNamesWithContext(ctx aws.Context, input *GetDomainNamesInput, opts ...request.Option) (*GetDomainNamesOutput, error) {
5218	req, out := c.GetDomainNamesRequest(input)
5219	req.SetContext(ctx)
5220	req.ApplyOptions(opts...)
5221	return out, req.Send()
5222}
5223
5224// GetDomainNamesPages iterates over the pages of a GetDomainNames operation,
5225// calling the "fn" function with the response data for each page. To stop
5226// iterating, return false from the fn function.
5227//
5228// See GetDomainNames method for more information on how to use this operation.
5229//
5230// Note: This operation can generate multiple requests to a service.
5231//
5232//    // Example iterating over at most 3 pages of a GetDomainNames operation.
5233//    pageNum := 0
5234//    err := client.GetDomainNamesPages(params,
5235//        func(page *apigateway.GetDomainNamesOutput, lastPage bool) bool {
5236//            pageNum++
5237//            fmt.Println(page)
5238//            return pageNum <= 3
5239//        })
5240//
5241func (c *APIGateway) GetDomainNamesPages(input *GetDomainNamesInput, fn func(*GetDomainNamesOutput, bool) bool) error {
5242	return c.GetDomainNamesPagesWithContext(aws.BackgroundContext(), input, fn)
5243}
5244
5245// GetDomainNamesPagesWithContext same as GetDomainNamesPages except
5246// it takes a Context and allows setting request options on the pages.
5247//
5248// The context must be non-nil and will be used for request cancellation. If
5249// the context is nil a panic will occur. In the future the SDK may create
5250// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5251// for more information on using Contexts.
5252func (c *APIGateway) GetDomainNamesPagesWithContext(ctx aws.Context, input *GetDomainNamesInput, fn func(*GetDomainNamesOutput, bool) bool, opts ...request.Option) error {
5253	p := request.Pagination{
5254		NewRequest: func() (*request.Request, error) {
5255			var inCpy *GetDomainNamesInput
5256			if input != nil {
5257				tmp := *input
5258				inCpy = &tmp
5259			}
5260			req, _ := c.GetDomainNamesRequest(inCpy)
5261			req.SetContext(ctx)
5262			req.ApplyOptions(opts...)
5263			return req, nil
5264		},
5265	}
5266
5267	for p.Next() {
5268		if !fn(p.Page().(*GetDomainNamesOutput), !p.HasNextPage()) {
5269			break
5270		}
5271	}
5272
5273	return p.Err()
5274}
5275
5276const opGetExport = "GetExport"
5277
5278// GetExportRequest generates a "aws/request.Request" representing the
5279// client's request for the GetExport operation. The "output" return
5280// value will be populated with the request's response once the request completes
5281// successfully.
5282//
5283// Use "Send" method on the returned Request to send the API call to the service.
5284// the "output" return value is not valid until after Send returns without error.
5285//
5286// See GetExport for more information on using the GetExport
5287// API call, and error handling.
5288//
5289// This method is useful when you want to inject custom logic or configuration
5290// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5291//
5292//
5293//    // Example sending a request using the GetExportRequest method.
5294//    req, resp := client.GetExportRequest(params)
5295//
5296//    err := req.Send()
5297//    if err == nil { // resp is now filled
5298//        fmt.Println(resp)
5299//    }
5300func (c *APIGateway) GetExportRequest(input *GetExportInput) (req *request.Request, output *GetExportOutput) {
5301	op := &request.Operation{
5302		Name:       opGetExport,
5303		HTTPMethod: "GET",
5304		HTTPPath:   "/restapis/{restapi_id}/stages/{stage_name}/exports/{export_type}",
5305	}
5306
5307	if input == nil {
5308		input = &GetExportInput{}
5309	}
5310
5311	output = &GetExportOutput{}
5312	req = c.newRequest(op, input, output)
5313	return
5314}
5315
5316// GetExport API operation for Amazon API Gateway.
5317//
5318// Exports a deployed version of a RestApi in a specified format.
5319//
5320// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5321// with awserr.Error's Code and Message methods to get detailed information about
5322// the error.
5323//
5324// See the AWS API reference guide for Amazon API Gateway's
5325// API operation GetExport for usage and error information.
5326//
5327// Returned Error Types:
5328//   * UnauthorizedException
5329//   The request is denied because the caller has insufficient permissions.
5330//
5331//   * NotFoundException
5332//   The requested resource is not found. Make sure that the request URI is correct.
5333//
5334//   * BadRequestException
5335//   The submitted request is not valid, for example, the input is incomplete
5336//   or incorrect. See the accompanying error message for details.
5337//
5338//   * ConflictException
5339//   The request configuration has conflicts. For details, see the accompanying
5340//   error message.
5341//
5342//   * TooManyRequestsException
5343//   The request has reached its throttling limit. Retry after the specified time
5344//   period.
5345//
5346func (c *APIGateway) GetExport(input *GetExportInput) (*GetExportOutput, error) {
5347	req, out := c.GetExportRequest(input)
5348	return out, req.Send()
5349}
5350
5351// GetExportWithContext is the same as GetExport with the addition of
5352// the ability to pass a context and additional request options.
5353//
5354// See GetExport for details on how to use this API operation.
5355//
5356// The context must be non-nil and will be used for request cancellation. If
5357// the context is nil a panic will occur. In the future the SDK may create
5358// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5359// for more information on using Contexts.
5360func (c *APIGateway) GetExportWithContext(ctx aws.Context, input *GetExportInput, opts ...request.Option) (*GetExportOutput, error) {
5361	req, out := c.GetExportRequest(input)
5362	req.SetContext(ctx)
5363	req.ApplyOptions(opts...)
5364	return out, req.Send()
5365}
5366
5367const opGetGatewayResponse = "GetGatewayResponse"
5368
5369// GetGatewayResponseRequest generates a "aws/request.Request" representing the
5370// client's request for the GetGatewayResponse operation. The "output" return
5371// value will be populated with the request's response once the request completes
5372// successfully.
5373//
5374// Use "Send" method on the returned Request to send the API call to the service.
5375// the "output" return value is not valid until after Send returns without error.
5376//
5377// See GetGatewayResponse for more information on using the GetGatewayResponse
5378// API call, and error handling.
5379//
5380// This method is useful when you want to inject custom logic or configuration
5381// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5382//
5383//
5384//    // Example sending a request using the GetGatewayResponseRequest method.
5385//    req, resp := client.GetGatewayResponseRequest(params)
5386//
5387//    err := req.Send()
5388//    if err == nil { // resp is now filled
5389//        fmt.Println(resp)
5390//    }
5391func (c *APIGateway) GetGatewayResponseRequest(input *GetGatewayResponseInput) (req *request.Request, output *UpdateGatewayResponseOutput) {
5392	op := &request.Operation{
5393		Name:       opGetGatewayResponse,
5394		HTTPMethod: "GET",
5395		HTTPPath:   "/restapis/{restapi_id}/gatewayresponses/{response_type}",
5396	}
5397
5398	if input == nil {
5399		input = &GetGatewayResponseInput{}
5400	}
5401
5402	output = &UpdateGatewayResponseOutput{}
5403	req = c.newRequest(op, input, output)
5404	return
5405}
5406
5407// GetGatewayResponse API operation for Amazon API Gateway.
5408//
5409// Gets a GatewayResponse of a specified response type on the given RestApi.
5410//
5411// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5412// with awserr.Error's Code and Message methods to get detailed information about
5413// the error.
5414//
5415// See the AWS API reference guide for Amazon API Gateway's
5416// API operation GetGatewayResponse for usage and error information.
5417//
5418// Returned Error Types:
5419//   * UnauthorizedException
5420//   The request is denied because the caller has insufficient permissions.
5421//
5422//   * NotFoundException
5423//   The requested resource is not found. Make sure that the request URI is correct.
5424//
5425//   * TooManyRequestsException
5426//   The request has reached its throttling limit. Retry after the specified time
5427//   period.
5428//
5429func (c *APIGateway) GetGatewayResponse(input *GetGatewayResponseInput) (*UpdateGatewayResponseOutput, error) {
5430	req, out := c.GetGatewayResponseRequest(input)
5431	return out, req.Send()
5432}
5433
5434// GetGatewayResponseWithContext is the same as GetGatewayResponse with the addition of
5435// the ability to pass a context and additional request options.
5436//
5437// See GetGatewayResponse for details on how to use this API operation.
5438//
5439// The context must be non-nil and will be used for request cancellation. If
5440// the context is nil a panic will occur. In the future the SDK may create
5441// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5442// for more information on using Contexts.
5443func (c *APIGateway) GetGatewayResponseWithContext(ctx aws.Context, input *GetGatewayResponseInput, opts ...request.Option) (*UpdateGatewayResponseOutput, error) {
5444	req, out := c.GetGatewayResponseRequest(input)
5445	req.SetContext(ctx)
5446	req.ApplyOptions(opts...)
5447	return out, req.Send()
5448}
5449
5450const opGetGatewayResponses = "GetGatewayResponses"
5451
5452// GetGatewayResponsesRequest generates a "aws/request.Request" representing the
5453// client's request for the GetGatewayResponses operation. The "output" return
5454// value will be populated with the request's response once the request completes
5455// successfully.
5456//
5457// Use "Send" method on the returned Request to send the API call to the service.
5458// the "output" return value is not valid until after Send returns without error.
5459//
5460// See GetGatewayResponses for more information on using the GetGatewayResponses
5461// API call, and error handling.
5462//
5463// This method is useful when you want to inject custom logic or configuration
5464// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5465//
5466//
5467//    // Example sending a request using the GetGatewayResponsesRequest method.
5468//    req, resp := client.GetGatewayResponsesRequest(params)
5469//
5470//    err := req.Send()
5471//    if err == nil { // resp is now filled
5472//        fmt.Println(resp)
5473//    }
5474func (c *APIGateway) GetGatewayResponsesRequest(input *GetGatewayResponsesInput) (req *request.Request, output *GetGatewayResponsesOutput) {
5475	op := &request.Operation{
5476		Name:       opGetGatewayResponses,
5477		HTTPMethod: "GET",
5478		HTTPPath:   "/restapis/{restapi_id}/gatewayresponses",
5479	}
5480
5481	if input == nil {
5482		input = &GetGatewayResponsesInput{}
5483	}
5484
5485	output = &GetGatewayResponsesOutput{}
5486	req = c.newRequest(op, input, output)
5487	return
5488}
5489
5490// GetGatewayResponses API operation for Amazon API Gateway.
5491//
5492// Gets the GatewayResponses collection on the given RestApi. If an API developer
5493// has not added any definitions for gateway responses, the result will be the
5494// API Gateway-generated default GatewayResponses collection for the supported
5495// response types.
5496//
5497// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5498// with awserr.Error's Code and Message methods to get detailed information about
5499// the error.
5500//
5501// See the AWS API reference guide for Amazon API Gateway's
5502// API operation GetGatewayResponses for usage and error information.
5503//
5504// Returned Error Types:
5505//   * BadRequestException
5506//   The submitted request is not valid, for example, the input is incomplete
5507//   or incorrect. See the accompanying error message for details.
5508//
5509//   * UnauthorizedException
5510//   The request is denied because the caller has insufficient permissions.
5511//
5512//   * NotFoundException
5513//   The requested resource is not found. Make sure that the request URI is correct.
5514//
5515//   * TooManyRequestsException
5516//   The request has reached its throttling limit. Retry after the specified time
5517//   period.
5518//
5519func (c *APIGateway) GetGatewayResponses(input *GetGatewayResponsesInput) (*GetGatewayResponsesOutput, error) {
5520	req, out := c.GetGatewayResponsesRequest(input)
5521	return out, req.Send()
5522}
5523
5524// GetGatewayResponsesWithContext is the same as GetGatewayResponses with the addition of
5525// the ability to pass a context and additional request options.
5526//
5527// See GetGatewayResponses for details on how to use this API operation.
5528//
5529// The context must be non-nil and will be used for request cancellation. If
5530// the context is nil a panic will occur. In the future the SDK may create
5531// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5532// for more information on using Contexts.
5533func (c *APIGateway) GetGatewayResponsesWithContext(ctx aws.Context, input *GetGatewayResponsesInput, opts ...request.Option) (*GetGatewayResponsesOutput, error) {
5534	req, out := c.GetGatewayResponsesRequest(input)
5535	req.SetContext(ctx)
5536	req.ApplyOptions(opts...)
5537	return out, req.Send()
5538}
5539
5540const opGetIntegration = "GetIntegration"
5541
5542// GetIntegrationRequest generates a "aws/request.Request" representing the
5543// client's request for the GetIntegration operation. The "output" return
5544// value will be populated with the request's response once the request completes
5545// successfully.
5546//
5547// Use "Send" method on the returned Request to send the API call to the service.
5548// the "output" return value is not valid until after Send returns without error.
5549//
5550// See GetIntegration for more information on using the GetIntegration
5551// API call, and error handling.
5552//
5553// This method is useful when you want to inject custom logic or configuration
5554// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5555//
5556//
5557//    // Example sending a request using the GetIntegrationRequest method.
5558//    req, resp := client.GetIntegrationRequest(params)
5559//
5560//    err := req.Send()
5561//    if err == nil { // resp is now filled
5562//        fmt.Println(resp)
5563//    }
5564func (c *APIGateway) GetIntegrationRequest(input *GetIntegrationInput) (req *request.Request, output *Integration) {
5565	op := &request.Operation{
5566		Name:       opGetIntegration,
5567		HTTPMethod: "GET",
5568		HTTPPath:   "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/integration",
5569	}
5570
5571	if input == nil {
5572		input = &GetIntegrationInput{}
5573	}
5574
5575	output = &Integration{}
5576	req = c.newRequest(op, input, output)
5577	return
5578}
5579
5580// GetIntegration API operation for Amazon API Gateway.
5581//
5582// Get the integration settings.
5583//
5584// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5585// with awserr.Error's Code and Message methods to get detailed information about
5586// the error.
5587//
5588// See the AWS API reference guide for Amazon API Gateway's
5589// API operation GetIntegration for usage and error information.
5590//
5591// Returned Error Types:
5592//   * UnauthorizedException
5593//   The request is denied because the caller has insufficient permissions.
5594//
5595//   * NotFoundException
5596//   The requested resource is not found. Make sure that the request URI is correct.
5597//
5598//   * TooManyRequestsException
5599//   The request has reached its throttling limit. Retry after the specified time
5600//   period.
5601//
5602func (c *APIGateway) GetIntegration(input *GetIntegrationInput) (*Integration, error) {
5603	req, out := c.GetIntegrationRequest(input)
5604	return out, req.Send()
5605}
5606
5607// GetIntegrationWithContext is the same as GetIntegration with the addition of
5608// the ability to pass a context and additional request options.
5609//
5610// See GetIntegration for details on how to use this API operation.
5611//
5612// The context must be non-nil and will be used for request cancellation. If
5613// the context is nil a panic will occur. In the future the SDK may create
5614// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5615// for more information on using Contexts.
5616func (c *APIGateway) GetIntegrationWithContext(ctx aws.Context, input *GetIntegrationInput, opts ...request.Option) (*Integration, error) {
5617	req, out := c.GetIntegrationRequest(input)
5618	req.SetContext(ctx)
5619	req.ApplyOptions(opts...)
5620	return out, req.Send()
5621}
5622
5623const opGetIntegrationResponse = "GetIntegrationResponse"
5624
5625// GetIntegrationResponseRequest generates a "aws/request.Request" representing the
5626// client's request for the GetIntegrationResponse operation. The "output" return
5627// value will be populated with the request's response once the request completes
5628// successfully.
5629//
5630// Use "Send" method on the returned Request to send the API call to the service.
5631// the "output" return value is not valid until after Send returns without error.
5632//
5633// See GetIntegrationResponse for more information on using the GetIntegrationResponse
5634// API call, and error handling.
5635//
5636// This method is useful when you want to inject custom logic or configuration
5637// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5638//
5639//
5640//    // Example sending a request using the GetIntegrationResponseRequest method.
5641//    req, resp := client.GetIntegrationResponseRequest(params)
5642//
5643//    err := req.Send()
5644//    if err == nil { // resp is now filled
5645//        fmt.Println(resp)
5646//    }
5647func (c *APIGateway) GetIntegrationResponseRequest(input *GetIntegrationResponseInput) (req *request.Request, output *IntegrationResponse) {
5648	op := &request.Operation{
5649		Name:       opGetIntegrationResponse,
5650		HTTPMethod: "GET",
5651		HTTPPath:   "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/integration/responses/{status_code}",
5652	}
5653
5654	if input == nil {
5655		input = &GetIntegrationResponseInput{}
5656	}
5657
5658	output = &IntegrationResponse{}
5659	req = c.newRequest(op, input, output)
5660	return
5661}
5662
5663// GetIntegrationResponse API operation for Amazon API Gateway.
5664//
5665// Represents a get integration response.
5666//
5667// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5668// with awserr.Error's Code and Message methods to get detailed information about
5669// the error.
5670//
5671// See the AWS API reference guide for Amazon API Gateway's
5672// API operation GetIntegrationResponse for usage and error information.
5673//
5674// Returned Error Types:
5675//   * UnauthorizedException
5676//   The request is denied because the caller has insufficient permissions.
5677//
5678//   * NotFoundException
5679//   The requested resource is not found. Make sure that the request URI is correct.
5680//
5681//   * TooManyRequestsException
5682//   The request has reached its throttling limit. Retry after the specified time
5683//   period.
5684//
5685func (c *APIGateway) GetIntegrationResponse(input *GetIntegrationResponseInput) (*IntegrationResponse, error) {
5686	req, out := c.GetIntegrationResponseRequest(input)
5687	return out, req.Send()
5688}
5689
5690// GetIntegrationResponseWithContext is the same as GetIntegrationResponse with the addition of
5691// the ability to pass a context and additional request options.
5692//
5693// See GetIntegrationResponse for details on how to use this API operation.
5694//
5695// The context must be non-nil and will be used for request cancellation. If
5696// the context is nil a panic will occur. In the future the SDK may create
5697// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5698// for more information on using Contexts.
5699func (c *APIGateway) GetIntegrationResponseWithContext(ctx aws.Context, input *GetIntegrationResponseInput, opts ...request.Option) (*IntegrationResponse, error) {
5700	req, out := c.GetIntegrationResponseRequest(input)
5701	req.SetContext(ctx)
5702	req.ApplyOptions(opts...)
5703	return out, req.Send()
5704}
5705
5706const opGetMethod = "GetMethod"
5707
5708// GetMethodRequest generates a "aws/request.Request" representing the
5709// client's request for the GetMethod operation. The "output" return
5710// value will be populated with the request's response once the request completes
5711// successfully.
5712//
5713// Use "Send" method on the returned Request to send the API call to the service.
5714// the "output" return value is not valid until after Send returns without error.
5715//
5716// See GetMethod for more information on using the GetMethod
5717// API call, and error handling.
5718//
5719// This method is useful when you want to inject custom logic or configuration
5720// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5721//
5722//
5723//    // Example sending a request using the GetMethodRequest method.
5724//    req, resp := client.GetMethodRequest(params)
5725//
5726//    err := req.Send()
5727//    if err == nil { // resp is now filled
5728//        fmt.Println(resp)
5729//    }
5730func (c *APIGateway) GetMethodRequest(input *GetMethodInput) (req *request.Request, output *Method) {
5731	op := &request.Operation{
5732		Name:       opGetMethod,
5733		HTTPMethod: "GET",
5734		HTTPPath:   "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}",
5735	}
5736
5737	if input == nil {
5738		input = &GetMethodInput{}
5739	}
5740
5741	output = &Method{}
5742	req = c.newRequest(op, input, output)
5743	return
5744}
5745
5746// GetMethod API operation for Amazon API Gateway.
5747//
5748// Describe an existing Method resource.
5749//
5750// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5751// with awserr.Error's Code and Message methods to get detailed information about
5752// the error.
5753//
5754// See the AWS API reference guide for Amazon API Gateway's
5755// API operation GetMethod for usage and error information.
5756//
5757// Returned Error Types:
5758//   * UnauthorizedException
5759//   The request is denied because the caller has insufficient permissions.
5760//
5761//   * NotFoundException
5762//   The requested resource is not found. Make sure that the request URI is correct.
5763//
5764//   * TooManyRequestsException
5765//   The request has reached its throttling limit. Retry after the specified time
5766//   period.
5767//
5768func (c *APIGateway) GetMethod(input *GetMethodInput) (*Method, error) {
5769	req, out := c.GetMethodRequest(input)
5770	return out, req.Send()
5771}
5772
5773// GetMethodWithContext is the same as GetMethod with the addition of
5774// the ability to pass a context and additional request options.
5775//
5776// See GetMethod for details on how to use this API operation.
5777//
5778// The context must be non-nil and will be used for request cancellation. If
5779// the context is nil a panic will occur. In the future the SDK may create
5780// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5781// for more information on using Contexts.
5782func (c *APIGateway) GetMethodWithContext(ctx aws.Context, input *GetMethodInput, opts ...request.Option) (*Method, error) {
5783	req, out := c.GetMethodRequest(input)
5784	req.SetContext(ctx)
5785	req.ApplyOptions(opts...)
5786	return out, req.Send()
5787}
5788
5789const opGetMethodResponse = "GetMethodResponse"
5790
5791// GetMethodResponseRequest generates a "aws/request.Request" representing the
5792// client's request for the GetMethodResponse operation. The "output" return
5793// value will be populated with the request's response once the request completes
5794// successfully.
5795//
5796// Use "Send" method on the returned Request to send the API call to the service.
5797// the "output" return value is not valid until after Send returns without error.
5798//
5799// See GetMethodResponse for more information on using the GetMethodResponse
5800// API call, and error handling.
5801//
5802// This method is useful when you want to inject custom logic or configuration
5803// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5804//
5805//
5806//    // Example sending a request using the GetMethodResponseRequest method.
5807//    req, resp := client.GetMethodResponseRequest(params)
5808//
5809//    err := req.Send()
5810//    if err == nil { // resp is now filled
5811//        fmt.Println(resp)
5812//    }
5813func (c *APIGateway) GetMethodResponseRequest(input *GetMethodResponseInput) (req *request.Request, output *MethodResponse) {
5814	op := &request.Operation{
5815		Name:       opGetMethodResponse,
5816		HTTPMethod: "GET",
5817		HTTPPath:   "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/responses/{status_code}",
5818	}
5819
5820	if input == nil {
5821		input = &GetMethodResponseInput{}
5822	}
5823
5824	output = &MethodResponse{}
5825	req = c.newRequest(op, input, output)
5826	return
5827}
5828
5829// GetMethodResponse API operation for Amazon API Gateway.
5830//
5831// Describes a MethodResponse resource.
5832//
5833// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5834// with awserr.Error's Code and Message methods to get detailed information about
5835// the error.
5836//
5837// See the AWS API reference guide for Amazon API Gateway's
5838// API operation GetMethodResponse for usage and error information.
5839//
5840// Returned Error Types:
5841//   * UnauthorizedException
5842//   The request is denied because the caller has insufficient permissions.
5843//
5844//   * NotFoundException
5845//   The requested resource is not found. Make sure that the request URI is correct.
5846//
5847//   * TooManyRequestsException
5848//   The request has reached its throttling limit. Retry after the specified time
5849//   period.
5850//
5851func (c *APIGateway) GetMethodResponse(input *GetMethodResponseInput) (*MethodResponse, error) {
5852	req, out := c.GetMethodResponseRequest(input)
5853	return out, req.Send()
5854}
5855
5856// GetMethodResponseWithContext is the same as GetMethodResponse with the addition of
5857// the ability to pass a context and additional request options.
5858//
5859// See GetMethodResponse for details on how to use this API operation.
5860//
5861// The context must be non-nil and will be used for request cancellation. If
5862// the context is nil a panic will occur. In the future the SDK may create
5863// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5864// for more information on using Contexts.
5865func (c *APIGateway) GetMethodResponseWithContext(ctx aws.Context, input *GetMethodResponseInput, opts ...request.Option) (*MethodResponse, error) {
5866	req, out := c.GetMethodResponseRequest(input)
5867	req.SetContext(ctx)
5868	req.ApplyOptions(opts...)
5869	return out, req.Send()
5870}
5871
5872const opGetModel = "GetModel"
5873
5874// GetModelRequest generates a "aws/request.Request" representing the
5875// client's request for the GetModel operation. The "output" return
5876// value will be populated with the request's response once the request completes
5877// successfully.
5878//
5879// Use "Send" method on the returned Request to send the API call to the service.
5880// the "output" return value is not valid until after Send returns without error.
5881//
5882// See GetModel for more information on using the GetModel
5883// API call, and error handling.
5884//
5885// This method is useful when you want to inject custom logic or configuration
5886// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5887//
5888//
5889//    // Example sending a request using the GetModelRequest method.
5890//    req, resp := client.GetModelRequest(params)
5891//
5892//    err := req.Send()
5893//    if err == nil { // resp is now filled
5894//        fmt.Println(resp)
5895//    }
5896func (c *APIGateway) GetModelRequest(input *GetModelInput) (req *request.Request, output *Model) {
5897	op := &request.Operation{
5898		Name:       opGetModel,
5899		HTTPMethod: "GET",
5900		HTTPPath:   "/restapis/{restapi_id}/models/{model_name}",
5901	}
5902
5903	if input == nil {
5904		input = &GetModelInput{}
5905	}
5906
5907	output = &Model{}
5908	req = c.newRequest(op, input, output)
5909	return
5910}
5911
5912// GetModel API operation for Amazon API Gateway.
5913//
5914// Describes an existing model defined for a RestApi resource.
5915//
5916// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5917// with awserr.Error's Code and Message methods to get detailed information about
5918// the error.
5919//
5920// See the AWS API reference guide for Amazon API Gateway's
5921// API operation GetModel for usage and error information.
5922//
5923// Returned Error Types:
5924//   * UnauthorizedException
5925//   The request is denied because the caller has insufficient permissions.
5926//
5927//   * NotFoundException
5928//   The requested resource is not found. Make sure that the request URI is correct.
5929//
5930//   * TooManyRequestsException
5931//   The request has reached its throttling limit. Retry after the specified time
5932//   period.
5933//
5934func (c *APIGateway) GetModel(input *GetModelInput) (*Model, error) {
5935	req, out := c.GetModelRequest(input)
5936	return out, req.Send()
5937}
5938
5939// GetModelWithContext is the same as GetModel with the addition of
5940// the ability to pass a context and additional request options.
5941//
5942// See GetModel for details on how to use this API operation.
5943//
5944// The context must be non-nil and will be used for request cancellation. If
5945// the context is nil a panic will occur. In the future the SDK may create
5946// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5947// for more information on using Contexts.
5948func (c *APIGateway) GetModelWithContext(ctx aws.Context, input *GetModelInput, opts ...request.Option) (*Model, error) {
5949	req, out := c.GetModelRequest(input)
5950	req.SetContext(ctx)
5951	req.ApplyOptions(opts...)
5952	return out, req.Send()
5953}
5954
5955const opGetModelTemplate = "GetModelTemplate"
5956
5957// GetModelTemplateRequest generates a "aws/request.Request" representing the
5958// client's request for the GetModelTemplate operation. The "output" return
5959// value will be populated with the request's response once the request completes
5960// successfully.
5961//
5962// Use "Send" method on the returned Request to send the API call to the service.
5963// the "output" return value is not valid until after Send returns without error.
5964//
5965// See GetModelTemplate for more information on using the GetModelTemplate
5966// API call, and error handling.
5967//
5968// This method is useful when you want to inject custom logic or configuration
5969// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5970//
5971//
5972//    // Example sending a request using the GetModelTemplateRequest method.
5973//    req, resp := client.GetModelTemplateRequest(params)
5974//
5975//    err := req.Send()
5976//    if err == nil { // resp is now filled
5977//        fmt.Println(resp)
5978//    }
5979func (c *APIGateway) GetModelTemplateRequest(input *GetModelTemplateInput) (req *request.Request, output *GetModelTemplateOutput) {
5980	op := &request.Operation{
5981		Name:       opGetModelTemplate,
5982		HTTPMethod: "GET",
5983		HTTPPath:   "/restapis/{restapi_id}/models/{model_name}/default_template",
5984	}
5985
5986	if input == nil {
5987		input = &GetModelTemplateInput{}
5988	}
5989
5990	output = &GetModelTemplateOutput{}
5991	req = c.newRequest(op, input, output)
5992	return
5993}
5994
5995// GetModelTemplate API operation for Amazon API Gateway.
5996//
5997// Generates a sample mapping template that can be used to transform a payload
5998// into the structure of a model.
5999//
6000// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6001// with awserr.Error's Code and Message methods to get detailed information about
6002// the error.
6003//
6004// See the AWS API reference guide for Amazon API Gateway's
6005// API operation GetModelTemplate for usage and error information.
6006//
6007// Returned Error Types:
6008//   * UnauthorizedException
6009//   The request is denied because the caller has insufficient permissions.
6010//
6011//   * NotFoundException
6012//   The requested resource is not found. Make sure that the request URI is correct.
6013//
6014//   * BadRequestException
6015//   The submitted request is not valid, for example, the input is incomplete
6016//   or incorrect. See the accompanying error message for details.
6017//
6018//   * TooManyRequestsException
6019//   The request has reached its throttling limit. Retry after the specified time
6020//   period.
6021//
6022func (c *APIGateway) GetModelTemplate(input *GetModelTemplateInput) (*GetModelTemplateOutput, error) {
6023	req, out := c.GetModelTemplateRequest(input)
6024	return out, req.Send()
6025}
6026
6027// GetModelTemplateWithContext is the same as GetModelTemplate with the addition of
6028// the ability to pass a context and additional request options.
6029//
6030// See GetModelTemplate for details on how to use this API operation.
6031//
6032// The context must be non-nil and will be used for request cancellation. If
6033// the context is nil a panic will occur. In the future the SDK may create
6034// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6035// for more information on using Contexts.
6036func (c *APIGateway) GetModelTemplateWithContext(ctx aws.Context, input *GetModelTemplateInput, opts ...request.Option) (*GetModelTemplateOutput, error) {
6037	req, out := c.GetModelTemplateRequest(input)
6038	req.SetContext(ctx)
6039	req.ApplyOptions(opts...)
6040	return out, req.Send()
6041}
6042
6043const opGetModels = "GetModels"
6044
6045// GetModelsRequest generates a "aws/request.Request" representing the
6046// client's request for the GetModels operation. The "output" return
6047// value will be populated with the request's response once the request completes
6048// successfully.
6049//
6050// Use "Send" method on the returned Request to send the API call to the service.
6051// the "output" return value is not valid until after Send returns without error.
6052//
6053// See GetModels for more information on using the GetModels
6054// API call, and error handling.
6055//
6056// This method is useful when you want to inject custom logic or configuration
6057// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6058//
6059//
6060//    // Example sending a request using the GetModelsRequest method.
6061//    req, resp := client.GetModelsRequest(params)
6062//
6063//    err := req.Send()
6064//    if err == nil { // resp is now filled
6065//        fmt.Println(resp)
6066//    }
6067func (c *APIGateway) GetModelsRequest(input *GetModelsInput) (req *request.Request, output *GetModelsOutput) {
6068	op := &request.Operation{
6069		Name:       opGetModels,
6070		HTTPMethod: "GET",
6071		HTTPPath:   "/restapis/{restapi_id}/models",
6072		Paginator: &request.Paginator{
6073			InputTokens:     []string{"position"},
6074			OutputTokens:    []string{"position"},
6075			LimitToken:      "limit",
6076			TruncationToken: "",
6077		},
6078	}
6079
6080	if input == nil {
6081		input = &GetModelsInput{}
6082	}
6083
6084	output = &GetModelsOutput{}
6085	req = c.newRequest(op, input, output)
6086	return
6087}
6088
6089// GetModels API operation for Amazon API Gateway.
6090//
6091// Describes existing Models defined for a RestApi resource.
6092//
6093// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6094// with awserr.Error's Code and Message methods to get detailed information about
6095// the error.
6096//
6097// See the AWS API reference guide for Amazon API Gateway's
6098// API operation GetModels for usage and error information.
6099//
6100// Returned Error Types:
6101//   * BadRequestException
6102//   The submitted request is not valid, for example, the input is incomplete
6103//   or incorrect. See the accompanying error message for details.
6104//
6105//   * UnauthorizedException
6106//   The request is denied because the caller has insufficient permissions.
6107//
6108//   * NotFoundException
6109//   The requested resource is not found. Make sure that the request URI is correct.
6110//
6111//   * TooManyRequestsException
6112//   The request has reached its throttling limit. Retry after the specified time
6113//   period.
6114//
6115func (c *APIGateway) GetModels(input *GetModelsInput) (*GetModelsOutput, error) {
6116	req, out := c.GetModelsRequest(input)
6117	return out, req.Send()
6118}
6119
6120// GetModelsWithContext is the same as GetModels with the addition of
6121// the ability to pass a context and additional request options.
6122//
6123// See GetModels for details on how to use this API operation.
6124//
6125// The context must be non-nil and will be used for request cancellation. If
6126// the context is nil a panic will occur. In the future the SDK may create
6127// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6128// for more information on using Contexts.
6129func (c *APIGateway) GetModelsWithContext(ctx aws.Context, input *GetModelsInput, opts ...request.Option) (*GetModelsOutput, error) {
6130	req, out := c.GetModelsRequest(input)
6131	req.SetContext(ctx)
6132	req.ApplyOptions(opts...)
6133	return out, req.Send()
6134}
6135
6136// GetModelsPages iterates over the pages of a GetModels operation,
6137// calling the "fn" function with the response data for each page. To stop
6138// iterating, return false from the fn function.
6139//
6140// See GetModels method for more information on how to use this operation.
6141//
6142// Note: This operation can generate multiple requests to a service.
6143//
6144//    // Example iterating over at most 3 pages of a GetModels operation.
6145//    pageNum := 0
6146//    err := client.GetModelsPages(params,
6147//        func(page *apigateway.GetModelsOutput, lastPage bool) bool {
6148//            pageNum++
6149//            fmt.Println(page)
6150//            return pageNum <= 3
6151//        })
6152//
6153func (c *APIGateway) GetModelsPages(input *GetModelsInput, fn func(*GetModelsOutput, bool) bool) error {
6154	return c.GetModelsPagesWithContext(aws.BackgroundContext(), input, fn)
6155}
6156
6157// GetModelsPagesWithContext same as GetModelsPages except
6158// it takes a Context and allows setting request options on the pages.
6159//
6160// The context must be non-nil and will be used for request cancellation. If
6161// the context is nil a panic will occur. In the future the SDK may create
6162// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6163// for more information on using Contexts.
6164func (c *APIGateway) GetModelsPagesWithContext(ctx aws.Context, input *GetModelsInput, fn func(*GetModelsOutput, bool) bool, opts ...request.Option) error {
6165	p := request.Pagination{
6166		NewRequest: func() (*request.Request, error) {
6167			var inCpy *GetModelsInput
6168			if input != nil {
6169				tmp := *input
6170				inCpy = &tmp
6171			}
6172			req, _ := c.GetModelsRequest(inCpy)
6173			req.SetContext(ctx)
6174			req.ApplyOptions(opts...)
6175			return req, nil
6176		},
6177	}
6178
6179	for p.Next() {
6180		if !fn(p.Page().(*GetModelsOutput), !p.HasNextPage()) {
6181			break
6182		}
6183	}
6184
6185	return p.Err()
6186}
6187
6188const opGetRequestValidator = "GetRequestValidator"
6189
6190// GetRequestValidatorRequest generates a "aws/request.Request" representing the
6191// client's request for the GetRequestValidator operation. The "output" return
6192// value will be populated with the request's response once the request completes
6193// successfully.
6194//
6195// Use "Send" method on the returned Request to send the API call to the service.
6196// the "output" return value is not valid until after Send returns without error.
6197//
6198// See GetRequestValidator for more information on using the GetRequestValidator
6199// API call, and error handling.
6200//
6201// This method is useful when you want to inject custom logic or configuration
6202// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6203//
6204//
6205//    // Example sending a request using the GetRequestValidatorRequest method.
6206//    req, resp := client.GetRequestValidatorRequest(params)
6207//
6208//    err := req.Send()
6209//    if err == nil { // resp is now filled
6210//        fmt.Println(resp)
6211//    }
6212func (c *APIGateway) GetRequestValidatorRequest(input *GetRequestValidatorInput) (req *request.Request, output *UpdateRequestValidatorOutput) {
6213	op := &request.Operation{
6214		Name:       opGetRequestValidator,
6215		HTTPMethod: "GET",
6216		HTTPPath:   "/restapis/{restapi_id}/requestvalidators/{requestvalidator_id}",
6217	}
6218
6219	if input == nil {
6220		input = &GetRequestValidatorInput{}
6221	}
6222
6223	output = &UpdateRequestValidatorOutput{}
6224	req = c.newRequest(op, input, output)
6225	return
6226}
6227
6228// GetRequestValidator API operation for Amazon API Gateway.
6229//
6230// Gets a RequestValidator of a given RestApi.
6231//
6232// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6233// with awserr.Error's Code and Message methods to get detailed information about
6234// the error.
6235//
6236// See the AWS API reference guide for Amazon API Gateway's
6237// API operation GetRequestValidator for usage and error information.
6238//
6239// Returned Error Types:
6240//   * UnauthorizedException
6241//   The request is denied because the caller has insufficient permissions.
6242//
6243//   * NotFoundException
6244//   The requested resource is not found. Make sure that the request URI is correct.
6245//
6246//   * TooManyRequestsException
6247//   The request has reached its throttling limit. Retry after the specified time
6248//   period.
6249//
6250func (c *APIGateway) GetRequestValidator(input *GetRequestValidatorInput) (*UpdateRequestValidatorOutput, error) {
6251	req, out := c.GetRequestValidatorRequest(input)
6252	return out, req.Send()
6253}
6254
6255// GetRequestValidatorWithContext is the same as GetRequestValidator with the addition of
6256// the ability to pass a context and additional request options.
6257//
6258// See GetRequestValidator for details on how to use this API operation.
6259//
6260// The context must be non-nil and will be used for request cancellation. If
6261// the context is nil a panic will occur. In the future the SDK may create
6262// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6263// for more information on using Contexts.
6264func (c *APIGateway) GetRequestValidatorWithContext(ctx aws.Context, input *GetRequestValidatorInput, opts ...request.Option) (*UpdateRequestValidatorOutput, error) {
6265	req, out := c.GetRequestValidatorRequest(input)
6266	req.SetContext(ctx)
6267	req.ApplyOptions(opts...)
6268	return out, req.Send()
6269}
6270
6271const opGetRequestValidators = "GetRequestValidators"
6272
6273// GetRequestValidatorsRequest generates a "aws/request.Request" representing the
6274// client's request for the GetRequestValidators operation. The "output" return
6275// value will be populated with the request's response once the request completes
6276// successfully.
6277//
6278// Use "Send" method on the returned Request to send the API call to the service.
6279// the "output" return value is not valid until after Send returns without error.
6280//
6281// See GetRequestValidators for more information on using the GetRequestValidators
6282// API call, and error handling.
6283//
6284// This method is useful when you want to inject custom logic or configuration
6285// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6286//
6287//
6288//    // Example sending a request using the GetRequestValidatorsRequest method.
6289//    req, resp := client.GetRequestValidatorsRequest(params)
6290//
6291//    err := req.Send()
6292//    if err == nil { // resp is now filled
6293//        fmt.Println(resp)
6294//    }
6295func (c *APIGateway) GetRequestValidatorsRequest(input *GetRequestValidatorsInput) (req *request.Request, output *GetRequestValidatorsOutput) {
6296	op := &request.Operation{
6297		Name:       opGetRequestValidators,
6298		HTTPMethod: "GET",
6299		HTTPPath:   "/restapis/{restapi_id}/requestvalidators",
6300	}
6301
6302	if input == nil {
6303		input = &GetRequestValidatorsInput{}
6304	}
6305
6306	output = &GetRequestValidatorsOutput{}
6307	req = c.newRequest(op, input, output)
6308	return
6309}
6310
6311// GetRequestValidators API operation for Amazon API Gateway.
6312//
6313// Gets the RequestValidators collection of a given RestApi.
6314//
6315// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6316// with awserr.Error's Code and Message methods to get detailed information about
6317// the error.
6318//
6319// See the AWS API reference guide for Amazon API Gateway's
6320// API operation GetRequestValidators for usage and error information.
6321//
6322// Returned Error Types:
6323//   * BadRequestException
6324//   The submitted request is not valid, for example, the input is incomplete
6325//   or incorrect. See the accompanying error message for details.
6326//
6327//   * UnauthorizedException
6328//   The request is denied because the caller has insufficient permissions.
6329//
6330//   * NotFoundException
6331//   The requested resource is not found. Make sure that the request URI is correct.
6332//
6333//   * TooManyRequestsException
6334//   The request has reached its throttling limit. Retry after the specified time
6335//   period.
6336//
6337func (c *APIGateway) GetRequestValidators(input *GetRequestValidatorsInput) (*GetRequestValidatorsOutput, error) {
6338	req, out := c.GetRequestValidatorsRequest(input)
6339	return out, req.Send()
6340}
6341
6342// GetRequestValidatorsWithContext is the same as GetRequestValidators with the addition of
6343// the ability to pass a context and additional request options.
6344//
6345// See GetRequestValidators for details on how to use this API operation.
6346//
6347// The context must be non-nil and will be used for request cancellation. If
6348// the context is nil a panic will occur. In the future the SDK may create
6349// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6350// for more information on using Contexts.
6351func (c *APIGateway) GetRequestValidatorsWithContext(ctx aws.Context, input *GetRequestValidatorsInput, opts ...request.Option) (*GetRequestValidatorsOutput, error) {
6352	req, out := c.GetRequestValidatorsRequest(input)
6353	req.SetContext(ctx)
6354	req.ApplyOptions(opts...)
6355	return out, req.Send()
6356}
6357
6358const opGetResource = "GetResource"
6359
6360// GetResourceRequest generates a "aws/request.Request" representing the
6361// client's request for the GetResource operation. The "output" return
6362// value will be populated with the request's response once the request completes
6363// successfully.
6364//
6365// Use "Send" method on the returned Request to send the API call to the service.
6366// the "output" return value is not valid until after Send returns without error.
6367//
6368// See GetResource for more information on using the GetResource
6369// API call, and error handling.
6370//
6371// This method is useful when you want to inject custom logic or configuration
6372// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6373//
6374//
6375//    // Example sending a request using the GetResourceRequest method.
6376//    req, resp := client.GetResourceRequest(params)
6377//
6378//    err := req.Send()
6379//    if err == nil { // resp is now filled
6380//        fmt.Println(resp)
6381//    }
6382func (c *APIGateway) GetResourceRequest(input *GetResourceInput) (req *request.Request, output *Resource) {
6383	op := &request.Operation{
6384		Name:       opGetResource,
6385		HTTPMethod: "GET",
6386		HTTPPath:   "/restapis/{restapi_id}/resources/{resource_id}",
6387	}
6388
6389	if input == nil {
6390		input = &GetResourceInput{}
6391	}
6392
6393	output = &Resource{}
6394	req = c.newRequest(op, input, output)
6395	return
6396}
6397
6398// GetResource API operation for Amazon API Gateway.
6399//
6400// Lists information about a resource.
6401//
6402// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6403// with awserr.Error's Code and Message methods to get detailed information about
6404// the error.
6405//
6406// See the AWS API reference guide for Amazon API Gateway's
6407// API operation GetResource for usage and error information.
6408//
6409// Returned Error Types:
6410//   * UnauthorizedException
6411//   The request is denied because the caller has insufficient permissions.
6412//
6413//   * NotFoundException
6414//   The requested resource is not found. Make sure that the request URI is correct.
6415//
6416//   * TooManyRequestsException
6417//   The request has reached its throttling limit. Retry after the specified time
6418//   period.
6419//
6420func (c *APIGateway) GetResource(input *GetResourceInput) (*Resource, error) {
6421	req, out := c.GetResourceRequest(input)
6422	return out, req.Send()
6423}
6424
6425// GetResourceWithContext is the same as GetResource with the addition of
6426// the ability to pass a context and additional request options.
6427//
6428// See GetResource for details on how to use this API operation.
6429//
6430// The context must be non-nil and will be used for request cancellation. If
6431// the context is nil a panic will occur. In the future the SDK may create
6432// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6433// for more information on using Contexts.
6434func (c *APIGateway) GetResourceWithContext(ctx aws.Context, input *GetResourceInput, opts ...request.Option) (*Resource, error) {
6435	req, out := c.GetResourceRequest(input)
6436	req.SetContext(ctx)
6437	req.ApplyOptions(opts...)
6438	return out, req.Send()
6439}
6440
6441const opGetResources = "GetResources"
6442
6443// GetResourcesRequest generates a "aws/request.Request" representing the
6444// client's request for the GetResources operation. The "output" return
6445// value will be populated with the request's response once the request completes
6446// successfully.
6447//
6448// Use "Send" method on the returned Request to send the API call to the service.
6449// the "output" return value is not valid until after Send returns without error.
6450//
6451// See GetResources for more information on using the GetResources
6452// API call, and error handling.
6453//
6454// This method is useful when you want to inject custom logic or configuration
6455// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6456//
6457//
6458//    // Example sending a request using the GetResourcesRequest method.
6459//    req, resp := client.GetResourcesRequest(params)
6460//
6461//    err := req.Send()
6462//    if err == nil { // resp is now filled
6463//        fmt.Println(resp)
6464//    }
6465func (c *APIGateway) GetResourcesRequest(input *GetResourcesInput) (req *request.Request, output *GetResourcesOutput) {
6466	op := &request.Operation{
6467		Name:       opGetResources,
6468		HTTPMethod: "GET",
6469		HTTPPath:   "/restapis/{restapi_id}/resources",
6470		Paginator: &request.Paginator{
6471			InputTokens:     []string{"position"},
6472			OutputTokens:    []string{"position"},
6473			LimitToken:      "limit",
6474			TruncationToken: "",
6475		},
6476	}
6477
6478	if input == nil {
6479		input = &GetResourcesInput{}
6480	}
6481
6482	output = &GetResourcesOutput{}
6483	req = c.newRequest(op, input, output)
6484	return
6485}
6486
6487// GetResources API operation for Amazon API Gateway.
6488//
6489// Lists information about a collection of Resource resources.
6490//
6491// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6492// with awserr.Error's Code and Message methods to get detailed information about
6493// the error.
6494//
6495// See the AWS API reference guide for Amazon API Gateway's
6496// API operation GetResources for usage and error information.
6497//
6498// Returned Error Types:
6499//   * BadRequestException
6500//   The submitted request is not valid, for example, the input is incomplete
6501//   or incorrect. See the accompanying error message for details.
6502//
6503//   * UnauthorizedException
6504//   The request is denied because the caller has insufficient permissions.
6505//
6506//   * NotFoundException
6507//   The requested resource is not found. Make sure that the request URI is correct.
6508//
6509//   * TooManyRequestsException
6510//   The request has reached its throttling limit. Retry after the specified time
6511//   period.
6512//
6513func (c *APIGateway) GetResources(input *GetResourcesInput) (*GetResourcesOutput, error) {
6514	req, out := c.GetResourcesRequest(input)
6515	return out, req.Send()
6516}
6517
6518// GetResourcesWithContext is the same as GetResources with the addition of
6519// the ability to pass a context and additional request options.
6520//
6521// See GetResources for details on how to use this API operation.
6522//
6523// The context must be non-nil and will be used for request cancellation. If
6524// the context is nil a panic will occur. In the future the SDK may create
6525// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6526// for more information on using Contexts.
6527func (c *APIGateway) GetResourcesWithContext(ctx aws.Context, input *GetResourcesInput, opts ...request.Option) (*GetResourcesOutput, error) {
6528	req, out := c.GetResourcesRequest(input)
6529	req.SetContext(ctx)
6530	req.ApplyOptions(opts...)
6531	return out, req.Send()
6532}
6533
6534// GetResourcesPages iterates over the pages of a GetResources operation,
6535// calling the "fn" function with the response data for each page. To stop
6536// iterating, return false from the fn function.
6537//
6538// See GetResources method for more information on how to use this operation.
6539//
6540// Note: This operation can generate multiple requests to a service.
6541//
6542//    // Example iterating over at most 3 pages of a GetResources operation.
6543//    pageNum := 0
6544//    err := client.GetResourcesPages(params,
6545//        func(page *apigateway.GetResourcesOutput, lastPage bool) bool {
6546//            pageNum++
6547//            fmt.Println(page)
6548//            return pageNum <= 3
6549//        })
6550//
6551func (c *APIGateway) GetResourcesPages(input *GetResourcesInput, fn func(*GetResourcesOutput, bool) bool) error {
6552	return c.GetResourcesPagesWithContext(aws.BackgroundContext(), input, fn)
6553}
6554
6555// GetResourcesPagesWithContext same as GetResourcesPages except
6556// it takes a Context and allows setting request options on the pages.
6557//
6558// The context must be non-nil and will be used for request cancellation. If
6559// the context is nil a panic will occur. In the future the SDK may create
6560// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6561// for more information on using Contexts.
6562func (c *APIGateway) GetResourcesPagesWithContext(ctx aws.Context, input *GetResourcesInput, fn func(*GetResourcesOutput, bool) bool, opts ...request.Option) error {
6563	p := request.Pagination{
6564		NewRequest: func() (*request.Request, error) {
6565			var inCpy *GetResourcesInput
6566			if input != nil {
6567				tmp := *input
6568				inCpy = &tmp
6569			}
6570			req, _ := c.GetResourcesRequest(inCpy)
6571			req.SetContext(ctx)
6572			req.ApplyOptions(opts...)
6573			return req, nil
6574		},
6575	}
6576
6577	for p.Next() {
6578		if !fn(p.Page().(*GetResourcesOutput), !p.HasNextPage()) {
6579			break
6580		}
6581	}
6582
6583	return p.Err()
6584}
6585
6586const opGetRestApi = "GetRestApi"
6587
6588// GetRestApiRequest generates a "aws/request.Request" representing the
6589// client's request for the GetRestApi operation. The "output" return
6590// value will be populated with the request's response once the request completes
6591// successfully.
6592//
6593// Use "Send" method on the returned Request to send the API call to the service.
6594// the "output" return value is not valid until after Send returns without error.
6595//
6596// See GetRestApi for more information on using the GetRestApi
6597// API call, and error handling.
6598//
6599// This method is useful when you want to inject custom logic or configuration
6600// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6601//
6602//
6603//    // Example sending a request using the GetRestApiRequest method.
6604//    req, resp := client.GetRestApiRequest(params)
6605//
6606//    err := req.Send()
6607//    if err == nil { // resp is now filled
6608//        fmt.Println(resp)
6609//    }
6610func (c *APIGateway) GetRestApiRequest(input *GetRestApiInput) (req *request.Request, output *RestApi) {
6611	op := &request.Operation{
6612		Name:       opGetRestApi,
6613		HTTPMethod: "GET",
6614		HTTPPath:   "/restapis/{restapi_id}",
6615	}
6616
6617	if input == nil {
6618		input = &GetRestApiInput{}
6619	}
6620
6621	output = &RestApi{}
6622	req = c.newRequest(op, input, output)
6623	return
6624}
6625
6626// GetRestApi API operation for Amazon API Gateway.
6627//
6628// Lists the RestApi resource in the collection.
6629//
6630// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6631// with awserr.Error's Code and Message methods to get detailed information about
6632// the error.
6633//
6634// See the AWS API reference guide for Amazon API Gateway's
6635// API operation GetRestApi for usage and error information.
6636//
6637// Returned Error Types:
6638//   * UnauthorizedException
6639//   The request is denied because the caller has insufficient permissions.
6640//
6641//   * NotFoundException
6642//   The requested resource is not found. Make sure that the request URI is correct.
6643//
6644//   * TooManyRequestsException
6645//   The request has reached its throttling limit. Retry after the specified time
6646//   period.
6647//
6648func (c *APIGateway) GetRestApi(input *GetRestApiInput) (*RestApi, error) {
6649	req, out := c.GetRestApiRequest(input)
6650	return out, req.Send()
6651}
6652
6653// GetRestApiWithContext is the same as GetRestApi with the addition of
6654// the ability to pass a context and additional request options.
6655//
6656// See GetRestApi for details on how to use this API operation.
6657//
6658// The context must be non-nil and will be used for request cancellation. If
6659// the context is nil a panic will occur. In the future the SDK may create
6660// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6661// for more information on using Contexts.
6662func (c *APIGateway) GetRestApiWithContext(ctx aws.Context, input *GetRestApiInput, opts ...request.Option) (*RestApi, error) {
6663	req, out := c.GetRestApiRequest(input)
6664	req.SetContext(ctx)
6665	req.ApplyOptions(opts...)
6666	return out, req.Send()
6667}
6668
6669const opGetRestApis = "GetRestApis"
6670
6671// GetRestApisRequest generates a "aws/request.Request" representing the
6672// client's request for the GetRestApis operation. The "output" return
6673// value will be populated with the request's response once the request completes
6674// successfully.
6675//
6676// Use "Send" method on the returned Request to send the API call to the service.
6677// the "output" return value is not valid until after Send returns without error.
6678//
6679// See GetRestApis for more information on using the GetRestApis
6680// API call, and error handling.
6681//
6682// This method is useful when you want to inject custom logic or configuration
6683// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6684//
6685//
6686//    // Example sending a request using the GetRestApisRequest method.
6687//    req, resp := client.GetRestApisRequest(params)
6688//
6689//    err := req.Send()
6690//    if err == nil { // resp is now filled
6691//        fmt.Println(resp)
6692//    }
6693func (c *APIGateway) GetRestApisRequest(input *GetRestApisInput) (req *request.Request, output *GetRestApisOutput) {
6694	op := &request.Operation{
6695		Name:       opGetRestApis,
6696		HTTPMethod: "GET",
6697		HTTPPath:   "/restapis",
6698		Paginator: &request.Paginator{
6699			InputTokens:     []string{"position"},
6700			OutputTokens:    []string{"position"},
6701			LimitToken:      "limit",
6702			TruncationToken: "",
6703		},
6704	}
6705
6706	if input == nil {
6707		input = &GetRestApisInput{}
6708	}
6709
6710	output = &GetRestApisOutput{}
6711	req = c.newRequest(op, input, output)
6712	return
6713}
6714
6715// GetRestApis API operation for Amazon API Gateway.
6716//
6717// Lists the RestApis resources for your collection.
6718//
6719// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6720// with awserr.Error's Code and Message methods to get detailed information about
6721// the error.
6722//
6723// See the AWS API reference guide for Amazon API Gateway's
6724// API operation GetRestApis for usage and error information.
6725//
6726// Returned Error Types:
6727//   * BadRequestException
6728//   The submitted request is not valid, for example, the input is incomplete
6729//   or incorrect. See the accompanying error message for details.
6730//
6731//   * UnauthorizedException
6732//   The request is denied because the caller has insufficient permissions.
6733//
6734//   * TooManyRequestsException
6735//   The request has reached its throttling limit. Retry after the specified time
6736//   period.
6737//
6738func (c *APIGateway) GetRestApis(input *GetRestApisInput) (*GetRestApisOutput, error) {
6739	req, out := c.GetRestApisRequest(input)
6740	return out, req.Send()
6741}
6742
6743// GetRestApisWithContext is the same as GetRestApis with the addition of
6744// the ability to pass a context and additional request options.
6745//
6746// See GetRestApis for details on how to use this API operation.
6747//
6748// The context must be non-nil and will be used for request cancellation. If
6749// the context is nil a panic will occur. In the future the SDK may create
6750// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6751// for more information on using Contexts.
6752func (c *APIGateway) GetRestApisWithContext(ctx aws.Context, input *GetRestApisInput, opts ...request.Option) (*GetRestApisOutput, error) {
6753	req, out := c.GetRestApisRequest(input)
6754	req.SetContext(ctx)
6755	req.ApplyOptions(opts...)
6756	return out, req.Send()
6757}
6758
6759// GetRestApisPages iterates over the pages of a GetRestApis operation,
6760// calling the "fn" function with the response data for each page. To stop
6761// iterating, return false from the fn function.
6762//
6763// See GetRestApis method for more information on how to use this operation.
6764//
6765// Note: This operation can generate multiple requests to a service.
6766//
6767//    // Example iterating over at most 3 pages of a GetRestApis operation.
6768//    pageNum := 0
6769//    err := client.GetRestApisPages(params,
6770//        func(page *apigateway.GetRestApisOutput, lastPage bool) bool {
6771//            pageNum++
6772//            fmt.Println(page)
6773//            return pageNum <= 3
6774//        })
6775//
6776func (c *APIGateway) GetRestApisPages(input *GetRestApisInput, fn func(*GetRestApisOutput, bool) bool) error {
6777	return c.GetRestApisPagesWithContext(aws.BackgroundContext(), input, fn)
6778}
6779
6780// GetRestApisPagesWithContext same as GetRestApisPages except
6781// it takes a Context and allows setting request options on the pages.
6782//
6783// The context must be non-nil and will be used for request cancellation. If
6784// the context is nil a panic will occur. In the future the SDK may create
6785// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6786// for more information on using Contexts.
6787func (c *APIGateway) GetRestApisPagesWithContext(ctx aws.Context, input *GetRestApisInput, fn func(*GetRestApisOutput, bool) bool, opts ...request.Option) error {
6788	p := request.Pagination{
6789		NewRequest: func() (*request.Request, error) {
6790			var inCpy *GetRestApisInput
6791			if input != nil {
6792				tmp := *input
6793				inCpy = &tmp
6794			}
6795			req, _ := c.GetRestApisRequest(inCpy)
6796			req.SetContext(ctx)
6797			req.ApplyOptions(opts...)
6798			return req, nil
6799		},
6800	}
6801
6802	for p.Next() {
6803		if !fn(p.Page().(*GetRestApisOutput), !p.HasNextPage()) {
6804			break
6805		}
6806	}
6807
6808	return p.Err()
6809}
6810
6811const opGetSdk = "GetSdk"
6812
6813// GetSdkRequest generates a "aws/request.Request" representing the
6814// client's request for the GetSdk operation. The "output" return
6815// value will be populated with the request's response once the request completes
6816// successfully.
6817//
6818// Use "Send" method on the returned Request to send the API call to the service.
6819// the "output" return value is not valid until after Send returns without error.
6820//
6821// See GetSdk for more information on using the GetSdk
6822// API call, and error handling.
6823//
6824// This method is useful when you want to inject custom logic or configuration
6825// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6826//
6827//
6828//    // Example sending a request using the GetSdkRequest method.
6829//    req, resp := client.GetSdkRequest(params)
6830//
6831//    err := req.Send()
6832//    if err == nil { // resp is now filled
6833//        fmt.Println(resp)
6834//    }
6835func (c *APIGateway) GetSdkRequest(input *GetSdkInput) (req *request.Request, output *GetSdkOutput) {
6836	op := &request.Operation{
6837		Name:       opGetSdk,
6838		HTTPMethod: "GET",
6839		HTTPPath:   "/restapis/{restapi_id}/stages/{stage_name}/sdks/{sdk_type}",
6840	}
6841
6842	if input == nil {
6843		input = &GetSdkInput{}
6844	}
6845
6846	output = &GetSdkOutput{}
6847	req = c.newRequest(op, input, output)
6848	return
6849}
6850
6851// GetSdk API operation for Amazon API Gateway.
6852//
6853// Generates a client SDK for a RestApi and Stage.
6854//
6855// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6856// with awserr.Error's Code and Message methods to get detailed information about
6857// the error.
6858//
6859// See the AWS API reference guide for Amazon API Gateway's
6860// API operation GetSdk for usage and error information.
6861//
6862// Returned Error Types:
6863//   * UnauthorizedException
6864//   The request is denied because the caller has insufficient permissions.
6865//
6866//   * NotFoundException
6867//   The requested resource is not found. Make sure that the request URI is correct.
6868//
6869//   * BadRequestException
6870//   The submitted request is not valid, for example, the input is incomplete
6871//   or incorrect. See the accompanying error message for details.
6872//
6873//   * ConflictException
6874//   The request configuration has conflicts. For details, see the accompanying
6875//   error message.
6876//
6877//   * TooManyRequestsException
6878//   The request has reached its throttling limit. Retry after the specified time
6879//   period.
6880//
6881func (c *APIGateway) GetSdk(input *GetSdkInput) (*GetSdkOutput, error) {
6882	req, out := c.GetSdkRequest(input)
6883	return out, req.Send()
6884}
6885
6886// GetSdkWithContext is the same as GetSdk with the addition of
6887// the ability to pass a context and additional request options.
6888//
6889// See GetSdk for details on how to use this API operation.
6890//
6891// The context must be non-nil and will be used for request cancellation. If
6892// the context is nil a panic will occur. In the future the SDK may create
6893// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6894// for more information on using Contexts.
6895func (c *APIGateway) GetSdkWithContext(ctx aws.Context, input *GetSdkInput, opts ...request.Option) (*GetSdkOutput, error) {
6896	req, out := c.GetSdkRequest(input)
6897	req.SetContext(ctx)
6898	req.ApplyOptions(opts...)
6899	return out, req.Send()
6900}
6901
6902const opGetSdkType = "GetSdkType"
6903
6904// GetSdkTypeRequest generates a "aws/request.Request" representing the
6905// client's request for the GetSdkType operation. The "output" return
6906// value will be populated with the request's response once the request completes
6907// successfully.
6908//
6909// Use "Send" method on the returned Request to send the API call to the service.
6910// the "output" return value is not valid until after Send returns without error.
6911//
6912// See GetSdkType for more information on using the GetSdkType
6913// API call, and error handling.
6914//
6915// This method is useful when you want to inject custom logic or configuration
6916// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6917//
6918//
6919//    // Example sending a request using the GetSdkTypeRequest method.
6920//    req, resp := client.GetSdkTypeRequest(params)
6921//
6922//    err := req.Send()
6923//    if err == nil { // resp is now filled
6924//        fmt.Println(resp)
6925//    }
6926func (c *APIGateway) GetSdkTypeRequest(input *GetSdkTypeInput) (req *request.Request, output *SdkType) {
6927	op := &request.Operation{
6928		Name:       opGetSdkType,
6929		HTTPMethod: "GET",
6930		HTTPPath:   "/sdktypes/{sdktype_id}",
6931	}
6932
6933	if input == nil {
6934		input = &GetSdkTypeInput{}
6935	}
6936
6937	output = &SdkType{}
6938	req = c.newRequest(op, input, output)
6939	return
6940}
6941
6942// GetSdkType API operation for Amazon API Gateway.
6943//
6944// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6945// with awserr.Error's Code and Message methods to get detailed information about
6946// the error.
6947//
6948// See the AWS API reference guide for Amazon API Gateway's
6949// API operation GetSdkType for usage and error information.
6950//
6951// Returned Error Types:
6952//   * UnauthorizedException
6953//   The request is denied because the caller has insufficient permissions.
6954//
6955//   * NotFoundException
6956//   The requested resource is not found. Make sure that the request URI is correct.
6957//
6958//   * TooManyRequestsException
6959//   The request has reached its throttling limit. Retry after the specified time
6960//   period.
6961//
6962func (c *APIGateway) GetSdkType(input *GetSdkTypeInput) (*SdkType, error) {
6963	req, out := c.GetSdkTypeRequest(input)
6964	return out, req.Send()
6965}
6966
6967// GetSdkTypeWithContext is the same as GetSdkType with the addition of
6968// the ability to pass a context and additional request options.
6969//
6970// See GetSdkType for details on how to use this API operation.
6971//
6972// The context must be non-nil and will be used for request cancellation. If
6973// the context is nil a panic will occur. In the future the SDK may create
6974// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6975// for more information on using Contexts.
6976func (c *APIGateway) GetSdkTypeWithContext(ctx aws.Context, input *GetSdkTypeInput, opts ...request.Option) (*SdkType, error) {
6977	req, out := c.GetSdkTypeRequest(input)
6978	req.SetContext(ctx)
6979	req.ApplyOptions(opts...)
6980	return out, req.Send()
6981}
6982
6983const opGetSdkTypes = "GetSdkTypes"
6984
6985// GetSdkTypesRequest generates a "aws/request.Request" representing the
6986// client's request for the GetSdkTypes operation. The "output" return
6987// value will be populated with the request's response once the request completes
6988// successfully.
6989//
6990// Use "Send" method on the returned Request to send the API call to the service.
6991// the "output" return value is not valid until after Send returns without error.
6992//
6993// See GetSdkTypes for more information on using the GetSdkTypes
6994// API call, and error handling.
6995//
6996// This method is useful when you want to inject custom logic or configuration
6997// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6998//
6999//
7000//    // Example sending a request using the GetSdkTypesRequest method.
7001//    req, resp := client.GetSdkTypesRequest(params)
7002//
7003//    err := req.Send()
7004//    if err == nil { // resp is now filled
7005//        fmt.Println(resp)
7006//    }
7007func (c *APIGateway) GetSdkTypesRequest(input *GetSdkTypesInput) (req *request.Request, output *GetSdkTypesOutput) {
7008	op := &request.Operation{
7009		Name:       opGetSdkTypes,
7010		HTTPMethod: "GET",
7011		HTTPPath:   "/sdktypes",
7012	}
7013
7014	if input == nil {
7015		input = &GetSdkTypesInput{}
7016	}
7017
7018	output = &GetSdkTypesOutput{}
7019	req = c.newRequest(op, input, output)
7020	return
7021}
7022
7023// GetSdkTypes API operation for Amazon API Gateway.
7024//
7025// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7026// with awserr.Error's Code and Message methods to get detailed information about
7027// the error.
7028//
7029// See the AWS API reference guide for Amazon API Gateway's
7030// API operation GetSdkTypes for usage and error information.
7031//
7032// Returned Error Types:
7033//   * UnauthorizedException
7034//   The request is denied because the caller has insufficient permissions.
7035//
7036//   * TooManyRequestsException
7037//   The request has reached its throttling limit. Retry after the specified time
7038//   period.
7039//
7040func (c *APIGateway) GetSdkTypes(input *GetSdkTypesInput) (*GetSdkTypesOutput, error) {
7041	req, out := c.GetSdkTypesRequest(input)
7042	return out, req.Send()
7043}
7044
7045// GetSdkTypesWithContext is the same as GetSdkTypes with the addition of
7046// the ability to pass a context and additional request options.
7047//
7048// See GetSdkTypes for details on how to use this API operation.
7049//
7050// The context must be non-nil and will be used for request cancellation. If
7051// the context is nil a panic will occur. In the future the SDK may create
7052// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7053// for more information on using Contexts.
7054func (c *APIGateway) GetSdkTypesWithContext(ctx aws.Context, input *GetSdkTypesInput, opts ...request.Option) (*GetSdkTypesOutput, error) {
7055	req, out := c.GetSdkTypesRequest(input)
7056	req.SetContext(ctx)
7057	req.ApplyOptions(opts...)
7058	return out, req.Send()
7059}
7060
7061const opGetStage = "GetStage"
7062
7063// GetStageRequest generates a "aws/request.Request" representing the
7064// client's request for the GetStage operation. The "output" return
7065// value will be populated with the request's response once the request completes
7066// successfully.
7067//
7068// Use "Send" method on the returned Request to send the API call to the service.
7069// the "output" return value is not valid until after Send returns without error.
7070//
7071// See GetStage for more information on using the GetStage
7072// API call, and error handling.
7073//
7074// This method is useful when you want to inject custom logic or configuration
7075// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7076//
7077//
7078//    // Example sending a request using the GetStageRequest method.
7079//    req, resp := client.GetStageRequest(params)
7080//
7081//    err := req.Send()
7082//    if err == nil { // resp is now filled
7083//        fmt.Println(resp)
7084//    }
7085func (c *APIGateway) GetStageRequest(input *GetStageInput) (req *request.Request, output *Stage) {
7086	op := &request.Operation{
7087		Name:       opGetStage,
7088		HTTPMethod: "GET",
7089		HTTPPath:   "/restapis/{restapi_id}/stages/{stage_name}",
7090	}
7091
7092	if input == nil {
7093		input = &GetStageInput{}
7094	}
7095
7096	output = &Stage{}
7097	req = c.newRequest(op, input, output)
7098	return
7099}
7100
7101// GetStage API operation for Amazon API Gateway.
7102//
7103// Gets information about a Stage resource.
7104//
7105// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7106// with awserr.Error's Code and Message methods to get detailed information about
7107// the error.
7108//
7109// See the AWS API reference guide for Amazon API Gateway's
7110// API operation GetStage for usage and error information.
7111//
7112// Returned Error Types:
7113//   * UnauthorizedException
7114//   The request is denied because the caller has insufficient permissions.
7115//
7116//   * NotFoundException
7117//   The requested resource is not found. Make sure that the request URI is correct.
7118//
7119//   * TooManyRequestsException
7120//   The request has reached its throttling limit. Retry after the specified time
7121//   period.
7122//
7123func (c *APIGateway) GetStage(input *GetStageInput) (*Stage, error) {
7124	req, out := c.GetStageRequest(input)
7125	return out, req.Send()
7126}
7127
7128// GetStageWithContext is the same as GetStage with the addition of
7129// the ability to pass a context and additional request options.
7130//
7131// See GetStage for details on how to use this API operation.
7132//
7133// The context must be non-nil and will be used for request cancellation. If
7134// the context is nil a panic will occur. In the future the SDK may create
7135// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7136// for more information on using Contexts.
7137func (c *APIGateway) GetStageWithContext(ctx aws.Context, input *GetStageInput, opts ...request.Option) (*Stage, error) {
7138	req, out := c.GetStageRequest(input)
7139	req.SetContext(ctx)
7140	req.ApplyOptions(opts...)
7141	return out, req.Send()
7142}
7143
7144const opGetStages = "GetStages"
7145
7146// GetStagesRequest generates a "aws/request.Request" representing the
7147// client's request for the GetStages operation. The "output" return
7148// value will be populated with the request's response once the request completes
7149// successfully.
7150//
7151// Use "Send" method on the returned Request to send the API call to the service.
7152// the "output" return value is not valid until after Send returns without error.
7153//
7154// See GetStages for more information on using the GetStages
7155// API call, and error handling.
7156//
7157// This method is useful when you want to inject custom logic or configuration
7158// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7159//
7160//
7161//    // Example sending a request using the GetStagesRequest method.
7162//    req, resp := client.GetStagesRequest(params)
7163//
7164//    err := req.Send()
7165//    if err == nil { // resp is now filled
7166//        fmt.Println(resp)
7167//    }
7168func (c *APIGateway) GetStagesRequest(input *GetStagesInput) (req *request.Request, output *GetStagesOutput) {
7169	op := &request.Operation{
7170		Name:       opGetStages,
7171		HTTPMethod: "GET",
7172		HTTPPath:   "/restapis/{restapi_id}/stages",
7173	}
7174
7175	if input == nil {
7176		input = &GetStagesInput{}
7177	}
7178
7179	output = &GetStagesOutput{}
7180	req = c.newRequest(op, input, output)
7181	return
7182}
7183
7184// GetStages API operation for Amazon API Gateway.
7185//
7186// Gets information about one or more Stage resources.
7187//
7188// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7189// with awserr.Error's Code and Message methods to get detailed information about
7190// the error.
7191//
7192// See the AWS API reference guide for Amazon API Gateway's
7193// API operation GetStages for usage and error information.
7194//
7195// Returned Error Types:
7196//   * UnauthorizedException
7197//   The request is denied because the caller has insufficient permissions.
7198//
7199//   * NotFoundException
7200//   The requested resource is not found. Make sure that the request URI is correct.
7201//
7202//   * TooManyRequestsException
7203//   The request has reached its throttling limit. Retry after the specified time
7204//   period.
7205//
7206func (c *APIGateway) GetStages(input *GetStagesInput) (*GetStagesOutput, error) {
7207	req, out := c.GetStagesRequest(input)
7208	return out, req.Send()
7209}
7210
7211// GetStagesWithContext is the same as GetStages with the addition of
7212// the ability to pass a context and additional request options.
7213//
7214// See GetStages for details on how to use this API operation.
7215//
7216// The context must be non-nil and will be used for request cancellation. If
7217// the context is nil a panic will occur. In the future the SDK may create
7218// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7219// for more information on using Contexts.
7220func (c *APIGateway) GetStagesWithContext(ctx aws.Context, input *GetStagesInput, opts ...request.Option) (*GetStagesOutput, error) {
7221	req, out := c.GetStagesRequest(input)
7222	req.SetContext(ctx)
7223	req.ApplyOptions(opts...)
7224	return out, req.Send()
7225}
7226
7227const opGetTags = "GetTags"
7228
7229// GetTagsRequest generates a "aws/request.Request" representing the
7230// client's request for the GetTags operation. The "output" return
7231// value will be populated with the request's response once the request completes
7232// successfully.
7233//
7234// Use "Send" method on the returned Request to send the API call to the service.
7235// the "output" return value is not valid until after Send returns without error.
7236//
7237// See GetTags for more information on using the GetTags
7238// API call, and error handling.
7239//
7240// This method is useful when you want to inject custom logic or configuration
7241// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7242//
7243//
7244//    // Example sending a request using the GetTagsRequest method.
7245//    req, resp := client.GetTagsRequest(params)
7246//
7247//    err := req.Send()
7248//    if err == nil { // resp is now filled
7249//        fmt.Println(resp)
7250//    }
7251func (c *APIGateway) GetTagsRequest(input *GetTagsInput) (req *request.Request, output *GetTagsOutput) {
7252	op := &request.Operation{
7253		Name:       opGetTags,
7254		HTTPMethod: "GET",
7255		HTTPPath:   "/tags/{resource_arn}",
7256	}
7257
7258	if input == nil {
7259		input = &GetTagsInput{}
7260	}
7261
7262	output = &GetTagsOutput{}
7263	req = c.newRequest(op, input, output)
7264	return
7265}
7266
7267// GetTags API operation for Amazon API Gateway.
7268//
7269// Gets the Tags collection for a given resource.
7270//
7271// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7272// with awserr.Error's Code and Message methods to get detailed information about
7273// the error.
7274//
7275// See the AWS API reference guide for Amazon API Gateway's
7276// API operation GetTags for usage and error information.
7277//
7278// Returned Error Types:
7279//   * BadRequestException
7280//   The submitted request is not valid, for example, the input is incomplete
7281//   or incorrect. See the accompanying error message for details.
7282//
7283//   * UnauthorizedException
7284//   The request is denied because the caller has insufficient permissions.
7285//
7286//   * TooManyRequestsException
7287//   The request has reached its throttling limit. Retry after the specified time
7288//   period.
7289//
7290//   * NotFoundException
7291//   The requested resource is not found. Make sure that the request URI is correct.
7292//
7293//   * LimitExceededException
7294//   The request exceeded the rate limit. Retry after the specified time period.
7295//
7296func (c *APIGateway) GetTags(input *GetTagsInput) (*GetTagsOutput, error) {
7297	req, out := c.GetTagsRequest(input)
7298	return out, req.Send()
7299}
7300
7301// GetTagsWithContext is the same as GetTags with the addition of
7302// the ability to pass a context and additional request options.
7303//
7304// See GetTags for details on how to use this API operation.
7305//
7306// The context must be non-nil and will be used for request cancellation. If
7307// the context is nil a panic will occur. In the future the SDK may create
7308// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7309// for more information on using Contexts.
7310func (c *APIGateway) GetTagsWithContext(ctx aws.Context, input *GetTagsInput, opts ...request.Option) (*GetTagsOutput, error) {
7311	req, out := c.GetTagsRequest(input)
7312	req.SetContext(ctx)
7313	req.ApplyOptions(opts...)
7314	return out, req.Send()
7315}
7316
7317const opGetUsage = "GetUsage"
7318
7319// GetUsageRequest generates a "aws/request.Request" representing the
7320// client's request for the GetUsage operation. The "output" return
7321// value will be populated with the request's response once the request completes
7322// successfully.
7323//
7324// Use "Send" method on the returned Request to send the API call to the service.
7325// the "output" return value is not valid until after Send returns without error.
7326//
7327// See GetUsage for more information on using the GetUsage
7328// API call, and error handling.
7329//
7330// This method is useful when you want to inject custom logic or configuration
7331// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7332//
7333//
7334//    // Example sending a request using the GetUsageRequest method.
7335//    req, resp := client.GetUsageRequest(params)
7336//
7337//    err := req.Send()
7338//    if err == nil { // resp is now filled
7339//        fmt.Println(resp)
7340//    }
7341func (c *APIGateway) GetUsageRequest(input *GetUsageInput) (req *request.Request, output *Usage) {
7342	op := &request.Operation{
7343		Name:       opGetUsage,
7344		HTTPMethod: "GET",
7345		HTTPPath:   "/usageplans/{usageplanId}/usage",
7346		Paginator: &request.Paginator{
7347			InputTokens:     []string{"position"},
7348			OutputTokens:    []string{"position"},
7349			LimitToken:      "limit",
7350			TruncationToken: "",
7351		},
7352	}
7353
7354	if input == nil {
7355		input = &GetUsageInput{}
7356	}
7357
7358	output = &Usage{}
7359	req = c.newRequest(op, input, output)
7360	return
7361}
7362
7363// GetUsage API operation for Amazon API Gateway.
7364//
7365// Gets the usage data of a usage plan in a specified time interval.
7366//
7367// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7368// with awserr.Error's Code and Message methods to get detailed information about
7369// the error.
7370//
7371// See the AWS API reference guide for Amazon API Gateway's
7372// API operation GetUsage for usage and error information.
7373//
7374// Returned Error Types:
7375//   * BadRequestException
7376//   The submitted request is not valid, for example, the input is incomplete
7377//   or incorrect. See the accompanying error message for details.
7378//
7379//   * UnauthorizedException
7380//   The request is denied because the caller has insufficient permissions.
7381//
7382//   * NotFoundException
7383//   The requested resource is not found. Make sure that the request URI is correct.
7384//
7385//   * TooManyRequestsException
7386//   The request has reached its throttling limit. Retry after the specified time
7387//   period.
7388//
7389func (c *APIGateway) GetUsage(input *GetUsageInput) (*Usage, error) {
7390	req, out := c.GetUsageRequest(input)
7391	return out, req.Send()
7392}
7393
7394// GetUsageWithContext is the same as GetUsage with the addition of
7395// the ability to pass a context and additional request options.
7396//
7397// See GetUsage for details on how to use this API operation.
7398//
7399// The context must be non-nil and will be used for request cancellation. If
7400// the context is nil a panic will occur. In the future the SDK may create
7401// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7402// for more information on using Contexts.
7403func (c *APIGateway) GetUsageWithContext(ctx aws.Context, input *GetUsageInput, opts ...request.Option) (*Usage, error) {
7404	req, out := c.GetUsageRequest(input)
7405	req.SetContext(ctx)
7406	req.ApplyOptions(opts...)
7407	return out, req.Send()
7408}
7409
7410// GetUsagePages iterates over the pages of a GetUsage operation,
7411// calling the "fn" function with the response data for each page. To stop
7412// iterating, return false from the fn function.
7413//
7414// See GetUsage method for more information on how to use this operation.
7415//
7416// Note: This operation can generate multiple requests to a service.
7417//
7418//    // Example iterating over at most 3 pages of a GetUsage operation.
7419//    pageNum := 0
7420//    err := client.GetUsagePages(params,
7421//        func(page *apigateway.Usage, lastPage bool) bool {
7422//            pageNum++
7423//            fmt.Println(page)
7424//            return pageNum <= 3
7425//        })
7426//
7427func (c *APIGateway) GetUsagePages(input *GetUsageInput, fn func(*Usage, bool) bool) error {
7428	return c.GetUsagePagesWithContext(aws.BackgroundContext(), input, fn)
7429}
7430
7431// GetUsagePagesWithContext same as GetUsagePages except
7432// it takes a Context and allows setting request options on the pages.
7433//
7434// The context must be non-nil and will be used for request cancellation. If
7435// the context is nil a panic will occur. In the future the SDK may create
7436// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7437// for more information on using Contexts.
7438func (c *APIGateway) GetUsagePagesWithContext(ctx aws.Context, input *GetUsageInput, fn func(*Usage, bool) bool, opts ...request.Option) error {
7439	p := request.Pagination{
7440		NewRequest: func() (*request.Request, error) {
7441			var inCpy *GetUsageInput
7442			if input != nil {
7443				tmp := *input
7444				inCpy = &tmp
7445			}
7446			req, _ := c.GetUsageRequest(inCpy)
7447			req.SetContext(ctx)
7448			req.ApplyOptions(opts...)
7449			return req, nil
7450		},
7451	}
7452
7453	for p.Next() {
7454		if !fn(p.Page().(*Usage), !p.HasNextPage()) {
7455			break
7456		}
7457	}
7458
7459	return p.Err()
7460}
7461
7462const opGetUsagePlan = "GetUsagePlan"
7463
7464// GetUsagePlanRequest generates a "aws/request.Request" representing the
7465// client's request for the GetUsagePlan operation. The "output" return
7466// value will be populated with the request's response once the request completes
7467// successfully.
7468//
7469// Use "Send" method on the returned Request to send the API call to the service.
7470// the "output" return value is not valid until after Send returns without error.
7471//
7472// See GetUsagePlan for more information on using the GetUsagePlan
7473// API call, and error handling.
7474//
7475// This method is useful when you want to inject custom logic or configuration
7476// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7477//
7478//
7479//    // Example sending a request using the GetUsagePlanRequest method.
7480//    req, resp := client.GetUsagePlanRequest(params)
7481//
7482//    err := req.Send()
7483//    if err == nil { // resp is now filled
7484//        fmt.Println(resp)
7485//    }
7486func (c *APIGateway) GetUsagePlanRequest(input *GetUsagePlanInput) (req *request.Request, output *UsagePlan) {
7487	op := &request.Operation{
7488		Name:       opGetUsagePlan,
7489		HTTPMethod: "GET",
7490		HTTPPath:   "/usageplans/{usageplanId}",
7491	}
7492
7493	if input == nil {
7494		input = &GetUsagePlanInput{}
7495	}
7496
7497	output = &UsagePlan{}
7498	req = c.newRequest(op, input, output)
7499	return
7500}
7501
7502// GetUsagePlan API operation for Amazon API Gateway.
7503//
7504// Gets a usage plan of a given plan identifier.
7505//
7506// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7507// with awserr.Error's Code and Message methods to get detailed information about
7508// the error.
7509//
7510// See the AWS API reference guide for Amazon API Gateway's
7511// API operation GetUsagePlan for usage and error information.
7512//
7513// Returned Error Types:
7514//   * BadRequestException
7515//   The submitted request is not valid, for example, the input is incomplete
7516//   or incorrect. See the accompanying error message for details.
7517//
7518//   * UnauthorizedException
7519//   The request is denied because the caller has insufficient permissions.
7520//
7521//   * NotFoundException
7522//   The requested resource is not found. Make sure that the request URI is correct.
7523//
7524//   * TooManyRequestsException
7525//   The request has reached its throttling limit. Retry after the specified time
7526//   period.
7527//
7528func (c *APIGateway) GetUsagePlan(input *GetUsagePlanInput) (*UsagePlan, error) {
7529	req, out := c.GetUsagePlanRequest(input)
7530	return out, req.Send()
7531}
7532
7533// GetUsagePlanWithContext is the same as GetUsagePlan with the addition of
7534// the ability to pass a context and additional request options.
7535//
7536// See GetUsagePlan for details on how to use this API operation.
7537//
7538// The context must be non-nil and will be used for request cancellation. If
7539// the context is nil a panic will occur. In the future the SDK may create
7540// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7541// for more information on using Contexts.
7542func (c *APIGateway) GetUsagePlanWithContext(ctx aws.Context, input *GetUsagePlanInput, opts ...request.Option) (*UsagePlan, error) {
7543	req, out := c.GetUsagePlanRequest(input)
7544	req.SetContext(ctx)
7545	req.ApplyOptions(opts...)
7546	return out, req.Send()
7547}
7548
7549const opGetUsagePlanKey = "GetUsagePlanKey"
7550
7551// GetUsagePlanKeyRequest generates a "aws/request.Request" representing the
7552// client's request for the GetUsagePlanKey operation. The "output" return
7553// value will be populated with the request's response once the request completes
7554// successfully.
7555//
7556// Use "Send" method on the returned Request to send the API call to the service.
7557// the "output" return value is not valid until after Send returns without error.
7558//
7559// See GetUsagePlanKey for more information on using the GetUsagePlanKey
7560// API call, and error handling.
7561//
7562// This method is useful when you want to inject custom logic or configuration
7563// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7564//
7565//
7566//    // Example sending a request using the GetUsagePlanKeyRequest method.
7567//    req, resp := client.GetUsagePlanKeyRequest(params)
7568//
7569//    err := req.Send()
7570//    if err == nil { // resp is now filled
7571//        fmt.Println(resp)
7572//    }
7573func (c *APIGateway) GetUsagePlanKeyRequest(input *GetUsagePlanKeyInput) (req *request.Request, output *UsagePlanKey) {
7574	op := &request.Operation{
7575		Name:       opGetUsagePlanKey,
7576		HTTPMethod: "GET",
7577		HTTPPath:   "/usageplans/{usageplanId}/keys/{keyId}",
7578	}
7579
7580	if input == nil {
7581		input = &GetUsagePlanKeyInput{}
7582	}
7583
7584	output = &UsagePlanKey{}
7585	req = c.newRequest(op, input, output)
7586	return
7587}
7588
7589// GetUsagePlanKey API operation for Amazon API Gateway.
7590//
7591// Gets a usage plan key of a given key identifier.
7592//
7593// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7594// with awserr.Error's Code and Message methods to get detailed information about
7595// the error.
7596//
7597// See the AWS API reference guide for Amazon API Gateway's
7598// API operation GetUsagePlanKey for usage and error information.
7599//
7600// Returned Error Types:
7601//   * BadRequestException
7602//   The submitted request is not valid, for example, the input is incomplete
7603//   or incorrect. See the accompanying error message for details.
7604//
7605//   * UnauthorizedException
7606//   The request is denied because the caller has insufficient permissions.
7607//
7608//   * NotFoundException
7609//   The requested resource is not found. Make sure that the request URI is correct.
7610//
7611//   * TooManyRequestsException
7612//   The request has reached its throttling limit. Retry after the specified time
7613//   period.
7614//
7615func (c *APIGateway) GetUsagePlanKey(input *GetUsagePlanKeyInput) (*UsagePlanKey, error) {
7616	req, out := c.GetUsagePlanKeyRequest(input)
7617	return out, req.Send()
7618}
7619
7620// GetUsagePlanKeyWithContext is the same as GetUsagePlanKey with the addition of
7621// the ability to pass a context and additional request options.
7622//
7623// See GetUsagePlanKey for details on how to use this API operation.
7624//
7625// The context must be non-nil and will be used for request cancellation. If
7626// the context is nil a panic will occur. In the future the SDK may create
7627// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7628// for more information on using Contexts.
7629func (c *APIGateway) GetUsagePlanKeyWithContext(ctx aws.Context, input *GetUsagePlanKeyInput, opts ...request.Option) (*UsagePlanKey, error) {
7630	req, out := c.GetUsagePlanKeyRequest(input)
7631	req.SetContext(ctx)
7632	req.ApplyOptions(opts...)
7633	return out, req.Send()
7634}
7635
7636const opGetUsagePlanKeys = "GetUsagePlanKeys"
7637
7638// GetUsagePlanKeysRequest generates a "aws/request.Request" representing the
7639// client's request for the GetUsagePlanKeys operation. The "output" return
7640// value will be populated with the request's response once the request completes
7641// successfully.
7642//
7643// Use "Send" method on the returned Request to send the API call to the service.
7644// the "output" return value is not valid until after Send returns without error.
7645//
7646// See GetUsagePlanKeys for more information on using the GetUsagePlanKeys
7647// API call, and error handling.
7648//
7649// This method is useful when you want to inject custom logic or configuration
7650// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7651//
7652//
7653//    // Example sending a request using the GetUsagePlanKeysRequest method.
7654//    req, resp := client.GetUsagePlanKeysRequest(params)
7655//
7656//    err := req.Send()
7657//    if err == nil { // resp is now filled
7658//        fmt.Println(resp)
7659//    }
7660func (c *APIGateway) GetUsagePlanKeysRequest(input *GetUsagePlanKeysInput) (req *request.Request, output *GetUsagePlanKeysOutput) {
7661	op := &request.Operation{
7662		Name:       opGetUsagePlanKeys,
7663		HTTPMethod: "GET",
7664		HTTPPath:   "/usageplans/{usageplanId}/keys",
7665		Paginator: &request.Paginator{
7666			InputTokens:     []string{"position"},
7667			OutputTokens:    []string{"position"},
7668			LimitToken:      "limit",
7669			TruncationToken: "",
7670		},
7671	}
7672
7673	if input == nil {
7674		input = &GetUsagePlanKeysInput{}
7675	}
7676
7677	output = &GetUsagePlanKeysOutput{}
7678	req = c.newRequest(op, input, output)
7679	return
7680}
7681
7682// GetUsagePlanKeys API operation for Amazon API Gateway.
7683//
7684// Gets all the usage plan keys representing the API keys added to a specified
7685// usage plan.
7686//
7687// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7688// with awserr.Error's Code and Message methods to get detailed information about
7689// the error.
7690//
7691// See the AWS API reference guide for Amazon API Gateway's
7692// API operation GetUsagePlanKeys for usage and error information.
7693//
7694// Returned Error Types:
7695//   * BadRequestException
7696//   The submitted request is not valid, for example, the input is incomplete
7697//   or incorrect. See the accompanying error message for details.
7698//
7699//   * UnauthorizedException
7700//   The request is denied because the caller has insufficient permissions.
7701//
7702//   * NotFoundException
7703//   The requested resource is not found. Make sure that the request URI is correct.
7704//
7705//   * TooManyRequestsException
7706//   The request has reached its throttling limit. Retry after the specified time
7707//   period.
7708//
7709func (c *APIGateway) GetUsagePlanKeys(input *GetUsagePlanKeysInput) (*GetUsagePlanKeysOutput, error) {
7710	req, out := c.GetUsagePlanKeysRequest(input)
7711	return out, req.Send()
7712}
7713
7714// GetUsagePlanKeysWithContext is the same as GetUsagePlanKeys with the addition of
7715// the ability to pass a context and additional request options.
7716//
7717// See GetUsagePlanKeys for details on how to use this API operation.
7718//
7719// The context must be non-nil and will be used for request cancellation. If
7720// the context is nil a panic will occur. In the future the SDK may create
7721// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7722// for more information on using Contexts.
7723func (c *APIGateway) GetUsagePlanKeysWithContext(ctx aws.Context, input *GetUsagePlanKeysInput, opts ...request.Option) (*GetUsagePlanKeysOutput, error) {
7724	req, out := c.GetUsagePlanKeysRequest(input)
7725	req.SetContext(ctx)
7726	req.ApplyOptions(opts...)
7727	return out, req.Send()
7728}
7729
7730// GetUsagePlanKeysPages iterates over the pages of a GetUsagePlanKeys operation,
7731// calling the "fn" function with the response data for each page. To stop
7732// iterating, return false from the fn function.
7733//
7734// See GetUsagePlanKeys method for more information on how to use this operation.
7735//
7736// Note: This operation can generate multiple requests to a service.
7737//
7738//    // Example iterating over at most 3 pages of a GetUsagePlanKeys operation.
7739//    pageNum := 0
7740//    err := client.GetUsagePlanKeysPages(params,
7741//        func(page *apigateway.GetUsagePlanKeysOutput, lastPage bool) bool {
7742//            pageNum++
7743//            fmt.Println(page)
7744//            return pageNum <= 3
7745//        })
7746//
7747func (c *APIGateway) GetUsagePlanKeysPages(input *GetUsagePlanKeysInput, fn func(*GetUsagePlanKeysOutput, bool) bool) error {
7748	return c.GetUsagePlanKeysPagesWithContext(aws.BackgroundContext(), input, fn)
7749}
7750
7751// GetUsagePlanKeysPagesWithContext same as GetUsagePlanKeysPages except
7752// it takes a Context and allows setting request options on the pages.
7753//
7754// The context must be non-nil and will be used for request cancellation. If
7755// the context is nil a panic will occur. In the future the SDK may create
7756// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7757// for more information on using Contexts.
7758func (c *APIGateway) GetUsagePlanKeysPagesWithContext(ctx aws.Context, input *GetUsagePlanKeysInput, fn func(*GetUsagePlanKeysOutput, bool) bool, opts ...request.Option) error {
7759	p := request.Pagination{
7760		NewRequest: func() (*request.Request, error) {
7761			var inCpy *GetUsagePlanKeysInput
7762			if input != nil {
7763				tmp := *input
7764				inCpy = &tmp
7765			}
7766			req, _ := c.GetUsagePlanKeysRequest(inCpy)
7767			req.SetContext(ctx)
7768			req.ApplyOptions(opts...)
7769			return req, nil
7770		},
7771	}
7772
7773	for p.Next() {
7774		if !fn(p.Page().(*GetUsagePlanKeysOutput), !p.HasNextPage()) {
7775			break
7776		}
7777	}
7778
7779	return p.Err()
7780}
7781
7782const opGetUsagePlans = "GetUsagePlans"
7783
7784// GetUsagePlansRequest generates a "aws/request.Request" representing the
7785// client's request for the GetUsagePlans operation. The "output" return
7786// value will be populated with the request's response once the request completes
7787// successfully.
7788//
7789// Use "Send" method on the returned Request to send the API call to the service.
7790// the "output" return value is not valid until after Send returns without error.
7791//
7792// See GetUsagePlans for more information on using the GetUsagePlans
7793// API call, and error handling.
7794//
7795// This method is useful when you want to inject custom logic or configuration
7796// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7797//
7798//
7799//    // Example sending a request using the GetUsagePlansRequest method.
7800//    req, resp := client.GetUsagePlansRequest(params)
7801//
7802//    err := req.Send()
7803//    if err == nil { // resp is now filled
7804//        fmt.Println(resp)
7805//    }
7806func (c *APIGateway) GetUsagePlansRequest(input *GetUsagePlansInput) (req *request.Request, output *GetUsagePlansOutput) {
7807	op := &request.Operation{
7808		Name:       opGetUsagePlans,
7809		HTTPMethod: "GET",
7810		HTTPPath:   "/usageplans",
7811		Paginator: &request.Paginator{
7812			InputTokens:     []string{"position"},
7813			OutputTokens:    []string{"position"},
7814			LimitToken:      "limit",
7815			TruncationToken: "",
7816		},
7817	}
7818
7819	if input == nil {
7820		input = &GetUsagePlansInput{}
7821	}
7822
7823	output = &GetUsagePlansOutput{}
7824	req = c.newRequest(op, input, output)
7825	return
7826}
7827
7828// GetUsagePlans API operation for Amazon API Gateway.
7829//
7830// Gets all the usage plans of the caller's account.
7831//
7832// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7833// with awserr.Error's Code and Message methods to get detailed information about
7834// the error.
7835//
7836// See the AWS API reference guide for Amazon API Gateway's
7837// API operation GetUsagePlans for usage and error information.
7838//
7839// Returned Error Types:
7840//   * BadRequestException
7841//   The submitted request is not valid, for example, the input is incomplete
7842//   or incorrect. See the accompanying error message for details.
7843//
7844//   * UnauthorizedException
7845//   The request is denied because the caller has insufficient permissions.
7846//
7847//   * TooManyRequestsException
7848//   The request has reached its throttling limit. Retry after the specified time
7849//   period.
7850//
7851//   * ConflictException
7852//   The request configuration has conflicts. For details, see the accompanying
7853//   error message.
7854//
7855//   * NotFoundException
7856//   The requested resource is not found. Make sure that the request URI is correct.
7857//
7858func (c *APIGateway) GetUsagePlans(input *GetUsagePlansInput) (*GetUsagePlansOutput, error) {
7859	req, out := c.GetUsagePlansRequest(input)
7860	return out, req.Send()
7861}
7862
7863// GetUsagePlansWithContext is the same as GetUsagePlans with the addition of
7864// the ability to pass a context and additional request options.
7865//
7866// See GetUsagePlans for details on how to use this API operation.
7867//
7868// The context must be non-nil and will be used for request cancellation. If
7869// the context is nil a panic will occur. In the future the SDK may create
7870// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7871// for more information on using Contexts.
7872func (c *APIGateway) GetUsagePlansWithContext(ctx aws.Context, input *GetUsagePlansInput, opts ...request.Option) (*GetUsagePlansOutput, error) {
7873	req, out := c.GetUsagePlansRequest(input)
7874	req.SetContext(ctx)
7875	req.ApplyOptions(opts...)
7876	return out, req.Send()
7877}
7878
7879// GetUsagePlansPages iterates over the pages of a GetUsagePlans operation,
7880// calling the "fn" function with the response data for each page. To stop
7881// iterating, return false from the fn function.
7882//
7883// See GetUsagePlans method for more information on how to use this operation.
7884//
7885// Note: This operation can generate multiple requests to a service.
7886//
7887//    // Example iterating over at most 3 pages of a GetUsagePlans operation.
7888//    pageNum := 0
7889//    err := client.GetUsagePlansPages(params,
7890//        func(page *apigateway.GetUsagePlansOutput, lastPage bool) bool {
7891//            pageNum++
7892//            fmt.Println(page)
7893//            return pageNum <= 3
7894//        })
7895//
7896func (c *APIGateway) GetUsagePlansPages(input *GetUsagePlansInput, fn func(*GetUsagePlansOutput, bool) bool) error {
7897	return c.GetUsagePlansPagesWithContext(aws.BackgroundContext(), input, fn)
7898}
7899
7900// GetUsagePlansPagesWithContext same as GetUsagePlansPages except
7901// it takes a Context and allows setting request options on the pages.
7902//
7903// The context must be non-nil and will be used for request cancellation. If
7904// the context is nil a panic will occur. In the future the SDK may create
7905// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7906// for more information on using Contexts.
7907func (c *APIGateway) GetUsagePlansPagesWithContext(ctx aws.Context, input *GetUsagePlansInput, fn func(*GetUsagePlansOutput, bool) bool, opts ...request.Option) error {
7908	p := request.Pagination{
7909		NewRequest: func() (*request.Request, error) {
7910			var inCpy *GetUsagePlansInput
7911			if input != nil {
7912				tmp := *input
7913				inCpy = &tmp
7914			}
7915			req, _ := c.GetUsagePlansRequest(inCpy)
7916			req.SetContext(ctx)
7917			req.ApplyOptions(opts...)
7918			return req, nil
7919		},
7920	}
7921
7922	for p.Next() {
7923		if !fn(p.Page().(*GetUsagePlansOutput), !p.HasNextPage()) {
7924			break
7925		}
7926	}
7927
7928	return p.Err()
7929}
7930
7931const opGetVpcLink = "GetVpcLink"
7932
7933// GetVpcLinkRequest generates a "aws/request.Request" representing the
7934// client's request for the GetVpcLink operation. The "output" return
7935// value will be populated with the request's response once the request completes
7936// successfully.
7937//
7938// Use "Send" method on the returned Request to send the API call to the service.
7939// the "output" return value is not valid until after Send returns without error.
7940//
7941// See GetVpcLink for more information on using the GetVpcLink
7942// API call, and error handling.
7943//
7944// This method is useful when you want to inject custom logic or configuration
7945// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7946//
7947//
7948//    // Example sending a request using the GetVpcLinkRequest method.
7949//    req, resp := client.GetVpcLinkRequest(params)
7950//
7951//    err := req.Send()
7952//    if err == nil { // resp is now filled
7953//        fmt.Println(resp)
7954//    }
7955func (c *APIGateway) GetVpcLinkRequest(input *GetVpcLinkInput) (req *request.Request, output *UpdateVpcLinkOutput) {
7956	op := &request.Operation{
7957		Name:       opGetVpcLink,
7958		HTTPMethod: "GET",
7959		HTTPPath:   "/vpclinks/{vpclink_id}",
7960	}
7961
7962	if input == nil {
7963		input = &GetVpcLinkInput{}
7964	}
7965
7966	output = &UpdateVpcLinkOutput{}
7967	req = c.newRequest(op, input, output)
7968	return
7969}
7970
7971// GetVpcLink API operation for Amazon API Gateway.
7972//
7973// Gets a specified VPC link under the caller's account in a region.
7974//
7975// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7976// with awserr.Error's Code and Message methods to get detailed information about
7977// the error.
7978//
7979// See the AWS API reference guide for Amazon API Gateway's
7980// API operation GetVpcLink for usage and error information.
7981//
7982// Returned Error Types:
7983//   * UnauthorizedException
7984//   The request is denied because the caller has insufficient permissions.
7985//
7986//   * NotFoundException
7987//   The requested resource is not found. Make sure that the request URI is correct.
7988//
7989//   * TooManyRequestsException
7990//   The request has reached its throttling limit. Retry after the specified time
7991//   period.
7992//
7993func (c *APIGateway) GetVpcLink(input *GetVpcLinkInput) (*UpdateVpcLinkOutput, error) {
7994	req, out := c.GetVpcLinkRequest(input)
7995	return out, req.Send()
7996}
7997
7998// GetVpcLinkWithContext is the same as GetVpcLink with the addition of
7999// the ability to pass a context and additional request options.
8000//
8001// See GetVpcLink for details on how to use this API operation.
8002//
8003// The context must be non-nil and will be used for request cancellation. If
8004// the context is nil a panic will occur. In the future the SDK may create
8005// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8006// for more information on using Contexts.
8007func (c *APIGateway) GetVpcLinkWithContext(ctx aws.Context, input *GetVpcLinkInput, opts ...request.Option) (*UpdateVpcLinkOutput, error) {
8008	req, out := c.GetVpcLinkRequest(input)
8009	req.SetContext(ctx)
8010	req.ApplyOptions(opts...)
8011	return out, req.Send()
8012}
8013
8014const opGetVpcLinks = "GetVpcLinks"
8015
8016// GetVpcLinksRequest generates a "aws/request.Request" representing the
8017// client's request for the GetVpcLinks operation. The "output" return
8018// value will be populated with the request's response once the request completes
8019// successfully.
8020//
8021// Use "Send" method on the returned Request to send the API call to the service.
8022// the "output" return value is not valid until after Send returns without error.
8023//
8024// See GetVpcLinks for more information on using the GetVpcLinks
8025// API call, and error handling.
8026//
8027// This method is useful when you want to inject custom logic or configuration
8028// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8029//
8030//
8031//    // Example sending a request using the GetVpcLinksRequest method.
8032//    req, resp := client.GetVpcLinksRequest(params)
8033//
8034//    err := req.Send()
8035//    if err == nil { // resp is now filled
8036//        fmt.Println(resp)
8037//    }
8038func (c *APIGateway) GetVpcLinksRequest(input *GetVpcLinksInput) (req *request.Request, output *GetVpcLinksOutput) {
8039	op := &request.Operation{
8040		Name:       opGetVpcLinks,
8041		HTTPMethod: "GET",
8042		HTTPPath:   "/vpclinks",
8043		Paginator: &request.Paginator{
8044			InputTokens:     []string{"position"},
8045			OutputTokens:    []string{"position"},
8046			LimitToken:      "limit",
8047			TruncationToken: "",
8048		},
8049	}
8050
8051	if input == nil {
8052		input = &GetVpcLinksInput{}
8053	}
8054
8055	output = &GetVpcLinksOutput{}
8056	req = c.newRequest(op, input, output)
8057	return
8058}
8059
8060// GetVpcLinks API operation for Amazon API Gateway.
8061//
8062// Gets the VpcLinks collection under the caller's account in a selected region.
8063//
8064// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8065// with awserr.Error's Code and Message methods to get detailed information about
8066// the error.
8067//
8068// See the AWS API reference guide for Amazon API Gateway's
8069// API operation GetVpcLinks for usage and error information.
8070//
8071// Returned Error Types:
8072//   * BadRequestException
8073//   The submitted request is not valid, for example, the input is incomplete
8074//   or incorrect. See the accompanying error message for details.
8075//
8076//   * UnauthorizedException
8077//   The request is denied because the caller has insufficient permissions.
8078//
8079//   * TooManyRequestsException
8080//   The request has reached its throttling limit. Retry after the specified time
8081//   period.
8082//
8083func (c *APIGateway) GetVpcLinks(input *GetVpcLinksInput) (*GetVpcLinksOutput, error) {
8084	req, out := c.GetVpcLinksRequest(input)
8085	return out, req.Send()
8086}
8087
8088// GetVpcLinksWithContext is the same as GetVpcLinks with the addition of
8089// the ability to pass a context and additional request options.
8090//
8091// See GetVpcLinks for details on how to use this API operation.
8092//
8093// The context must be non-nil and will be used for request cancellation. If
8094// the context is nil a panic will occur. In the future the SDK may create
8095// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8096// for more information on using Contexts.
8097func (c *APIGateway) GetVpcLinksWithContext(ctx aws.Context, input *GetVpcLinksInput, opts ...request.Option) (*GetVpcLinksOutput, error) {
8098	req, out := c.GetVpcLinksRequest(input)
8099	req.SetContext(ctx)
8100	req.ApplyOptions(opts...)
8101	return out, req.Send()
8102}
8103
8104// GetVpcLinksPages iterates over the pages of a GetVpcLinks operation,
8105// calling the "fn" function with the response data for each page. To stop
8106// iterating, return false from the fn function.
8107//
8108// See GetVpcLinks method for more information on how to use this operation.
8109//
8110// Note: This operation can generate multiple requests to a service.
8111//
8112//    // Example iterating over at most 3 pages of a GetVpcLinks operation.
8113//    pageNum := 0
8114//    err := client.GetVpcLinksPages(params,
8115//        func(page *apigateway.GetVpcLinksOutput, lastPage bool) bool {
8116//            pageNum++
8117//            fmt.Println(page)
8118//            return pageNum <= 3
8119//        })
8120//
8121func (c *APIGateway) GetVpcLinksPages(input *GetVpcLinksInput, fn func(*GetVpcLinksOutput, bool) bool) error {
8122	return c.GetVpcLinksPagesWithContext(aws.BackgroundContext(), input, fn)
8123}
8124
8125// GetVpcLinksPagesWithContext same as GetVpcLinksPages except
8126// it takes a Context and allows setting request options on the pages.
8127//
8128// The context must be non-nil and will be used for request cancellation. If
8129// the context is nil a panic will occur. In the future the SDK may create
8130// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8131// for more information on using Contexts.
8132func (c *APIGateway) GetVpcLinksPagesWithContext(ctx aws.Context, input *GetVpcLinksInput, fn func(*GetVpcLinksOutput, bool) bool, opts ...request.Option) error {
8133	p := request.Pagination{
8134		NewRequest: func() (*request.Request, error) {
8135			var inCpy *GetVpcLinksInput
8136			if input != nil {
8137				tmp := *input
8138				inCpy = &tmp
8139			}
8140			req, _ := c.GetVpcLinksRequest(inCpy)
8141			req.SetContext(ctx)
8142			req.ApplyOptions(opts...)
8143			return req, nil
8144		},
8145	}
8146
8147	for p.Next() {
8148		if !fn(p.Page().(*GetVpcLinksOutput), !p.HasNextPage()) {
8149			break
8150		}
8151	}
8152
8153	return p.Err()
8154}
8155
8156const opImportApiKeys = "ImportApiKeys"
8157
8158// ImportApiKeysRequest generates a "aws/request.Request" representing the
8159// client's request for the ImportApiKeys operation. The "output" return
8160// value will be populated with the request's response once the request completes
8161// successfully.
8162//
8163// Use "Send" method on the returned Request to send the API call to the service.
8164// the "output" return value is not valid until after Send returns without error.
8165//
8166// See ImportApiKeys for more information on using the ImportApiKeys
8167// API call, and error handling.
8168//
8169// This method is useful when you want to inject custom logic or configuration
8170// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8171//
8172//
8173//    // Example sending a request using the ImportApiKeysRequest method.
8174//    req, resp := client.ImportApiKeysRequest(params)
8175//
8176//    err := req.Send()
8177//    if err == nil { // resp is now filled
8178//        fmt.Println(resp)
8179//    }
8180func (c *APIGateway) ImportApiKeysRequest(input *ImportApiKeysInput) (req *request.Request, output *ImportApiKeysOutput) {
8181	op := &request.Operation{
8182		Name:       opImportApiKeys,
8183		HTTPMethod: "POST",
8184		HTTPPath:   "/apikeys?mode=import",
8185	}
8186
8187	if input == nil {
8188		input = &ImportApiKeysInput{}
8189	}
8190
8191	output = &ImportApiKeysOutput{}
8192	req = c.newRequest(op, input, output)
8193	return
8194}
8195
8196// ImportApiKeys API operation for Amazon API Gateway.
8197//
8198// Import API keys from an external source, such as a CSV-formatted file.
8199//
8200// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8201// with awserr.Error's Code and Message methods to get detailed information about
8202// the error.
8203//
8204// See the AWS API reference guide for Amazon API Gateway's
8205// API operation ImportApiKeys for usage and error information.
8206//
8207// Returned Error Types:
8208//   * UnauthorizedException
8209//   The request is denied because the caller has insufficient permissions.
8210//
8211//   * NotFoundException
8212//   The requested resource is not found. Make sure that the request URI is correct.
8213//
8214//   * TooManyRequestsException
8215//   The request has reached its throttling limit. Retry after the specified time
8216//   period.
8217//
8218//   * LimitExceededException
8219//   The request exceeded the rate limit. Retry after the specified time period.
8220//
8221//   * BadRequestException
8222//   The submitted request is not valid, for example, the input is incomplete
8223//   or incorrect. See the accompanying error message for details.
8224//
8225//   * ConflictException
8226//   The request configuration has conflicts. For details, see the accompanying
8227//   error message.
8228//
8229func (c *APIGateway) ImportApiKeys(input *ImportApiKeysInput) (*ImportApiKeysOutput, error) {
8230	req, out := c.ImportApiKeysRequest(input)
8231	return out, req.Send()
8232}
8233
8234// ImportApiKeysWithContext is the same as ImportApiKeys with the addition of
8235// the ability to pass a context and additional request options.
8236//
8237// See ImportApiKeys for details on how to use this API operation.
8238//
8239// The context must be non-nil and will be used for request cancellation. If
8240// the context is nil a panic will occur. In the future the SDK may create
8241// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8242// for more information on using Contexts.
8243func (c *APIGateway) ImportApiKeysWithContext(ctx aws.Context, input *ImportApiKeysInput, opts ...request.Option) (*ImportApiKeysOutput, error) {
8244	req, out := c.ImportApiKeysRequest(input)
8245	req.SetContext(ctx)
8246	req.ApplyOptions(opts...)
8247	return out, req.Send()
8248}
8249
8250const opImportDocumentationParts = "ImportDocumentationParts"
8251
8252// ImportDocumentationPartsRequest generates a "aws/request.Request" representing the
8253// client's request for the ImportDocumentationParts operation. The "output" return
8254// value will be populated with the request's response once the request completes
8255// successfully.
8256//
8257// Use "Send" method on the returned Request to send the API call to the service.
8258// the "output" return value is not valid until after Send returns without error.
8259//
8260// See ImportDocumentationParts for more information on using the ImportDocumentationParts
8261// API call, and error handling.
8262//
8263// This method is useful when you want to inject custom logic or configuration
8264// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8265//
8266//
8267//    // Example sending a request using the ImportDocumentationPartsRequest method.
8268//    req, resp := client.ImportDocumentationPartsRequest(params)
8269//
8270//    err := req.Send()
8271//    if err == nil { // resp is now filled
8272//        fmt.Println(resp)
8273//    }
8274func (c *APIGateway) ImportDocumentationPartsRequest(input *ImportDocumentationPartsInput) (req *request.Request, output *ImportDocumentationPartsOutput) {
8275	op := &request.Operation{
8276		Name:       opImportDocumentationParts,
8277		HTTPMethod: "PUT",
8278		HTTPPath:   "/restapis/{restapi_id}/documentation/parts",
8279	}
8280
8281	if input == nil {
8282		input = &ImportDocumentationPartsInput{}
8283	}
8284
8285	output = &ImportDocumentationPartsOutput{}
8286	req = c.newRequest(op, input, output)
8287	return
8288}
8289
8290// ImportDocumentationParts API operation for Amazon API Gateway.
8291//
8292// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8293// with awserr.Error's Code and Message methods to get detailed information about
8294// the error.
8295//
8296// See the AWS API reference guide for Amazon API Gateway's
8297// API operation ImportDocumentationParts for usage and error information.
8298//
8299// Returned Error Types:
8300//   * UnauthorizedException
8301//   The request is denied because the caller has insufficient permissions.
8302//
8303//   * NotFoundException
8304//   The requested resource is not found. Make sure that the request URI is correct.
8305//
8306//   * BadRequestException
8307//   The submitted request is not valid, for example, the input is incomplete
8308//   or incorrect. See the accompanying error message for details.
8309//
8310//   * LimitExceededException
8311//   The request exceeded the rate limit. Retry after the specified time period.
8312//
8313//   * TooManyRequestsException
8314//   The request has reached its throttling limit. Retry after the specified time
8315//   period.
8316//
8317func (c *APIGateway) ImportDocumentationParts(input *ImportDocumentationPartsInput) (*ImportDocumentationPartsOutput, error) {
8318	req, out := c.ImportDocumentationPartsRequest(input)
8319	return out, req.Send()
8320}
8321
8322// ImportDocumentationPartsWithContext is the same as ImportDocumentationParts with the addition of
8323// the ability to pass a context and additional request options.
8324//
8325// See ImportDocumentationParts for details on how to use this API operation.
8326//
8327// The context must be non-nil and will be used for request cancellation. If
8328// the context is nil a panic will occur. In the future the SDK may create
8329// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8330// for more information on using Contexts.
8331func (c *APIGateway) ImportDocumentationPartsWithContext(ctx aws.Context, input *ImportDocumentationPartsInput, opts ...request.Option) (*ImportDocumentationPartsOutput, error) {
8332	req, out := c.ImportDocumentationPartsRequest(input)
8333	req.SetContext(ctx)
8334	req.ApplyOptions(opts...)
8335	return out, req.Send()
8336}
8337
8338const opImportRestApi = "ImportRestApi"
8339
8340// ImportRestApiRequest generates a "aws/request.Request" representing the
8341// client's request for the ImportRestApi operation. The "output" return
8342// value will be populated with the request's response once the request completes
8343// successfully.
8344//
8345// Use "Send" method on the returned Request to send the API call to the service.
8346// the "output" return value is not valid until after Send returns without error.
8347//
8348// See ImportRestApi for more information on using the ImportRestApi
8349// API call, and error handling.
8350//
8351// This method is useful when you want to inject custom logic or configuration
8352// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8353//
8354//
8355//    // Example sending a request using the ImportRestApiRequest method.
8356//    req, resp := client.ImportRestApiRequest(params)
8357//
8358//    err := req.Send()
8359//    if err == nil { // resp is now filled
8360//        fmt.Println(resp)
8361//    }
8362func (c *APIGateway) ImportRestApiRequest(input *ImportRestApiInput) (req *request.Request, output *RestApi) {
8363	op := &request.Operation{
8364		Name:       opImportRestApi,
8365		HTTPMethod: "POST",
8366		HTTPPath:   "/restapis?mode=import",
8367	}
8368
8369	if input == nil {
8370		input = &ImportRestApiInput{}
8371	}
8372
8373	output = &RestApi{}
8374	req = c.newRequest(op, input, output)
8375	return
8376}
8377
8378// ImportRestApi API operation for Amazon API Gateway.
8379//
8380// A feature of the API Gateway control service for creating a new API from
8381// an external API definition file.
8382//
8383// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8384// with awserr.Error's Code and Message methods to get detailed information about
8385// the error.
8386//
8387// See the AWS API reference guide for Amazon API Gateway's
8388// API operation ImportRestApi for usage and error information.
8389//
8390// Returned Error Types:
8391//   * UnauthorizedException
8392//   The request is denied because the caller has insufficient permissions.
8393//
8394//   * LimitExceededException
8395//   The request exceeded the rate limit. Retry after the specified time period.
8396//
8397//   * BadRequestException
8398//   The submitted request is not valid, for example, the input is incomplete
8399//   or incorrect. See the accompanying error message for details.
8400//
8401//   * TooManyRequestsException
8402//   The request has reached its throttling limit. Retry after the specified time
8403//   period.
8404//
8405//   * ConflictException
8406//   The request configuration has conflicts. For details, see the accompanying
8407//   error message.
8408//
8409func (c *APIGateway) ImportRestApi(input *ImportRestApiInput) (*RestApi, error) {
8410	req, out := c.ImportRestApiRequest(input)
8411	return out, req.Send()
8412}
8413
8414// ImportRestApiWithContext is the same as ImportRestApi with the addition of
8415// the ability to pass a context and additional request options.
8416//
8417// See ImportRestApi for details on how to use this API operation.
8418//
8419// The context must be non-nil and will be used for request cancellation. If
8420// the context is nil a panic will occur. In the future the SDK may create
8421// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8422// for more information on using Contexts.
8423func (c *APIGateway) ImportRestApiWithContext(ctx aws.Context, input *ImportRestApiInput, opts ...request.Option) (*RestApi, error) {
8424	req, out := c.ImportRestApiRequest(input)
8425	req.SetContext(ctx)
8426	req.ApplyOptions(opts...)
8427	return out, req.Send()
8428}
8429
8430const opPutGatewayResponse = "PutGatewayResponse"
8431
8432// PutGatewayResponseRequest generates a "aws/request.Request" representing the
8433// client's request for the PutGatewayResponse operation. The "output" return
8434// value will be populated with the request's response once the request completes
8435// successfully.
8436//
8437// Use "Send" method on the returned Request to send the API call to the service.
8438// the "output" return value is not valid until after Send returns without error.
8439//
8440// See PutGatewayResponse for more information on using the PutGatewayResponse
8441// API call, and error handling.
8442//
8443// This method is useful when you want to inject custom logic or configuration
8444// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8445//
8446//
8447//    // Example sending a request using the PutGatewayResponseRequest method.
8448//    req, resp := client.PutGatewayResponseRequest(params)
8449//
8450//    err := req.Send()
8451//    if err == nil { // resp is now filled
8452//        fmt.Println(resp)
8453//    }
8454func (c *APIGateway) PutGatewayResponseRequest(input *PutGatewayResponseInput) (req *request.Request, output *UpdateGatewayResponseOutput) {
8455	op := &request.Operation{
8456		Name:       opPutGatewayResponse,
8457		HTTPMethod: "PUT",
8458		HTTPPath:   "/restapis/{restapi_id}/gatewayresponses/{response_type}",
8459	}
8460
8461	if input == nil {
8462		input = &PutGatewayResponseInput{}
8463	}
8464
8465	output = &UpdateGatewayResponseOutput{}
8466	req = c.newRequest(op, input, output)
8467	return
8468}
8469
8470// PutGatewayResponse API operation for Amazon API Gateway.
8471//
8472// Creates a customization of a GatewayResponse of a specified response type
8473// and status code on the given RestApi.
8474//
8475// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8476// with awserr.Error's Code and Message methods to get detailed information about
8477// the error.
8478//
8479// See the AWS API reference guide for Amazon API Gateway's
8480// API operation PutGatewayResponse for usage and error information.
8481//
8482// Returned Error Types:
8483//   * BadRequestException
8484//   The submitted request is not valid, for example, the input is incomplete
8485//   or incorrect. See the accompanying error message for details.
8486//
8487//   * UnauthorizedException
8488//   The request is denied because the caller has insufficient permissions.
8489//
8490//   * NotFoundException
8491//   The requested resource is not found. Make sure that the request URI is correct.
8492//
8493//   * LimitExceededException
8494//   The request exceeded the rate limit. Retry after the specified time period.
8495//
8496//   * TooManyRequestsException
8497//   The request has reached its throttling limit. Retry after the specified time
8498//   period.
8499//
8500func (c *APIGateway) PutGatewayResponse(input *PutGatewayResponseInput) (*UpdateGatewayResponseOutput, error) {
8501	req, out := c.PutGatewayResponseRequest(input)
8502	return out, req.Send()
8503}
8504
8505// PutGatewayResponseWithContext is the same as PutGatewayResponse with the addition of
8506// the ability to pass a context and additional request options.
8507//
8508// See PutGatewayResponse for details on how to use this API operation.
8509//
8510// The context must be non-nil and will be used for request cancellation. If
8511// the context is nil a panic will occur. In the future the SDK may create
8512// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8513// for more information on using Contexts.
8514func (c *APIGateway) PutGatewayResponseWithContext(ctx aws.Context, input *PutGatewayResponseInput, opts ...request.Option) (*UpdateGatewayResponseOutput, error) {
8515	req, out := c.PutGatewayResponseRequest(input)
8516	req.SetContext(ctx)
8517	req.ApplyOptions(opts...)
8518	return out, req.Send()
8519}
8520
8521const opPutIntegration = "PutIntegration"
8522
8523// PutIntegrationRequest generates a "aws/request.Request" representing the
8524// client's request for the PutIntegration operation. The "output" return
8525// value will be populated with the request's response once the request completes
8526// successfully.
8527//
8528// Use "Send" method on the returned Request to send the API call to the service.
8529// the "output" return value is not valid until after Send returns without error.
8530//
8531// See PutIntegration for more information on using the PutIntegration
8532// API call, and error handling.
8533//
8534// This method is useful when you want to inject custom logic or configuration
8535// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8536//
8537//
8538//    // Example sending a request using the PutIntegrationRequest method.
8539//    req, resp := client.PutIntegrationRequest(params)
8540//
8541//    err := req.Send()
8542//    if err == nil { // resp is now filled
8543//        fmt.Println(resp)
8544//    }
8545func (c *APIGateway) PutIntegrationRequest(input *PutIntegrationInput) (req *request.Request, output *Integration) {
8546	op := &request.Operation{
8547		Name:       opPutIntegration,
8548		HTTPMethod: "PUT",
8549		HTTPPath:   "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/integration",
8550	}
8551
8552	if input == nil {
8553		input = &PutIntegrationInput{}
8554	}
8555
8556	output = &Integration{}
8557	req = c.newRequest(op, input, output)
8558	return
8559}
8560
8561// PutIntegration API operation for Amazon API Gateway.
8562//
8563// Sets up a method's integration.
8564//
8565// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8566// with awserr.Error's Code and Message methods to get detailed information about
8567// the error.
8568//
8569// See the AWS API reference guide for Amazon API Gateway's
8570// API operation PutIntegration for usage and error information.
8571//
8572// Returned Error Types:
8573//   * UnauthorizedException
8574//   The request is denied because the caller has insufficient permissions.
8575//
8576//   * BadRequestException
8577//   The submitted request is not valid, for example, the input is incomplete
8578//   or incorrect. See the accompanying error message for details.
8579//
8580//   * ConflictException
8581//   The request configuration has conflicts. For details, see the accompanying
8582//   error message.
8583//
8584//   * NotFoundException
8585//   The requested resource is not found. Make sure that the request URI is correct.
8586//
8587//   * TooManyRequestsException
8588//   The request has reached its throttling limit. Retry after the specified time
8589//   period.
8590//
8591func (c *APIGateway) PutIntegration(input *PutIntegrationInput) (*Integration, error) {
8592	req, out := c.PutIntegrationRequest(input)
8593	return out, req.Send()
8594}
8595
8596// PutIntegrationWithContext is the same as PutIntegration with the addition of
8597// the ability to pass a context and additional request options.
8598//
8599// See PutIntegration for details on how to use this API operation.
8600//
8601// The context must be non-nil and will be used for request cancellation. If
8602// the context is nil a panic will occur. In the future the SDK may create
8603// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8604// for more information on using Contexts.
8605func (c *APIGateway) PutIntegrationWithContext(ctx aws.Context, input *PutIntegrationInput, opts ...request.Option) (*Integration, error) {
8606	req, out := c.PutIntegrationRequest(input)
8607	req.SetContext(ctx)
8608	req.ApplyOptions(opts...)
8609	return out, req.Send()
8610}
8611
8612const opPutIntegrationResponse = "PutIntegrationResponse"
8613
8614// PutIntegrationResponseRequest generates a "aws/request.Request" representing the
8615// client's request for the PutIntegrationResponse operation. The "output" return
8616// value will be populated with the request's response once the request completes
8617// successfully.
8618//
8619// Use "Send" method on the returned Request to send the API call to the service.
8620// the "output" return value is not valid until after Send returns without error.
8621//
8622// See PutIntegrationResponse for more information on using the PutIntegrationResponse
8623// API call, and error handling.
8624//
8625// This method is useful when you want to inject custom logic or configuration
8626// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8627//
8628//
8629//    // Example sending a request using the PutIntegrationResponseRequest method.
8630//    req, resp := client.PutIntegrationResponseRequest(params)
8631//
8632//    err := req.Send()
8633//    if err == nil { // resp is now filled
8634//        fmt.Println(resp)
8635//    }
8636func (c *APIGateway) PutIntegrationResponseRequest(input *PutIntegrationResponseInput) (req *request.Request, output *IntegrationResponse) {
8637	op := &request.Operation{
8638		Name:       opPutIntegrationResponse,
8639		HTTPMethod: "PUT",
8640		HTTPPath:   "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/integration/responses/{status_code}",
8641	}
8642
8643	if input == nil {
8644		input = &PutIntegrationResponseInput{}
8645	}
8646
8647	output = &IntegrationResponse{}
8648	req = c.newRequest(op, input, output)
8649	return
8650}
8651
8652// PutIntegrationResponse API operation for Amazon API Gateway.
8653//
8654// Represents a put integration.
8655//
8656// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8657// with awserr.Error's Code and Message methods to get detailed information about
8658// the error.
8659//
8660// See the AWS API reference guide for Amazon API Gateway's
8661// API operation PutIntegrationResponse for usage and error information.
8662//
8663// Returned Error Types:
8664//   * UnauthorizedException
8665//   The request is denied because the caller has insufficient permissions.
8666//
8667//   * NotFoundException
8668//   The requested resource is not found. Make sure that the request URI is correct.
8669//
8670//   * LimitExceededException
8671//   The request exceeded the rate limit. Retry after the specified time period.
8672//
8673//   * BadRequestException
8674//   The submitted request is not valid, for example, the input is incomplete
8675//   or incorrect. See the accompanying error message for details.
8676//
8677//   * TooManyRequestsException
8678//   The request has reached its throttling limit. Retry after the specified time
8679//   period.
8680//
8681//   * ConflictException
8682//   The request configuration has conflicts. For details, see the accompanying
8683//   error message.
8684//
8685func (c *APIGateway) PutIntegrationResponse(input *PutIntegrationResponseInput) (*IntegrationResponse, error) {
8686	req, out := c.PutIntegrationResponseRequest(input)
8687	return out, req.Send()
8688}
8689
8690// PutIntegrationResponseWithContext is the same as PutIntegrationResponse with the addition of
8691// the ability to pass a context and additional request options.
8692//
8693// See PutIntegrationResponse for details on how to use this API operation.
8694//
8695// The context must be non-nil and will be used for request cancellation. If
8696// the context is nil a panic will occur. In the future the SDK may create
8697// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8698// for more information on using Contexts.
8699func (c *APIGateway) PutIntegrationResponseWithContext(ctx aws.Context, input *PutIntegrationResponseInput, opts ...request.Option) (*IntegrationResponse, error) {
8700	req, out := c.PutIntegrationResponseRequest(input)
8701	req.SetContext(ctx)
8702	req.ApplyOptions(opts...)
8703	return out, req.Send()
8704}
8705
8706const opPutMethod = "PutMethod"
8707
8708// PutMethodRequest generates a "aws/request.Request" representing the
8709// client's request for the PutMethod operation. The "output" return
8710// value will be populated with the request's response once the request completes
8711// successfully.
8712//
8713// Use "Send" method on the returned Request to send the API call to the service.
8714// the "output" return value is not valid until after Send returns without error.
8715//
8716// See PutMethod for more information on using the PutMethod
8717// API call, and error handling.
8718//
8719// This method is useful when you want to inject custom logic or configuration
8720// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8721//
8722//
8723//    // Example sending a request using the PutMethodRequest method.
8724//    req, resp := client.PutMethodRequest(params)
8725//
8726//    err := req.Send()
8727//    if err == nil { // resp is now filled
8728//        fmt.Println(resp)
8729//    }
8730func (c *APIGateway) PutMethodRequest(input *PutMethodInput) (req *request.Request, output *Method) {
8731	op := &request.Operation{
8732		Name:       opPutMethod,
8733		HTTPMethod: "PUT",
8734		HTTPPath:   "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}",
8735	}
8736
8737	if input == nil {
8738		input = &PutMethodInput{}
8739	}
8740
8741	output = &Method{}
8742	req = c.newRequest(op, input, output)
8743	return
8744}
8745
8746// PutMethod API operation for Amazon API Gateway.
8747//
8748// Add a method to an existing Resource resource.
8749//
8750// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8751// with awserr.Error's Code and Message methods to get detailed information about
8752// the error.
8753//
8754// See the AWS API reference guide for Amazon API Gateway's
8755// API operation PutMethod for usage and error information.
8756//
8757// Returned Error Types:
8758//   * BadRequestException
8759//   The submitted request is not valid, for example, the input is incomplete
8760//   or incorrect. See the accompanying error message for details.
8761//
8762//   * UnauthorizedException
8763//   The request is denied because the caller has insufficient permissions.
8764//
8765//   * NotFoundException
8766//   The requested resource is not found. Make sure that the request URI is correct.
8767//
8768//   * ConflictException
8769//   The request configuration has conflicts. For details, see the accompanying
8770//   error message.
8771//
8772//   * LimitExceededException
8773//   The request exceeded the rate limit. Retry after the specified time period.
8774//
8775//   * TooManyRequestsException
8776//   The request has reached its throttling limit. Retry after the specified time
8777//   period.
8778//
8779func (c *APIGateway) PutMethod(input *PutMethodInput) (*Method, error) {
8780	req, out := c.PutMethodRequest(input)
8781	return out, req.Send()
8782}
8783
8784// PutMethodWithContext is the same as PutMethod with the addition of
8785// the ability to pass a context and additional request options.
8786//
8787// See PutMethod for details on how to use this API operation.
8788//
8789// The context must be non-nil and will be used for request cancellation. If
8790// the context is nil a panic will occur. In the future the SDK may create
8791// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8792// for more information on using Contexts.
8793func (c *APIGateway) PutMethodWithContext(ctx aws.Context, input *PutMethodInput, opts ...request.Option) (*Method, error) {
8794	req, out := c.PutMethodRequest(input)
8795	req.SetContext(ctx)
8796	req.ApplyOptions(opts...)
8797	return out, req.Send()
8798}
8799
8800const opPutMethodResponse = "PutMethodResponse"
8801
8802// PutMethodResponseRequest generates a "aws/request.Request" representing the
8803// client's request for the PutMethodResponse operation. The "output" return
8804// value will be populated with the request's response once the request completes
8805// successfully.
8806//
8807// Use "Send" method on the returned Request to send the API call to the service.
8808// the "output" return value is not valid until after Send returns without error.
8809//
8810// See PutMethodResponse for more information on using the PutMethodResponse
8811// API call, and error handling.
8812//
8813// This method is useful when you want to inject custom logic or configuration
8814// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8815//
8816//
8817//    // Example sending a request using the PutMethodResponseRequest method.
8818//    req, resp := client.PutMethodResponseRequest(params)
8819//
8820//    err := req.Send()
8821//    if err == nil { // resp is now filled
8822//        fmt.Println(resp)
8823//    }
8824func (c *APIGateway) PutMethodResponseRequest(input *PutMethodResponseInput) (req *request.Request, output *MethodResponse) {
8825	op := &request.Operation{
8826		Name:       opPutMethodResponse,
8827		HTTPMethod: "PUT",
8828		HTTPPath:   "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/responses/{status_code}",
8829	}
8830
8831	if input == nil {
8832		input = &PutMethodResponseInput{}
8833	}
8834
8835	output = &MethodResponse{}
8836	req = c.newRequest(op, input, output)
8837	return
8838}
8839
8840// PutMethodResponse API operation for Amazon API Gateway.
8841//
8842// Adds a MethodResponse to an existing Method resource.
8843//
8844// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8845// with awserr.Error's Code and Message methods to get detailed information about
8846// the error.
8847//
8848// See the AWS API reference guide for Amazon API Gateway's
8849// API operation PutMethodResponse for usage and error information.
8850//
8851// Returned Error Types:
8852//   * UnauthorizedException
8853//   The request is denied because the caller has insufficient permissions.
8854//
8855//   * NotFoundException
8856//   The requested resource is not found. Make sure that the request URI is correct.
8857//
8858//   * ConflictException
8859//   The request configuration has conflicts. For details, see the accompanying
8860//   error message.
8861//
8862//   * LimitExceededException
8863//   The request exceeded the rate limit. Retry after the specified time period.
8864//
8865//   * BadRequestException
8866//   The submitted request is not valid, for example, the input is incomplete
8867//   or incorrect. See the accompanying error message for details.
8868//
8869//   * TooManyRequestsException
8870//   The request has reached its throttling limit. Retry after the specified time
8871//   period.
8872//
8873func (c *APIGateway) PutMethodResponse(input *PutMethodResponseInput) (*MethodResponse, error) {
8874	req, out := c.PutMethodResponseRequest(input)
8875	return out, req.Send()
8876}
8877
8878// PutMethodResponseWithContext is the same as PutMethodResponse with the addition of
8879// the ability to pass a context and additional request options.
8880//
8881// See PutMethodResponse for details on how to use this API operation.
8882//
8883// The context must be non-nil and will be used for request cancellation. If
8884// the context is nil a panic will occur. In the future the SDK may create
8885// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8886// for more information on using Contexts.
8887func (c *APIGateway) PutMethodResponseWithContext(ctx aws.Context, input *PutMethodResponseInput, opts ...request.Option) (*MethodResponse, error) {
8888	req, out := c.PutMethodResponseRequest(input)
8889	req.SetContext(ctx)
8890	req.ApplyOptions(opts...)
8891	return out, req.Send()
8892}
8893
8894const opPutRestApi = "PutRestApi"
8895
8896// PutRestApiRequest generates a "aws/request.Request" representing the
8897// client's request for the PutRestApi operation. The "output" return
8898// value will be populated with the request's response once the request completes
8899// successfully.
8900//
8901// Use "Send" method on the returned Request to send the API call to the service.
8902// the "output" return value is not valid until after Send returns without error.
8903//
8904// See PutRestApi for more information on using the PutRestApi
8905// API call, and error handling.
8906//
8907// This method is useful when you want to inject custom logic or configuration
8908// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8909//
8910//
8911//    // Example sending a request using the PutRestApiRequest method.
8912//    req, resp := client.PutRestApiRequest(params)
8913//
8914//    err := req.Send()
8915//    if err == nil { // resp is now filled
8916//        fmt.Println(resp)
8917//    }
8918func (c *APIGateway) PutRestApiRequest(input *PutRestApiInput) (req *request.Request, output *RestApi) {
8919	op := &request.Operation{
8920		Name:       opPutRestApi,
8921		HTTPMethod: "PUT",
8922		HTTPPath:   "/restapis/{restapi_id}",
8923	}
8924
8925	if input == nil {
8926		input = &PutRestApiInput{}
8927	}
8928
8929	output = &RestApi{}
8930	req = c.newRequest(op, input, output)
8931	return
8932}
8933
8934// PutRestApi API operation for Amazon API Gateway.
8935//
8936// A feature of the API Gateway control service for updating an existing API
8937// with an input of external API definitions. The update can take the form of
8938// merging the supplied definition into the existing API or overwriting the
8939// existing API.
8940//
8941// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8942// with awserr.Error's Code and Message methods to get detailed information about
8943// the error.
8944//
8945// See the AWS API reference guide for Amazon API Gateway's
8946// API operation PutRestApi for usage and error information.
8947//
8948// Returned Error Types:
8949//   * UnauthorizedException
8950//   The request is denied because the caller has insufficient permissions.
8951//
8952//   * LimitExceededException
8953//   The request exceeded the rate limit. Retry after the specified time period.
8954//
8955//   * NotFoundException
8956//   The requested resource is not found. Make sure that the request URI is correct.
8957//
8958//   * BadRequestException
8959//   The submitted request is not valid, for example, the input is incomplete
8960//   or incorrect. See the accompanying error message for details.
8961//
8962//   * TooManyRequestsException
8963//   The request has reached its throttling limit. Retry after the specified time
8964//   period.
8965//
8966//   * ConflictException
8967//   The request configuration has conflicts. For details, see the accompanying
8968//   error message.
8969//
8970func (c *APIGateway) PutRestApi(input *PutRestApiInput) (*RestApi, error) {
8971	req, out := c.PutRestApiRequest(input)
8972	return out, req.Send()
8973}
8974
8975// PutRestApiWithContext is the same as PutRestApi with the addition of
8976// the ability to pass a context and additional request options.
8977//
8978// See PutRestApi for details on how to use this API operation.
8979//
8980// The context must be non-nil and will be used for request cancellation. If
8981// the context is nil a panic will occur. In the future the SDK may create
8982// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8983// for more information on using Contexts.
8984func (c *APIGateway) PutRestApiWithContext(ctx aws.Context, input *PutRestApiInput, opts ...request.Option) (*RestApi, error) {
8985	req, out := c.PutRestApiRequest(input)
8986	req.SetContext(ctx)
8987	req.ApplyOptions(opts...)
8988	return out, req.Send()
8989}
8990
8991const opTagResource = "TagResource"
8992
8993// TagResourceRequest generates a "aws/request.Request" representing the
8994// client's request for the TagResource operation. The "output" return
8995// value will be populated with the request's response once the request completes
8996// successfully.
8997//
8998// Use "Send" method on the returned Request to send the API call to the service.
8999// the "output" return value is not valid until after Send returns without error.
9000//
9001// See TagResource for more information on using the TagResource
9002// API call, and error handling.
9003//
9004// This method is useful when you want to inject custom logic or configuration
9005// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9006//
9007//
9008//    // Example sending a request using the TagResourceRequest method.
9009//    req, resp := client.TagResourceRequest(params)
9010//
9011//    err := req.Send()
9012//    if err == nil { // resp is now filled
9013//        fmt.Println(resp)
9014//    }
9015func (c *APIGateway) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
9016	op := &request.Operation{
9017		Name:       opTagResource,
9018		HTTPMethod: "PUT",
9019		HTTPPath:   "/tags/{resource_arn}",
9020	}
9021
9022	if input == nil {
9023		input = &TagResourceInput{}
9024	}
9025
9026	output = &TagResourceOutput{}
9027	req = c.newRequest(op, input, output)
9028	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
9029	return
9030}
9031
9032// TagResource API operation for Amazon API Gateway.
9033//
9034// Adds or updates a tag on a given resource.
9035//
9036// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9037// with awserr.Error's Code and Message methods to get detailed information about
9038// the error.
9039//
9040// See the AWS API reference guide for Amazon API Gateway's
9041// API operation TagResource for usage and error information.
9042//
9043// Returned Error Types:
9044//   * BadRequestException
9045//   The submitted request is not valid, for example, the input is incomplete
9046//   or incorrect. See the accompanying error message for details.
9047//
9048//   * UnauthorizedException
9049//   The request is denied because the caller has insufficient permissions.
9050//
9051//   * TooManyRequestsException
9052//   The request has reached its throttling limit. Retry after the specified time
9053//   period.
9054//
9055//   * NotFoundException
9056//   The requested resource is not found. Make sure that the request URI is correct.
9057//
9058//   * LimitExceededException
9059//   The request exceeded the rate limit. Retry after the specified time period.
9060//
9061//   * ConflictException
9062//   The request configuration has conflicts. For details, see the accompanying
9063//   error message.
9064//
9065func (c *APIGateway) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
9066	req, out := c.TagResourceRequest(input)
9067	return out, req.Send()
9068}
9069
9070// TagResourceWithContext is the same as TagResource with the addition of
9071// the ability to pass a context and additional request options.
9072//
9073// See TagResource for details on how to use this API operation.
9074//
9075// The context must be non-nil and will be used for request cancellation. If
9076// the context is nil a panic will occur. In the future the SDK may create
9077// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9078// for more information on using Contexts.
9079func (c *APIGateway) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
9080	req, out := c.TagResourceRequest(input)
9081	req.SetContext(ctx)
9082	req.ApplyOptions(opts...)
9083	return out, req.Send()
9084}
9085
9086const opTestInvokeAuthorizer = "TestInvokeAuthorizer"
9087
9088// TestInvokeAuthorizerRequest generates a "aws/request.Request" representing the
9089// client's request for the TestInvokeAuthorizer operation. The "output" return
9090// value will be populated with the request's response once the request completes
9091// successfully.
9092//
9093// Use "Send" method on the returned Request to send the API call to the service.
9094// the "output" return value is not valid until after Send returns without error.
9095//
9096// See TestInvokeAuthorizer for more information on using the TestInvokeAuthorizer
9097// API call, and error handling.
9098//
9099// This method is useful when you want to inject custom logic or configuration
9100// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9101//
9102//
9103//    // Example sending a request using the TestInvokeAuthorizerRequest method.
9104//    req, resp := client.TestInvokeAuthorizerRequest(params)
9105//
9106//    err := req.Send()
9107//    if err == nil { // resp is now filled
9108//        fmt.Println(resp)
9109//    }
9110func (c *APIGateway) TestInvokeAuthorizerRequest(input *TestInvokeAuthorizerInput) (req *request.Request, output *TestInvokeAuthorizerOutput) {
9111	op := &request.Operation{
9112		Name:       opTestInvokeAuthorizer,
9113		HTTPMethod: "POST",
9114		HTTPPath:   "/restapis/{restapi_id}/authorizers/{authorizer_id}",
9115	}
9116
9117	if input == nil {
9118		input = &TestInvokeAuthorizerInput{}
9119	}
9120
9121	output = &TestInvokeAuthorizerOutput{}
9122	req = c.newRequest(op, input, output)
9123	return
9124}
9125
9126// TestInvokeAuthorizer API operation for Amazon API Gateway.
9127//
9128// Simulate the execution of an Authorizer in your RestApi with headers, parameters,
9129// and an incoming request body.
9130//
9131// Use Lambda Function as Authorizer (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-use-lambda-authorizer.html)
9132// Use Cognito User Pool as Authorizer (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-integrate-with-cognito.html)
9133//
9134// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9135// with awserr.Error's Code and Message methods to get detailed information about
9136// the error.
9137//
9138// See the AWS API reference guide for Amazon API Gateway's
9139// API operation TestInvokeAuthorizer for usage and error information.
9140//
9141// Returned Error Types:
9142//   * BadRequestException
9143//   The submitted request is not valid, for example, the input is incomplete
9144//   or incorrect. See the accompanying error message for details.
9145//
9146//   * UnauthorizedException
9147//   The request is denied because the caller has insufficient permissions.
9148//
9149//   * NotFoundException
9150//   The requested resource is not found. Make sure that the request URI is correct.
9151//
9152//   * TooManyRequestsException
9153//   The request has reached its throttling limit. Retry after the specified time
9154//   period.
9155//
9156func (c *APIGateway) TestInvokeAuthorizer(input *TestInvokeAuthorizerInput) (*TestInvokeAuthorizerOutput, error) {
9157	req, out := c.TestInvokeAuthorizerRequest(input)
9158	return out, req.Send()
9159}
9160
9161// TestInvokeAuthorizerWithContext is the same as TestInvokeAuthorizer with the addition of
9162// the ability to pass a context and additional request options.
9163//
9164// See TestInvokeAuthorizer for details on how to use this API operation.
9165//
9166// The context must be non-nil and will be used for request cancellation. If
9167// the context is nil a panic will occur. In the future the SDK may create
9168// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9169// for more information on using Contexts.
9170func (c *APIGateway) TestInvokeAuthorizerWithContext(ctx aws.Context, input *TestInvokeAuthorizerInput, opts ...request.Option) (*TestInvokeAuthorizerOutput, error) {
9171	req, out := c.TestInvokeAuthorizerRequest(input)
9172	req.SetContext(ctx)
9173	req.ApplyOptions(opts...)
9174	return out, req.Send()
9175}
9176
9177const opTestInvokeMethod = "TestInvokeMethod"
9178
9179// TestInvokeMethodRequest generates a "aws/request.Request" representing the
9180// client's request for the TestInvokeMethod operation. The "output" return
9181// value will be populated with the request's response once the request completes
9182// successfully.
9183//
9184// Use "Send" method on the returned Request to send the API call to the service.
9185// the "output" return value is not valid until after Send returns without error.
9186//
9187// See TestInvokeMethod for more information on using the TestInvokeMethod
9188// API call, and error handling.
9189//
9190// This method is useful when you want to inject custom logic or configuration
9191// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9192//
9193//
9194//    // Example sending a request using the TestInvokeMethodRequest method.
9195//    req, resp := client.TestInvokeMethodRequest(params)
9196//
9197//    err := req.Send()
9198//    if err == nil { // resp is now filled
9199//        fmt.Println(resp)
9200//    }
9201func (c *APIGateway) TestInvokeMethodRequest(input *TestInvokeMethodInput) (req *request.Request, output *TestInvokeMethodOutput) {
9202	op := &request.Operation{
9203		Name:       opTestInvokeMethod,
9204		HTTPMethod: "POST",
9205		HTTPPath:   "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}",
9206	}
9207
9208	if input == nil {
9209		input = &TestInvokeMethodInput{}
9210	}
9211
9212	output = &TestInvokeMethodOutput{}
9213	req = c.newRequest(op, input, output)
9214	return
9215}
9216
9217// TestInvokeMethod API operation for Amazon API Gateway.
9218//
9219// Simulate the execution of a Method in your RestApi with headers, parameters,
9220// and an incoming request body.
9221//
9222// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9223// with awserr.Error's Code and Message methods to get detailed information about
9224// the error.
9225//
9226// See the AWS API reference guide for Amazon API Gateway's
9227// API operation TestInvokeMethod for usage and error information.
9228//
9229// Returned Error Types:
9230//   * BadRequestException
9231//   The submitted request is not valid, for example, the input is incomplete
9232//   or incorrect. See the accompanying error message for details.
9233//
9234//   * UnauthorizedException
9235//   The request is denied because the caller has insufficient permissions.
9236//
9237//   * NotFoundException
9238//   The requested resource is not found. Make sure that the request URI is correct.
9239//
9240//   * TooManyRequestsException
9241//   The request has reached its throttling limit. Retry after the specified time
9242//   period.
9243//
9244func (c *APIGateway) TestInvokeMethod(input *TestInvokeMethodInput) (*TestInvokeMethodOutput, error) {
9245	req, out := c.TestInvokeMethodRequest(input)
9246	return out, req.Send()
9247}
9248
9249// TestInvokeMethodWithContext is the same as TestInvokeMethod with the addition of
9250// the ability to pass a context and additional request options.
9251//
9252// See TestInvokeMethod for details on how to use this API operation.
9253//
9254// The context must be non-nil and will be used for request cancellation. If
9255// the context is nil a panic will occur. In the future the SDK may create
9256// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9257// for more information on using Contexts.
9258func (c *APIGateway) TestInvokeMethodWithContext(ctx aws.Context, input *TestInvokeMethodInput, opts ...request.Option) (*TestInvokeMethodOutput, error) {
9259	req, out := c.TestInvokeMethodRequest(input)
9260	req.SetContext(ctx)
9261	req.ApplyOptions(opts...)
9262	return out, req.Send()
9263}
9264
9265const opUntagResource = "UntagResource"
9266
9267// UntagResourceRequest generates a "aws/request.Request" representing the
9268// client's request for the UntagResource operation. The "output" return
9269// value will be populated with the request's response once the request completes
9270// successfully.
9271//
9272// Use "Send" method on the returned Request to send the API call to the service.
9273// the "output" return value is not valid until after Send returns without error.
9274//
9275// See UntagResource for more information on using the UntagResource
9276// API call, and error handling.
9277//
9278// This method is useful when you want to inject custom logic or configuration
9279// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9280//
9281//
9282//    // Example sending a request using the UntagResourceRequest method.
9283//    req, resp := client.UntagResourceRequest(params)
9284//
9285//    err := req.Send()
9286//    if err == nil { // resp is now filled
9287//        fmt.Println(resp)
9288//    }
9289func (c *APIGateway) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
9290	op := &request.Operation{
9291		Name:       opUntagResource,
9292		HTTPMethod: "DELETE",
9293		HTTPPath:   "/tags/{resource_arn}",
9294	}
9295
9296	if input == nil {
9297		input = &UntagResourceInput{}
9298	}
9299
9300	output = &UntagResourceOutput{}
9301	req = c.newRequest(op, input, output)
9302	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
9303	return
9304}
9305
9306// UntagResource API operation for Amazon API Gateway.
9307//
9308// Removes a tag from a given resource.
9309//
9310// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9311// with awserr.Error's Code and Message methods to get detailed information about
9312// the error.
9313//
9314// See the AWS API reference guide for Amazon API Gateway's
9315// API operation UntagResource for usage and error information.
9316//
9317// Returned Error Types:
9318//   * BadRequestException
9319//   The submitted request is not valid, for example, the input is incomplete
9320//   or incorrect. See the accompanying error message for details.
9321//
9322//   * UnauthorizedException
9323//   The request is denied because the caller has insufficient permissions.
9324//
9325//   * TooManyRequestsException
9326//   The request has reached its throttling limit. Retry after the specified time
9327//   period.
9328//
9329//   * NotFoundException
9330//   The requested resource is not found. Make sure that the request URI is correct.
9331//
9332//   * ConflictException
9333//   The request configuration has conflicts. For details, see the accompanying
9334//   error message.
9335//
9336func (c *APIGateway) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
9337	req, out := c.UntagResourceRequest(input)
9338	return out, req.Send()
9339}
9340
9341// UntagResourceWithContext is the same as UntagResource with the addition of
9342// the ability to pass a context and additional request options.
9343//
9344// See UntagResource for details on how to use this API operation.
9345//
9346// The context must be non-nil and will be used for request cancellation. If
9347// the context is nil a panic will occur. In the future the SDK may create
9348// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9349// for more information on using Contexts.
9350func (c *APIGateway) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
9351	req, out := c.UntagResourceRequest(input)
9352	req.SetContext(ctx)
9353	req.ApplyOptions(opts...)
9354	return out, req.Send()
9355}
9356
9357const opUpdateAccount = "UpdateAccount"
9358
9359// UpdateAccountRequest generates a "aws/request.Request" representing the
9360// client's request for the UpdateAccount operation. The "output" return
9361// value will be populated with the request's response once the request completes
9362// successfully.
9363//
9364// Use "Send" method on the returned Request to send the API call to the service.
9365// the "output" return value is not valid until after Send returns without error.
9366//
9367// See UpdateAccount for more information on using the UpdateAccount
9368// API call, and error handling.
9369//
9370// This method is useful when you want to inject custom logic or configuration
9371// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9372//
9373//
9374//    // Example sending a request using the UpdateAccountRequest method.
9375//    req, resp := client.UpdateAccountRequest(params)
9376//
9377//    err := req.Send()
9378//    if err == nil { // resp is now filled
9379//        fmt.Println(resp)
9380//    }
9381func (c *APIGateway) UpdateAccountRequest(input *UpdateAccountInput) (req *request.Request, output *Account) {
9382	op := &request.Operation{
9383		Name:       opUpdateAccount,
9384		HTTPMethod: "PATCH",
9385		HTTPPath:   "/account",
9386	}
9387
9388	if input == nil {
9389		input = &UpdateAccountInput{}
9390	}
9391
9392	output = &Account{}
9393	req = c.newRequest(op, input, output)
9394	return
9395}
9396
9397// UpdateAccount API operation for Amazon API Gateway.
9398//
9399// Changes information about the current Account resource.
9400//
9401// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9402// with awserr.Error's Code and Message methods to get detailed information about
9403// the error.
9404//
9405// See the AWS API reference guide for Amazon API Gateway's
9406// API operation UpdateAccount for usage and error information.
9407//
9408// Returned Error Types:
9409//   * UnauthorizedException
9410//   The request is denied because the caller has insufficient permissions.
9411//
9412//   * BadRequestException
9413//   The submitted request is not valid, for example, the input is incomplete
9414//   or incorrect. See the accompanying error message for details.
9415//
9416//   * NotFoundException
9417//   The requested resource is not found. Make sure that the request URI is correct.
9418//
9419//   * TooManyRequestsException
9420//   The request has reached its throttling limit. Retry after the specified time
9421//   period.
9422//
9423func (c *APIGateway) UpdateAccount(input *UpdateAccountInput) (*Account, error) {
9424	req, out := c.UpdateAccountRequest(input)
9425	return out, req.Send()
9426}
9427
9428// UpdateAccountWithContext is the same as UpdateAccount with the addition of
9429// the ability to pass a context and additional request options.
9430//
9431// See UpdateAccount for details on how to use this API operation.
9432//
9433// The context must be non-nil and will be used for request cancellation. If
9434// the context is nil a panic will occur. In the future the SDK may create
9435// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9436// for more information on using Contexts.
9437func (c *APIGateway) UpdateAccountWithContext(ctx aws.Context, input *UpdateAccountInput, opts ...request.Option) (*Account, error) {
9438	req, out := c.UpdateAccountRequest(input)
9439	req.SetContext(ctx)
9440	req.ApplyOptions(opts...)
9441	return out, req.Send()
9442}
9443
9444const opUpdateApiKey = "UpdateApiKey"
9445
9446// UpdateApiKeyRequest generates a "aws/request.Request" representing the
9447// client's request for the UpdateApiKey operation. The "output" return
9448// value will be populated with the request's response once the request completes
9449// successfully.
9450//
9451// Use "Send" method on the returned Request to send the API call to the service.
9452// the "output" return value is not valid until after Send returns without error.
9453//
9454// See UpdateApiKey for more information on using the UpdateApiKey
9455// API call, and error handling.
9456//
9457// This method is useful when you want to inject custom logic or configuration
9458// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9459//
9460//
9461//    // Example sending a request using the UpdateApiKeyRequest method.
9462//    req, resp := client.UpdateApiKeyRequest(params)
9463//
9464//    err := req.Send()
9465//    if err == nil { // resp is now filled
9466//        fmt.Println(resp)
9467//    }
9468func (c *APIGateway) UpdateApiKeyRequest(input *UpdateApiKeyInput) (req *request.Request, output *ApiKey) {
9469	op := &request.Operation{
9470		Name:       opUpdateApiKey,
9471		HTTPMethod: "PATCH",
9472		HTTPPath:   "/apikeys/{api_Key}",
9473	}
9474
9475	if input == nil {
9476		input = &UpdateApiKeyInput{}
9477	}
9478
9479	output = &ApiKey{}
9480	req = c.newRequest(op, input, output)
9481	return
9482}
9483
9484// UpdateApiKey API operation for Amazon API Gateway.
9485//
9486// Changes information about an ApiKey resource.
9487//
9488// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9489// with awserr.Error's Code and Message methods to get detailed information about
9490// the error.
9491//
9492// See the AWS API reference guide for Amazon API Gateway's
9493// API operation UpdateApiKey for usage and error information.
9494//
9495// Returned Error Types:
9496//   * UnauthorizedException
9497//   The request is denied because the caller has insufficient permissions.
9498//
9499//   * NotFoundException
9500//   The requested resource is not found. Make sure that the request URI is correct.
9501//
9502//   * BadRequestException
9503//   The submitted request is not valid, for example, the input is incomplete
9504//   or incorrect. See the accompanying error message for details.
9505//
9506//   * TooManyRequestsException
9507//   The request has reached its throttling limit. Retry after the specified time
9508//   period.
9509//
9510//   * ConflictException
9511//   The request configuration has conflicts. For details, see the accompanying
9512//   error message.
9513//
9514func (c *APIGateway) UpdateApiKey(input *UpdateApiKeyInput) (*ApiKey, error) {
9515	req, out := c.UpdateApiKeyRequest(input)
9516	return out, req.Send()
9517}
9518
9519// UpdateApiKeyWithContext is the same as UpdateApiKey with the addition of
9520// the ability to pass a context and additional request options.
9521//
9522// See UpdateApiKey for details on how to use this API operation.
9523//
9524// The context must be non-nil and will be used for request cancellation. If
9525// the context is nil a panic will occur. In the future the SDK may create
9526// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9527// for more information on using Contexts.
9528func (c *APIGateway) UpdateApiKeyWithContext(ctx aws.Context, input *UpdateApiKeyInput, opts ...request.Option) (*ApiKey, error) {
9529	req, out := c.UpdateApiKeyRequest(input)
9530	req.SetContext(ctx)
9531	req.ApplyOptions(opts...)
9532	return out, req.Send()
9533}
9534
9535const opUpdateAuthorizer = "UpdateAuthorizer"
9536
9537// UpdateAuthorizerRequest generates a "aws/request.Request" representing the
9538// client's request for the UpdateAuthorizer operation. The "output" return
9539// value will be populated with the request's response once the request completes
9540// successfully.
9541//
9542// Use "Send" method on the returned Request to send the API call to the service.
9543// the "output" return value is not valid until after Send returns without error.
9544//
9545// See UpdateAuthorizer for more information on using the UpdateAuthorizer
9546// API call, and error handling.
9547//
9548// This method is useful when you want to inject custom logic or configuration
9549// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9550//
9551//
9552//    // Example sending a request using the UpdateAuthorizerRequest method.
9553//    req, resp := client.UpdateAuthorizerRequest(params)
9554//
9555//    err := req.Send()
9556//    if err == nil { // resp is now filled
9557//        fmt.Println(resp)
9558//    }
9559func (c *APIGateway) UpdateAuthorizerRequest(input *UpdateAuthorizerInput) (req *request.Request, output *Authorizer) {
9560	op := &request.Operation{
9561		Name:       opUpdateAuthorizer,
9562		HTTPMethod: "PATCH",
9563		HTTPPath:   "/restapis/{restapi_id}/authorizers/{authorizer_id}",
9564	}
9565
9566	if input == nil {
9567		input = &UpdateAuthorizerInput{}
9568	}
9569
9570	output = &Authorizer{}
9571	req = c.newRequest(op, input, output)
9572	return
9573}
9574
9575// UpdateAuthorizer API operation for Amazon API Gateway.
9576//
9577// Updates an existing Authorizer resource.
9578//
9579// AWS CLI (https://docs.aws.amazon.com/cli/latest/reference/apigateway/update-authorizer.html)
9580//
9581// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9582// with awserr.Error's Code and Message methods to get detailed information about
9583// the error.
9584//
9585// See the AWS API reference guide for Amazon API Gateway's
9586// API operation UpdateAuthorizer for usage and error information.
9587//
9588// Returned Error Types:
9589//   * UnauthorizedException
9590//   The request is denied because the caller has insufficient permissions.
9591//
9592//   * NotFoundException
9593//   The requested resource is not found. Make sure that the request URI is correct.
9594//
9595//   * BadRequestException
9596//   The submitted request is not valid, for example, the input is incomplete
9597//   or incorrect. See the accompanying error message for details.
9598//
9599//   * TooManyRequestsException
9600//   The request has reached its throttling limit. Retry after the specified time
9601//   period.
9602//
9603func (c *APIGateway) UpdateAuthorizer(input *UpdateAuthorizerInput) (*Authorizer, error) {
9604	req, out := c.UpdateAuthorizerRequest(input)
9605	return out, req.Send()
9606}
9607
9608// UpdateAuthorizerWithContext is the same as UpdateAuthorizer with the addition of
9609// the ability to pass a context and additional request options.
9610//
9611// See UpdateAuthorizer for details on how to use this API operation.
9612//
9613// The context must be non-nil and will be used for request cancellation. If
9614// the context is nil a panic will occur. In the future the SDK may create
9615// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9616// for more information on using Contexts.
9617func (c *APIGateway) UpdateAuthorizerWithContext(ctx aws.Context, input *UpdateAuthorizerInput, opts ...request.Option) (*Authorizer, error) {
9618	req, out := c.UpdateAuthorizerRequest(input)
9619	req.SetContext(ctx)
9620	req.ApplyOptions(opts...)
9621	return out, req.Send()
9622}
9623
9624const opUpdateBasePathMapping = "UpdateBasePathMapping"
9625
9626// UpdateBasePathMappingRequest generates a "aws/request.Request" representing the
9627// client's request for the UpdateBasePathMapping operation. The "output" return
9628// value will be populated with the request's response once the request completes
9629// successfully.
9630//
9631// Use "Send" method on the returned Request to send the API call to the service.
9632// the "output" return value is not valid until after Send returns without error.
9633//
9634// See UpdateBasePathMapping for more information on using the UpdateBasePathMapping
9635// API call, and error handling.
9636//
9637// This method is useful when you want to inject custom logic or configuration
9638// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9639//
9640//
9641//    // Example sending a request using the UpdateBasePathMappingRequest method.
9642//    req, resp := client.UpdateBasePathMappingRequest(params)
9643//
9644//    err := req.Send()
9645//    if err == nil { // resp is now filled
9646//        fmt.Println(resp)
9647//    }
9648func (c *APIGateway) UpdateBasePathMappingRequest(input *UpdateBasePathMappingInput) (req *request.Request, output *BasePathMapping) {
9649	op := &request.Operation{
9650		Name:       opUpdateBasePathMapping,
9651		HTTPMethod: "PATCH",
9652		HTTPPath:   "/domainnames/{domain_name}/basepathmappings/{base_path}",
9653	}
9654
9655	if input == nil {
9656		input = &UpdateBasePathMappingInput{}
9657	}
9658
9659	output = &BasePathMapping{}
9660	req = c.newRequest(op, input, output)
9661	return
9662}
9663
9664// UpdateBasePathMapping API operation for Amazon API Gateway.
9665//
9666// Changes information about the BasePathMapping resource.
9667//
9668// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9669// with awserr.Error's Code and Message methods to get detailed information about
9670// the error.
9671//
9672// See the AWS API reference guide for Amazon API Gateway's
9673// API operation UpdateBasePathMapping for usage and error information.
9674//
9675// Returned Error Types:
9676//   * UnauthorizedException
9677//   The request is denied because the caller has insufficient permissions.
9678//
9679//   * NotFoundException
9680//   The requested resource is not found. Make sure that the request URI is correct.
9681//
9682//   * ConflictException
9683//   The request configuration has conflicts. For details, see the accompanying
9684//   error message.
9685//
9686//   * BadRequestException
9687//   The submitted request is not valid, for example, the input is incomplete
9688//   or incorrect. See the accompanying error message for details.
9689//
9690//   * TooManyRequestsException
9691//   The request has reached its throttling limit. Retry after the specified time
9692//   period.
9693//
9694func (c *APIGateway) UpdateBasePathMapping(input *UpdateBasePathMappingInput) (*BasePathMapping, error) {
9695	req, out := c.UpdateBasePathMappingRequest(input)
9696	return out, req.Send()
9697}
9698
9699// UpdateBasePathMappingWithContext is the same as UpdateBasePathMapping with the addition of
9700// the ability to pass a context and additional request options.
9701//
9702// See UpdateBasePathMapping for details on how to use this API operation.
9703//
9704// The context must be non-nil and will be used for request cancellation. If
9705// the context is nil a panic will occur. In the future the SDK may create
9706// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9707// for more information on using Contexts.
9708func (c *APIGateway) UpdateBasePathMappingWithContext(ctx aws.Context, input *UpdateBasePathMappingInput, opts ...request.Option) (*BasePathMapping, error) {
9709	req, out := c.UpdateBasePathMappingRequest(input)
9710	req.SetContext(ctx)
9711	req.ApplyOptions(opts...)
9712	return out, req.Send()
9713}
9714
9715const opUpdateClientCertificate = "UpdateClientCertificate"
9716
9717// UpdateClientCertificateRequest generates a "aws/request.Request" representing the
9718// client's request for the UpdateClientCertificate operation. The "output" return
9719// value will be populated with the request's response once the request completes
9720// successfully.
9721//
9722// Use "Send" method on the returned Request to send the API call to the service.
9723// the "output" return value is not valid until after Send returns without error.
9724//
9725// See UpdateClientCertificate for more information on using the UpdateClientCertificate
9726// API call, and error handling.
9727//
9728// This method is useful when you want to inject custom logic or configuration
9729// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9730//
9731//
9732//    // Example sending a request using the UpdateClientCertificateRequest method.
9733//    req, resp := client.UpdateClientCertificateRequest(params)
9734//
9735//    err := req.Send()
9736//    if err == nil { // resp is now filled
9737//        fmt.Println(resp)
9738//    }
9739func (c *APIGateway) UpdateClientCertificateRequest(input *UpdateClientCertificateInput) (req *request.Request, output *ClientCertificate) {
9740	op := &request.Operation{
9741		Name:       opUpdateClientCertificate,
9742		HTTPMethod: "PATCH",
9743		HTTPPath:   "/clientcertificates/{clientcertificate_id}",
9744	}
9745
9746	if input == nil {
9747		input = &UpdateClientCertificateInput{}
9748	}
9749
9750	output = &ClientCertificate{}
9751	req = c.newRequest(op, input, output)
9752	return
9753}
9754
9755// UpdateClientCertificate API operation for Amazon API Gateway.
9756//
9757// Changes information about an ClientCertificate resource.
9758//
9759// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9760// with awserr.Error's Code and Message methods to get detailed information about
9761// the error.
9762//
9763// See the AWS API reference guide for Amazon API Gateway's
9764// API operation UpdateClientCertificate for usage and error information.
9765//
9766// Returned Error Types:
9767//   * UnauthorizedException
9768//   The request is denied because the caller has insufficient permissions.
9769//
9770//   * TooManyRequestsException
9771//   The request has reached its throttling limit. Retry after the specified time
9772//   period.
9773//
9774//   * BadRequestException
9775//   The submitted request is not valid, for example, the input is incomplete
9776//   or incorrect. See the accompanying error message for details.
9777//
9778//   * NotFoundException
9779//   The requested resource is not found. Make sure that the request URI is correct.
9780//
9781func (c *APIGateway) UpdateClientCertificate(input *UpdateClientCertificateInput) (*ClientCertificate, error) {
9782	req, out := c.UpdateClientCertificateRequest(input)
9783	return out, req.Send()
9784}
9785
9786// UpdateClientCertificateWithContext is the same as UpdateClientCertificate with the addition of
9787// the ability to pass a context and additional request options.
9788//
9789// See UpdateClientCertificate for details on how to use this API operation.
9790//
9791// The context must be non-nil and will be used for request cancellation. If
9792// the context is nil a panic will occur. In the future the SDK may create
9793// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9794// for more information on using Contexts.
9795func (c *APIGateway) UpdateClientCertificateWithContext(ctx aws.Context, input *UpdateClientCertificateInput, opts ...request.Option) (*ClientCertificate, error) {
9796	req, out := c.UpdateClientCertificateRequest(input)
9797	req.SetContext(ctx)
9798	req.ApplyOptions(opts...)
9799	return out, req.Send()
9800}
9801
9802const opUpdateDeployment = "UpdateDeployment"
9803
9804// UpdateDeploymentRequest generates a "aws/request.Request" representing the
9805// client's request for the UpdateDeployment operation. The "output" return
9806// value will be populated with the request's response once the request completes
9807// successfully.
9808//
9809// Use "Send" method on the returned Request to send the API call to the service.
9810// the "output" return value is not valid until after Send returns without error.
9811//
9812// See UpdateDeployment for more information on using the UpdateDeployment
9813// API call, and error handling.
9814//
9815// This method is useful when you want to inject custom logic or configuration
9816// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9817//
9818//
9819//    // Example sending a request using the UpdateDeploymentRequest method.
9820//    req, resp := client.UpdateDeploymentRequest(params)
9821//
9822//    err := req.Send()
9823//    if err == nil { // resp is now filled
9824//        fmt.Println(resp)
9825//    }
9826func (c *APIGateway) UpdateDeploymentRequest(input *UpdateDeploymentInput) (req *request.Request, output *Deployment) {
9827	op := &request.Operation{
9828		Name:       opUpdateDeployment,
9829		HTTPMethod: "PATCH",
9830		HTTPPath:   "/restapis/{restapi_id}/deployments/{deployment_id}",
9831	}
9832
9833	if input == nil {
9834		input = &UpdateDeploymentInput{}
9835	}
9836
9837	output = &Deployment{}
9838	req = c.newRequest(op, input, output)
9839	return
9840}
9841
9842// UpdateDeployment API operation for Amazon API Gateway.
9843//
9844// Changes information about a Deployment resource.
9845//
9846// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9847// with awserr.Error's Code and Message methods to get detailed information about
9848// the error.
9849//
9850// See the AWS API reference guide for Amazon API Gateway's
9851// API operation UpdateDeployment for usage and error information.
9852//
9853// Returned Error Types:
9854//   * UnauthorizedException
9855//   The request is denied because the caller has insufficient permissions.
9856//
9857//   * NotFoundException
9858//   The requested resource is not found. Make sure that the request URI is correct.
9859//
9860//   * BadRequestException
9861//   The submitted request is not valid, for example, the input is incomplete
9862//   or incorrect. See the accompanying error message for details.
9863//
9864//   * TooManyRequestsException
9865//   The request has reached its throttling limit. Retry after the specified time
9866//   period.
9867//
9868//   * ServiceUnavailableException
9869//   The requested service is not available. For details see the accompanying
9870//   error message. Retry after the specified time period.
9871//
9872func (c *APIGateway) UpdateDeployment(input *UpdateDeploymentInput) (*Deployment, error) {
9873	req, out := c.UpdateDeploymentRequest(input)
9874	return out, req.Send()
9875}
9876
9877// UpdateDeploymentWithContext is the same as UpdateDeployment with the addition of
9878// the ability to pass a context and additional request options.
9879//
9880// See UpdateDeployment for details on how to use this API operation.
9881//
9882// The context must be non-nil and will be used for request cancellation. If
9883// the context is nil a panic will occur. In the future the SDK may create
9884// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9885// for more information on using Contexts.
9886func (c *APIGateway) UpdateDeploymentWithContext(ctx aws.Context, input *UpdateDeploymentInput, opts ...request.Option) (*Deployment, error) {
9887	req, out := c.UpdateDeploymentRequest(input)
9888	req.SetContext(ctx)
9889	req.ApplyOptions(opts...)
9890	return out, req.Send()
9891}
9892
9893const opUpdateDocumentationPart = "UpdateDocumentationPart"
9894
9895// UpdateDocumentationPartRequest generates a "aws/request.Request" representing the
9896// client's request for the UpdateDocumentationPart operation. The "output" return
9897// value will be populated with the request's response once the request completes
9898// successfully.
9899//
9900// Use "Send" method on the returned Request to send the API call to the service.
9901// the "output" return value is not valid until after Send returns without error.
9902//
9903// See UpdateDocumentationPart for more information on using the UpdateDocumentationPart
9904// API call, and error handling.
9905//
9906// This method is useful when you want to inject custom logic or configuration
9907// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9908//
9909//
9910//    // Example sending a request using the UpdateDocumentationPartRequest method.
9911//    req, resp := client.UpdateDocumentationPartRequest(params)
9912//
9913//    err := req.Send()
9914//    if err == nil { // resp is now filled
9915//        fmt.Println(resp)
9916//    }
9917func (c *APIGateway) UpdateDocumentationPartRequest(input *UpdateDocumentationPartInput) (req *request.Request, output *DocumentationPart) {
9918	op := &request.Operation{
9919		Name:       opUpdateDocumentationPart,
9920		HTTPMethod: "PATCH",
9921		HTTPPath:   "/restapis/{restapi_id}/documentation/parts/{part_id}",
9922	}
9923
9924	if input == nil {
9925		input = &UpdateDocumentationPartInput{}
9926	}
9927
9928	output = &DocumentationPart{}
9929	req = c.newRequest(op, input, output)
9930	return
9931}
9932
9933// UpdateDocumentationPart API operation for Amazon API Gateway.
9934//
9935// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9936// with awserr.Error's Code and Message methods to get detailed information about
9937// the error.
9938//
9939// See the AWS API reference guide for Amazon API Gateway's
9940// API operation UpdateDocumentationPart for usage and error information.
9941//
9942// Returned Error Types:
9943//   * BadRequestException
9944//   The submitted request is not valid, for example, the input is incomplete
9945//   or incorrect. See the accompanying error message for details.
9946//
9947//   * UnauthorizedException
9948//   The request is denied because the caller has insufficient permissions.
9949//
9950//   * NotFoundException
9951//   The requested resource is not found. Make sure that the request URI is correct.
9952//
9953//   * ConflictException
9954//   The request configuration has conflicts. For details, see the accompanying
9955//   error message.
9956//
9957//   * LimitExceededException
9958//   The request exceeded the rate limit. Retry after the specified time period.
9959//
9960//   * TooManyRequestsException
9961//   The request has reached its throttling limit. Retry after the specified time
9962//   period.
9963//
9964func (c *APIGateway) UpdateDocumentationPart(input *UpdateDocumentationPartInput) (*DocumentationPart, error) {
9965	req, out := c.UpdateDocumentationPartRequest(input)
9966	return out, req.Send()
9967}
9968
9969// UpdateDocumentationPartWithContext is the same as UpdateDocumentationPart with the addition of
9970// the ability to pass a context and additional request options.
9971//
9972// See UpdateDocumentationPart for details on how to use this API operation.
9973//
9974// The context must be non-nil and will be used for request cancellation. If
9975// the context is nil a panic will occur. In the future the SDK may create
9976// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9977// for more information on using Contexts.
9978func (c *APIGateway) UpdateDocumentationPartWithContext(ctx aws.Context, input *UpdateDocumentationPartInput, opts ...request.Option) (*DocumentationPart, error) {
9979	req, out := c.UpdateDocumentationPartRequest(input)
9980	req.SetContext(ctx)
9981	req.ApplyOptions(opts...)
9982	return out, req.Send()
9983}
9984
9985const opUpdateDocumentationVersion = "UpdateDocumentationVersion"
9986
9987// UpdateDocumentationVersionRequest generates a "aws/request.Request" representing the
9988// client's request for the UpdateDocumentationVersion operation. The "output" return
9989// value will be populated with the request's response once the request completes
9990// successfully.
9991//
9992// Use "Send" method on the returned Request to send the API call to the service.
9993// the "output" return value is not valid until after Send returns without error.
9994//
9995// See UpdateDocumentationVersion for more information on using the UpdateDocumentationVersion
9996// API call, and error handling.
9997//
9998// This method is useful when you want to inject custom logic or configuration
9999// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10000//
10001//
10002//    // Example sending a request using the UpdateDocumentationVersionRequest method.
10003//    req, resp := client.UpdateDocumentationVersionRequest(params)
10004//
10005//    err := req.Send()
10006//    if err == nil { // resp is now filled
10007//        fmt.Println(resp)
10008//    }
10009func (c *APIGateway) UpdateDocumentationVersionRequest(input *UpdateDocumentationVersionInput) (req *request.Request, output *DocumentationVersion) {
10010	op := &request.Operation{
10011		Name:       opUpdateDocumentationVersion,
10012		HTTPMethod: "PATCH",
10013		HTTPPath:   "/restapis/{restapi_id}/documentation/versions/{doc_version}",
10014	}
10015
10016	if input == nil {
10017		input = &UpdateDocumentationVersionInput{}
10018	}
10019
10020	output = &DocumentationVersion{}
10021	req = c.newRequest(op, input, output)
10022	return
10023}
10024
10025// UpdateDocumentationVersion API operation for Amazon API Gateway.
10026//
10027// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10028// with awserr.Error's Code and Message methods to get detailed information about
10029// the error.
10030//
10031// See the AWS API reference guide for Amazon API Gateway's
10032// API operation UpdateDocumentationVersion for usage and error information.
10033//
10034// Returned Error Types:
10035//   * UnauthorizedException
10036//   The request is denied because the caller has insufficient permissions.
10037//
10038//   * NotFoundException
10039//   The requested resource is not found. Make sure that the request URI is correct.
10040//
10041//   * ConflictException
10042//   The request configuration has conflicts. For details, see the accompanying
10043//   error message.
10044//
10045//   * BadRequestException
10046//   The submitted request is not valid, for example, the input is incomplete
10047//   or incorrect. See the accompanying error message for details.
10048//
10049//   * TooManyRequestsException
10050//   The request has reached its throttling limit. Retry after the specified time
10051//   period.
10052//
10053func (c *APIGateway) UpdateDocumentationVersion(input *UpdateDocumentationVersionInput) (*DocumentationVersion, error) {
10054	req, out := c.UpdateDocumentationVersionRequest(input)
10055	return out, req.Send()
10056}
10057
10058// UpdateDocumentationVersionWithContext is the same as UpdateDocumentationVersion with the addition of
10059// the ability to pass a context and additional request options.
10060//
10061// See UpdateDocumentationVersion for details on how to use this API operation.
10062//
10063// The context must be non-nil and will be used for request cancellation. If
10064// the context is nil a panic will occur. In the future the SDK may create
10065// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10066// for more information on using Contexts.
10067func (c *APIGateway) UpdateDocumentationVersionWithContext(ctx aws.Context, input *UpdateDocumentationVersionInput, opts ...request.Option) (*DocumentationVersion, error) {
10068	req, out := c.UpdateDocumentationVersionRequest(input)
10069	req.SetContext(ctx)
10070	req.ApplyOptions(opts...)
10071	return out, req.Send()
10072}
10073
10074const opUpdateDomainName = "UpdateDomainName"
10075
10076// UpdateDomainNameRequest generates a "aws/request.Request" representing the
10077// client's request for the UpdateDomainName operation. The "output" return
10078// value will be populated with the request's response once the request completes
10079// successfully.
10080//
10081// Use "Send" method on the returned Request to send the API call to the service.
10082// the "output" return value is not valid until after Send returns without error.
10083//
10084// See UpdateDomainName for more information on using the UpdateDomainName
10085// API call, and error handling.
10086//
10087// This method is useful when you want to inject custom logic or configuration
10088// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10089//
10090//
10091//    // Example sending a request using the UpdateDomainNameRequest method.
10092//    req, resp := client.UpdateDomainNameRequest(params)
10093//
10094//    err := req.Send()
10095//    if err == nil { // resp is now filled
10096//        fmt.Println(resp)
10097//    }
10098func (c *APIGateway) UpdateDomainNameRequest(input *UpdateDomainNameInput) (req *request.Request, output *DomainName) {
10099	op := &request.Operation{
10100		Name:       opUpdateDomainName,
10101		HTTPMethod: "PATCH",
10102		HTTPPath:   "/domainnames/{domain_name}",
10103	}
10104
10105	if input == nil {
10106		input = &UpdateDomainNameInput{}
10107	}
10108
10109	output = &DomainName{}
10110	req = c.newRequest(op, input, output)
10111	return
10112}
10113
10114// UpdateDomainName API operation for Amazon API Gateway.
10115//
10116// Changes information about the DomainName resource.
10117//
10118// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10119// with awserr.Error's Code and Message methods to get detailed information about
10120// the error.
10121//
10122// See the AWS API reference guide for Amazon API Gateway's
10123// API operation UpdateDomainName for usage and error information.
10124//
10125// Returned Error Types:
10126//   * UnauthorizedException
10127//   The request is denied because the caller has insufficient permissions.
10128//
10129//   * NotFoundException
10130//   The requested resource is not found. Make sure that the request URI is correct.
10131//
10132//   * BadRequestException
10133//   The submitted request is not valid, for example, the input is incomplete
10134//   or incorrect. See the accompanying error message for details.
10135//
10136//   * ConflictException
10137//   The request configuration has conflicts. For details, see the accompanying
10138//   error message.
10139//
10140//   * TooManyRequestsException
10141//   The request has reached its throttling limit. Retry after the specified time
10142//   period.
10143//
10144func (c *APIGateway) UpdateDomainName(input *UpdateDomainNameInput) (*DomainName, error) {
10145	req, out := c.UpdateDomainNameRequest(input)
10146	return out, req.Send()
10147}
10148
10149// UpdateDomainNameWithContext is the same as UpdateDomainName with the addition of
10150// the ability to pass a context and additional request options.
10151//
10152// See UpdateDomainName for details on how to use this API operation.
10153//
10154// The context must be non-nil and will be used for request cancellation. If
10155// the context is nil a panic will occur. In the future the SDK may create
10156// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10157// for more information on using Contexts.
10158func (c *APIGateway) UpdateDomainNameWithContext(ctx aws.Context, input *UpdateDomainNameInput, opts ...request.Option) (*DomainName, error) {
10159	req, out := c.UpdateDomainNameRequest(input)
10160	req.SetContext(ctx)
10161	req.ApplyOptions(opts...)
10162	return out, req.Send()
10163}
10164
10165const opUpdateGatewayResponse = "UpdateGatewayResponse"
10166
10167// UpdateGatewayResponseRequest generates a "aws/request.Request" representing the
10168// client's request for the UpdateGatewayResponse operation. The "output" return
10169// value will be populated with the request's response once the request completes
10170// successfully.
10171//
10172// Use "Send" method on the returned Request to send the API call to the service.
10173// the "output" return value is not valid until after Send returns without error.
10174//
10175// See UpdateGatewayResponse for more information on using the UpdateGatewayResponse
10176// API call, and error handling.
10177//
10178// This method is useful when you want to inject custom logic or configuration
10179// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10180//
10181//
10182//    // Example sending a request using the UpdateGatewayResponseRequest method.
10183//    req, resp := client.UpdateGatewayResponseRequest(params)
10184//
10185//    err := req.Send()
10186//    if err == nil { // resp is now filled
10187//        fmt.Println(resp)
10188//    }
10189func (c *APIGateway) UpdateGatewayResponseRequest(input *UpdateGatewayResponseInput) (req *request.Request, output *UpdateGatewayResponseOutput) {
10190	op := &request.Operation{
10191		Name:       opUpdateGatewayResponse,
10192		HTTPMethod: "PATCH",
10193		HTTPPath:   "/restapis/{restapi_id}/gatewayresponses/{response_type}",
10194	}
10195
10196	if input == nil {
10197		input = &UpdateGatewayResponseInput{}
10198	}
10199
10200	output = &UpdateGatewayResponseOutput{}
10201	req = c.newRequest(op, input, output)
10202	return
10203}
10204
10205// UpdateGatewayResponse API operation for Amazon API Gateway.
10206//
10207// Updates a GatewayResponse of a specified response type on the given RestApi.
10208//
10209// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10210// with awserr.Error's Code and Message methods to get detailed information about
10211// the error.
10212//
10213// See the AWS API reference guide for Amazon API Gateway's
10214// API operation UpdateGatewayResponse for usage and error information.
10215//
10216// Returned Error Types:
10217//   * UnauthorizedException
10218//   The request is denied because the caller has insufficient permissions.
10219//
10220//   * NotFoundException
10221//   The requested resource is not found. Make sure that the request URI is correct.
10222//
10223//   * BadRequestException
10224//   The submitted request is not valid, for example, the input is incomplete
10225//   or incorrect. See the accompanying error message for details.
10226//
10227//   * TooManyRequestsException
10228//   The request has reached its throttling limit. Retry after the specified time
10229//   period.
10230//
10231func (c *APIGateway) UpdateGatewayResponse(input *UpdateGatewayResponseInput) (*UpdateGatewayResponseOutput, error) {
10232	req, out := c.UpdateGatewayResponseRequest(input)
10233	return out, req.Send()
10234}
10235
10236// UpdateGatewayResponseWithContext is the same as UpdateGatewayResponse with the addition of
10237// the ability to pass a context and additional request options.
10238//
10239// See UpdateGatewayResponse for details on how to use this API operation.
10240//
10241// The context must be non-nil and will be used for request cancellation. If
10242// the context is nil a panic will occur. In the future the SDK may create
10243// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10244// for more information on using Contexts.
10245func (c *APIGateway) UpdateGatewayResponseWithContext(ctx aws.Context, input *UpdateGatewayResponseInput, opts ...request.Option) (*UpdateGatewayResponseOutput, error) {
10246	req, out := c.UpdateGatewayResponseRequest(input)
10247	req.SetContext(ctx)
10248	req.ApplyOptions(opts...)
10249	return out, req.Send()
10250}
10251
10252const opUpdateIntegration = "UpdateIntegration"
10253
10254// UpdateIntegrationRequest generates a "aws/request.Request" representing the
10255// client's request for the UpdateIntegration operation. The "output" return
10256// value will be populated with the request's response once the request completes
10257// successfully.
10258//
10259// Use "Send" method on the returned Request to send the API call to the service.
10260// the "output" return value is not valid until after Send returns without error.
10261//
10262// See UpdateIntegration for more information on using the UpdateIntegration
10263// API call, and error handling.
10264//
10265// This method is useful when you want to inject custom logic or configuration
10266// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10267//
10268//
10269//    // Example sending a request using the UpdateIntegrationRequest method.
10270//    req, resp := client.UpdateIntegrationRequest(params)
10271//
10272//    err := req.Send()
10273//    if err == nil { // resp is now filled
10274//        fmt.Println(resp)
10275//    }
10276func (c *APIGateway) UpdateIntegrationRequest(input *UpdateIntegrationInput) (req *request.Request, output *Integration) {
10277	op := &request.Operation{
10278		Name:       opUpdateIntegration,
10279		HTTPMethod: "PATCH",
10280		HTTPPath:   "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/integration",
10281	}
10282
10283	if input == nil {
10284		input = &UpdateIntegrationInput{}
10285	}
10286
10287	output = &Integration{}
10288	req = c.newRequest(op, input, output)
10289	return
10290}
10291
10292// UpdateIntegration API operation for Amazon API Gateway.
10293//
10294// Represents an update integration.
10295//
10296// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10297// with awserr.Error's Code and Message methods to get detailed information about
10298// the error.
10299//
10300// See the AWS API reference guide for Amazon API Gateway's
10301// API operation UpdateIntegration for usage and error information.
10302//
10303// Returned Error Types:
10304//   * UnauthorizedException
10305//   The request is denied because the caller has insufficient permissions.
10306//
10307//   * NotFoundException
10308//   The requested resource is not found. Make sure that the request URI is correct.
10309//
10310//   * BadRequestException
10311//   The submitted request is not valid, for example, the input is incomplete
10312//   or incorrect. See the accompanying error message for details.
10313//
10314//   * TooManyRequestsException
10315//   The request has reached its throttling limit. Retry after the specified time
10316//   period.
10317//
10318//   * ConflictException
10319//   The request configuration has conflicts. For details, see the accompanying
10320//   error message.
10321//
10322func (c *APIGateway) UpdateIntegration(input *UpdateIntegrationInput) (*Integration, error) {
10323	req, out := c.UpdateIntegrationRequest(input)
10324	return out, req.Send()
10325}
10326
10327// UpdateIntegrationWithContext is the same as UpdateIntegration with the addition of
10328// the ability to pass a context and additional request options.
10329//
10330// See UpdateIntegration for details on how to use this API operation.
10331//
10332// The context must be non-nil and will be used for request cancellation. If
10333// the context is nil a panic will occur. In the future the SDK may create
10334// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10335// for more information on using Contexts.
10336func (c *APIGateway) UpdateIntegrationWithContext(ctx aws.Context, input *UpdateIntegrationInput, opts ...request.Option) (*Integration, error) {
10337	req, out := c.UpdateIntegrationRequest(input)
10338	req.SetContext(ctx)
10339	req.ApplyOptions(opts...)
10340	return out, req.Send()
10341}
10342
10343const opUpdateIntegrationResponse = "UpdateIntegrationResponse"
10344
10345// UpdateIntegrationResponseRequest generates a "aws/request.Request" representing the
10346// client's request for the UpdateIntegrationResponse operation. The "output" return
10347// value will be populated with the request's response once the request completes
10348// successfully.
10349//
10350// Use "Send" method on the returned Request to send the API call to the service.
10351// the "output" return value is not valid until after Send returns without error.
10352//
10353// See UpdateIntegrationResponse for more information on using the UpdateIntegrationResponse
10354// API call, and error handling.
10355//
10356// This method is useful when you want to inject custom logic or configuration
10357// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10358//
10359//
10360//    // Example sending a request using the UpdateIntegrationResponseRequest method.
10361//    req, resp := client.UpdateIntegrationResponseRequest(params)
10362//
10363//    err := req.Send()
10364//    if err == nil { // resp is now filled
10365//        fmt.Println(resp)
10366//    }
10367func (c *APIGateway) UpdateIntegrationResponseRequest(input *UpdateIntegrationResponseInput) (req *request.Request, output *IntegrationResponse) {
10368	op := &request.Operation{
10369		Name:       opUpdateIntegrationResponse,
10370		HTTPMethod: "PATCH",
10371		HTTPPath:   "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/integration/responses/{status_code}",
10372	}
10373
10374	if input == nil {
10375		input = &UpdateIntegrationResponseInput{}
10376	}
10377
10378	output = &IntegrationResponse{}
10379	req = c.newRequest(op, input, output)
10380	return
10381}
10382
10383// UpdateIntegrationResponse API operation for Amazon API Gateway.
10384//
10385// Represents an update integration response.
10386//
10387// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10388// with awserr.Error's Code and Message methods to get detailed information about
10389// the error.
10390//
10391// See the AWS API reference guide for Amazon API Gateway's
10392// API operation UpdateIntegrationResponse for usage and error information.
10393//
10394// Returned Error Types:
10395//   * UnauthorizedException
10396//   The request is denied because the caller has insufficient permissions.
10397//
10398//   * NotFoundException
10399//   The requested resource is not found. Make sure that the request URI is correct.
10400//
10401//   * ConflictException
10402//   The request configuration has conflicts. For details, see the accompanying
10403//   error message.
10404//
10405//   * BadRequestException
10406//   The submitted request is not valid, for example, the input is incomplete
10407//   or incorrect. See the accompanying error message for details.
10408//
10409//   * TooManyRequestsException
10410//   The request has reached its throttling limit. Retry after the specified time
10411//   period.
10412//
10413func (c *APIGateway) UpdateIntegrationResponse(input *UpdateIntegrationResponseInput) (*IntegrationResponse, error) {
10414	req, out := c.UpdateIntegrationResponseRequest(input)
10415	return out, req.Send()
10416}
10417
10418// UpdateIntegrationResponseWithContext is the same as UpdateIntegrationResponse with the addition of
10419// the ability to pass a context and additional request options.
10420//
10421// See UpdateIntegrationResponse for details on how to use this API operation.
10422//
10423// The context must be non-nil and will be used for request cancellation. If
10424// the context is nil a panic will occur. In the future the SDK may create
10425// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10426// for more information on using Contexts.
10427func (c *APIGateway) UpdateIntegrationResponseWithContext(ctx aws.Context, input *UpdateIntegrationResponseInput, opts ...request.Option) (*IntegrationResponse, error) {
10428	req, out := c.UpdateIntegrationResponseRequest(input)
10429	req.SetContext(ctx)
10430	req.ApplyOptions(opts...)
10431	return out, req.Send()
10432}
10433
10434const opUpdateMethod = "UpdateMethod"
10435
10436// UpdateMethodRequest generates a "aws/request.Request" representing the
10437// client's request for the UpdateMethod operation. The "output" return
10438// value will be populated with the request's response once the request completes
10439// successfully.
10440//
10441// Use "Send" method on the returned Request to send the API call to the service.
10442// the "output" return value is not valid until after Send returns without error.
10443//
10444// See UpdateMethod for more information on using the UpdateMethod
10445// API call, and error handling.
10446//
10447// This method is useful when you want to inject custom logic or configuration
10448// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10449//
10450//
10451//    // Example sending a request using the UpdateMethodRequest method.
10452//    req, resp := client.UpdateMethodRequest(params)
10453//
10454//    err := req.Send()
10455//    if err == nil { // resp is now filled
10456//        fmt.Println(resp)
10457//    }
10458func (c *APIGateway) UpdateMethodRequest(input *UpdateMethodInput) (req *request.Request, output *Method) {
10459	op := &request.Operation{
10460		Name:       opUpdateMethod,
10461		HTTPMethod: "PATCH",
10462		HTTPPath:   "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}",
10463	}
10464
10465	if input == nil {
10466		input = &UpdateMethodInput{}
10467	}
10468
10469	output = &Method{}
10470	req = c.newRequest(op, input, output)
10471	return
10472}
10473
10474// UpdateMethod API operation for Amazon API Gateway.
10475//
10476// Updates an existing Method resource.
10477//
10478// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10479// with awserr.Error's Code and Message methods to get detailed information about
10480// the error.
10481//
10482// See the AWS API reference guide for Amazon API Gateway's
10483// API operation UpdateMethod for usage and error information.
10484//
10485// Returned Error Types:
10486//   * UnauthorizedException
10487//   The request is denied because the caller has insufficient permissions.
10488//
10489//   * NotFoundException
10490//   The requested resource is not found. Make sure that the request URI is correct.
10491//
10492//   * BadRequestException
10493//   The submitted request is not valid, for example, the input is incomplete
10494//   or incorrect. See the accompanying error message for details.
10495//
10496//   * ConflictException
10497//   The request configuration has conflicts. For details, see the accompanying
10498//   error message.
10499//
10500//   * TooManyRequestsException
10501//   The request has reached its throttling limit. Retry after the specified time
10502//   period.
10503//
10504func (c *APIGateway) UpdateMethod(input *UpdateMethodInput) (*Method, error) {
10505	req, out := c.UpdateMethodRequest(input)
10506	return out, req.Send()
10507}
10508
10509// UpdateMethodWithContext is the same as UpdateMethod with the addition of
10510// the ability to pass a context and additional request options.
10511//
10512// See UpdateMethod for details on how to use this API operation.
10513//
10514// The context must be non-nil and will be used for request cancellation. If
10515// the context is nil a panic will occur. In the future the SDK may create
10516// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10517// for more information on using Contexts.
10518func (c *APIGateway) UpdateMethodWithContext(ctx aws.Context, input *UpdateMethodInput, opts ...request.Option) (*Method, error) {
10519	req, out := c.UpdateMethodRequest(input)
10520	req.SetContext(ctx)
10521	req.ApplyOptions(opts...)
10522	return out, req.Send()
10523}
10524
10525const opUpdateMethodResponse = "UpdateMethodResponse"
10526
10527// UpdateMethodResponseRequest generates a "aws/request.Request" representing the
10528// client's request for the UpdateMethodResponse operation. The "output" return
10529// value will be populated with the request's response once the request completes
10530// successfully.
10531//
10532// Use "Send" method on the returned Request to send the API call to the service.
10533// the "output" return value is not valid until after Send returns without error.
10534//
10535// See UpdateMethodResponse for more information on using the UpdateMethodResponse
10536// API call, and error handling.
10537//
10538// This method is useful when you want to inject custom logic or configuration
10539// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10540//
10541//
10542//    // Example sending a request using the UpdateMethodResponseRequest method.
10543//    req, resp := client.UpdateMethodResponseRequest(params)
10544//
10545//    err := req.Send()
10546//    if err == nil { // resp is now filled
10547//        fmt.Println(resp)
10548//    }
10549func (c *APIGateway) UpdateMethodResponseRequest(input *UpdateMethodResponseInput) (req *request.Request, output *MethodResponse) {
10550	op := &request.Operation{
10551		Name:       opUpdateMethodResponse,
10552		HTTPMethod: "PATCH",
10553		HTTPPath:   "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/responses/{status_code}",
10554	}
10555
10556	if input == nil {
10557		input = &UpdateMethodResponseInput{}
10558	}
10559
10560	output = &MethodResponse{}
10561	req = c.newRequest(op, input, output)
10562	return
10563}
10564
10565// UpdateMethodResponse API operation for Amazon API Gateway.
10566//
10567// Updates an existing MethodResponse resource.
10568//
10569// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10570// with awserr.Error's Code and Message methods to get detailed information about
10571// the error.
10572//
10573// See the AWS API reference guide for Amazon API Gateway's
10574// API operation UpdateMethodResponse for usage and error information.
10575//
10576// Returned Error Types:
10577//   * UnauthorizedException
10578//   The request is denied because the caller has insufficient permissions.
10579//
10580//   * NotFoundException
10581//   The requested resource is not found. Make sure that the request URI is correct.
10582//
10583//   * ConflictException
10584//   The request configuration has conflicts. For details, see the accompanying
10585//   error message.
10586//
10587//   * LimitExceededException
10588//   The request exceeded the rate limit. Retry after the specified time period.
10589//
10590//   * BadRequestException
10591//   The submitted request is not valid, for example, the input is incomplete
10592//   or incorrect. See the accompanying error message for details.
10593//
10594//   * TooManyRequestsException
10595//   The request has reached its throttling limit. Retry after the specified time
10596//   period.
10597//
10598func (c *APIGateway) UpdateMethodResponse(input *UpdateMethodResponseInput) (*MethodResponse, error) {
10599	req, out := c.UpdateMethodResponseRequest(input)
10600	return out, req.Send()
10601}
10602
10603// UpdateMethodResponseWithContext is the same as UpdateMethodResponse with the addition of
10604// the ability to pass a context and additional request options.
10605//
10606// See UpdateMethodResponse for details on how to use this API operation.
10607//
10608// The context must be non-nil and will be used for request cancellation. If
10609// the context is nil a panic will occur. In the future the SDK may create
10610// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10611// for more information on using Contexts.
10612func (c *APIGateway) UpdateMethodResponseWithContext(ctx aws.Context, input *UpdateMethodResponseInput, opts ...request.Option) (*MethodResponse, error) {
10613	req, out := c.UpdateMethodResponseRequest(input)
10614	req.SetContext(ctx)
10615	req.ApplyOptions(opts...)
10616	return out, req.Send()
10617}
10618
10619const opUpdateModel = "UpdateModel"
10620
10621// UpdateModelRequest generates a "aws/request.Request" representing the
10622// client's request for the UpdateModel operation. The "output" return
10623// value will be populated with the request's response once the request completes
10624// successfully.
10625//
10626// Use "Send" method on the returned Request to send the API call to the service.
10627// the "output" return value is not valid until after Send returns without error.
10628//
10629// See UpdateModel for more information on using the UpdateModel
10630// API call, and error handling.
10631//
10632// This method is useful when you want to inject custom logic or configuration
10633// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10634//
10635//
10636//    // Example sending a request using the UpdateModelRequest method.
10637//    req, resp := client.UpdateModelRequest(params)
10638//
10639//    err := req.Send()
10640//    if err == nil { // resp is now filled
10641//        fmt.Println(resp)
10642//    }
10643func (c *APIGateway) UpdateModelRequest(input *UpdateModelInput) (req *request.Request, output *Model) {
10644	op := &request.Operation{
10645		Name:       opUpdateModel,
10646		HTTPMethod: "PATCH",
10647		HTTPPath:   "/restapis/{restapi_id}/models/{model_name}",
10648	}
10649
10650	if input == nil {
10651		input = &UpdateModelInput{}
10652	}
10653
10654	output = &Model{}
10655	req = c.newRequest(op, input, output)
10656	return
10657}
10658
10659// UpdateModel API operation for Amazon API Gateway.
10660//
10661// Changes information about a model.
10662//
10663// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10664// with awserr.Error's Code and Message methods to get detailed information about
10665// the error.
10666//
10667// See the AWS API reference guide for Amazon API Gateway's
10668// API operation UpdateModel for usage and error information.
10669//
10670// Returned Error Types:
10671//   * UnauthorizedException
10672//   The request is denied because the caller has insufficient permissions.
10673//
10674//   * NotFoundException
10675//   The requested resource is not found. Make sure that the request URI is correct.
10676//
10677//   * BadRequestException
10678//   The submitted request is not valid, for example, the input is incomplete
10679//   or incorrect. See the accompanying error message for details.
10680//
10681//   * ConflictException
10682//   The request configuration has conflicts. For details, see the accompanying
10683//   error message.
10684//
10685//   * TooManyRequestsException
10686//   The request has reached its throttling limit. Retry after the specified time
10687//   period.
10688//
10689func (c *APIGateway) UpdateModel(input *UpdateModelInput) (*Model, error) {
10690	req, out := c.UpdateModelRequest(input)
10691	return out, req.Send()
10692}
10693
10694// UpdateModelWithContext is the same as UpdateModel with the addition of
10695// the ability to pass a context and additional request options.
10696//
10697// See UpdateModel for details on how to use this API operation.
10698//
10699// The context must be non-nil and will be used for request cancellation. If
10700// the context is nil a panic will occur. In the future the SDK may create
10701// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10702// for more information on using Contexts.
10703func (c *APIGateway) UpdateModelWithContext(ctx aws.Context, input *UpdateModelInput, opts ...request.Option) (*Model, error) {
10704	req, out := c.UpdateModelRequest(input)
10705	req.SetContext(ctx)
10706	req.ApplyOptions(opts...)
10707	return out, req.Send()
10708}
10709
10710const opUpdateRequestValidator = "UpdateRequestValidator"
10711
10712// UpdateRequestValidatorRequest generates a "aws/request.Request" representing the
10713// client's request for the UpdateRequestValidator operation. The "output" return
10714// value will be populated with the request's response once the request completes
10715// successfully.
10716//
10717// Use "Send" method on the returned Request to send the API call to the service.
10718// the "output" return value is not valid until after Send returns without error.
10719//
10720// See UpdateRequestValidator for more information on using the UpdateRequestValidator
10721// API call, and error handling.
10722//
10723// This method is useful when you want to inject custom logic or configuration
10724// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10725//
10726//
10727//    // Example sending a request using the UpdateRequestValidatorRequest method.
10728//    req, resp := client.UpdateRequestValidatorRequest(params)
10729//
10730//    err := req.Send()
10731//    if err == nil { // resp is now filled
10732//        fmt.Println(resp)
10733//    }
10734func (c *APIGateway) UpdateRequestValidatorRequest(input *UpdateRequestValidatorInput) (req *request.Request, output *UpdateRequestValidatorOutput) {
10735	op := &request.Operation{
10736		Name:       opUpdateRequestValidator,
10737		HTTPMethod: "PATCH",
10738		HTTPPath:   "/restapis/{restapi_id}/requestvalidators/{requestvalidator_id}",
10739	}
10740
10741	if input == nil {
10742		input = &UpdateRequestValidatorInput{}
10743	}
10744
10745	output = &UpdateRequestValidatorOutput{}
10746	req = c.newRequest(op, input, output)
10747	return
10748}
10749
10750// UpdateRequestValidator API operation for Amazon API Gateway.
10751//
10752// Updates a RequestValidator of a given RestApi.
10753//
10754// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10755// with awserr.Error's Code and Message methods to get detailed information about
10756// the error.
10757//
10758// See the AWS API reference guide for Amazon API Gateway's
10759// API operation UpdateRequestValidator for usage and error information.
10760//
10761// Returned Error Types:
10762//   * UnauthorizedException
10763//   The request is denied because the caller has insufficient permissions.
10764//
10765//   * NotFoundException
10766//   The requested resource is not found. Make sure that the request URI is correct.
10767//
10768//   * BadRequestException
10769//   The submitted request is not valid, for example, the input is incomplete
10770//   or incorrect. See the accompanying error message for details.
10771//
10772//   * TooManyRequestsException
10773//   The request has reached its throttling limit. Retry after the specified time
10774//   period.
10775//
10776func (c *APIGateway) UpdateRequestValidator(input *UpdateRequestValidatorInput) (*UpdateRequestValidatorOutput, error) {
10777	req, out := c.UpdateRequestValidatorRequest(input)
10778	return out, req.Send()
10779}
10780
10781// UpdateRequestValidatorWithContext is the same as UpdateRequestValidator with the addition of
10782// the ability to pass a context and additional request options.
10783//
10784// See UpdateRequestValidator for details on how to use this API operation.
10785//
10786// The context must be non-nil and will be used for request cancellation. If
10787// the context is nil a panic will occur. In the future the SDK may create
10788// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10789// for more information on using Contexts.
10790func (c *APIGateway) UpdateRequestValidatorWithContext(ctx aws.Context, input *UpdateRequestValidatorInput, opts ...request.Option) (*UpdateRequestValidatorOutput, error) {
10791	req, out := c.UpdateRequestValidatorRequest(input)
10792	req.SetContext(ctx)
10793	req.ApplyOptions(opts...)
10794	return out, req.Send()
10795}
10796
10797const opUpdateResource = "UpdateResource"
10798
10799// UpdateResourceRequest generates a "aws/request.Request" representing the
10800// client's request for the UpdateResource operation. The "output" return
10801// value will be populated with the request's response once the request completes
10802// successfully.
10803//
10804// Use "Send" method on the returned Request to send the API call to the service.
10805// the "output" return value is not valid until after Send returns without error.
10806//
10807// See UpdateResource for more information on using the UpdateResource
10808// API call, and error handling.
10809//
10810// This method is useful when you want to inject custom logic or configuration
10811// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10812//
10813//
10814//    // Example sending a request using the UpdateResourceRequest method.
10815//    req, resp := client.UpdateResourceRequest(params)
10816//
10817//    err := req.Send()
10818//    if err == nil { // resp is now filled
10819//        fmt.Println(resp)
10820//    }
10821func (c *APIGateway) UpdateResourceRequest(input *UpdateResourceInput) (req *request.Request, output *Resource) {
10822	op := &request.Operation{
10823		Name:       opUpdateResource,
10824		HTTPMethod: "PATCH",
10825		HTTPPath:   "/restapis/{restapi_id}/resources/{resource_id}",
10826	}
10827
10828	if input == nil {
10829		input = &UpdateResourceInput{}
10830	}
10831
10832	output = &Resource{}
10833	req = c.newRequest(op, input, output)
10834	return
10835}
10836
10837// UpdateResource API operation for Amazon API Gateway.
10838//
10839// Changes information about a Resource resource.
10840//
10841// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10842// with awserr.Error's Code and Message methods to get detailed information about
10843// the error.
10844//
10845// See the AWS API reference guide for Amazon API Gateway's
10846// API operation UpdateResource for usage and error information.
10847//
10848// Returned Error Types:
10849//   * UnauthorizedException
10850//   The request is denied because the caller has insufficient permissions.
10851//
10852//   * NotFoundException
10853//   The requested resource is not found. Make sure that the request URI is correct.
10854//
10855//   * ConflictException
10856//   The request configuration has conflicts. For details, see the accompanying
10857//   error message.
10858//
10859//   * BadRequestException
10860//   The submitted request is not valid, for example, the input is incomplete
10861//   or incorrect. See the accompanying error message for details.
10862//
10863//   * TooManyRequestsException
10864//   The request has reached its throttling limit. Retry after the specified time
10865//   period.
10866//
10867func (c *APIGateway) UpdateResource(input *UpdateResourceInput) (*Resource, error) {
10868	req, out := c.UpdateResourceRequest(input)
10869	return out, req.Send()
10870}
10871
10872// UpdateResourceWithContext is the same as UpdateResource with the addition of
10873// the ability to pass a context and additional request options.
10874//
10875// See UpdateResource for details on how to use this API operation.
10876//
10877// The context must be non-nil and will be used for request cancellation. If
10878// the context is nil a panic will occur. In the future the SDK may create
10879// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10880// for more information on using Contexts.
10881func (c *APIGateway) UpdateResourceWithContext(ctx aws.Context, input *UpdateResourceInput, opts ...request.Option) (*Resource, error) {
10882	req, out := c.UpdateResourceRequest(input)
10883	req.SetContext(ctx)
10884	req.ApplyOptions(opts...)
10885	return out, req.Send()
10886}
10887
10888const opUpdateRestApi = "UpdateRestApi"
10889
10890// UpdateRestApiRequest generates a "aws/request.Request" representing the
10891// client's request for the UpdateRestApi operation. The "output" return
10892// value will be populated with the request's response once the request completes
10893// successfully.
10894//
10895// Use "Send" method on the returned Request to send the API call to the service.
10896// the "output" return value is not valid until after Send returns without error.
10897//
10898// See UpdateRestApi for more information on using the UpdateRestApi
10899// API call, and error handling.
10900//
10901// This method is useful when you want to inject custom logic or configuration
10902// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10903//
10904//
10905//    // Example sending a request using the UpdateRestApiRequest method.
10906//    req, resp := client.UpdateRestApiRequest(params)
10907//
10908//    err := req.Send()
10909//    if err == nil { // resp is now filled
10910//        fmt.Println(resp)
10911//    }
10912func (c *APIGateway) UpdateRestApiRequest(input *UpdateRestApiInput) (req *request.Request, output *RestApi) {
10913	op := &request.Operation{
10914		Name:       opUpdateRestApi,
10915		HTTPMethod: "PATCH",
10916		HTTPPath:   "/restapis/{restapi_id}",
10917	}
10918
10919	if input == nil {
10920		input = &UpdateRestApiInput{}
10921	}
10922
10923	output = &RestApi{}
10924	req = c.newRequest(op, input, output)
10925	return
10926}
10927
10928// UpdateRestApi API operation for Amazon API Gateway.
10929//
10930// Changes information about the specified API.
10931//
10932// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10933// with awserr.Error's Code and Message methods to get detailed information about
10934// the error.
10935//
10936// See the AWS API reference guide for Amazon API Gateway's
10937// API operation UpdateRestApi for usage and error information.
10938//
10939// Returned Error Types:
10940//   * UnauthorizedException
10941//   The request is denied because the caller has insufficient permissions.
10942//
10943//   * NotFoundException
10944//   The requested resource is not found. Make sure that the request URI is correct.
10945//
10946//   * ConflictException
10947//   The request configuration has conflicts. For details, see the accompanying
10948//   error message.
10949//
10950//   * BadRequestException
10951//   The submitted request is not valid, for example, the input is incomplete
10952//   or incorrect. See the accompanying error message for details.
10953//
10954//   * TooManyRequestsException
10955//   The request has reached its throttling limit. Retry after the specified time
10956//   period.
10957//
10958func (c *APIGateway) UpdateRestApi(input *UpdateRestApiInput) (*RestApi, error) {
10959	req, out := c.UpdateRestApiRequest(input)
10960	return out, req.Send()
10961}
10962
10963// UpdateRestApiWithContext is the same as UpdateRestApi with the addition of
10964// the ability to pass a context and additional request options.
10965//
10966// See UpdateRestApi for details on how to use this API operation.
10967//
10968// The context must be non-nil and will be used for request cancellation. If
10969// the context is nil a panic will occur. In the future the SDK may create
10970// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10971// for more information on using Contexts.
10972func (c *APIGateway) UpdateRestApiWithContext(ctx aws.Context, input *UpdateRestApiInput, opts ...request.Option) (*RestApi, error) {
10973	req, out := c.UpdateRestApiRequest(input)
10974	req.SetContext(ctx)
10975	req.ApplyOptions(opts...)
10976	return out, req.Send()
10977}
10978
10979const opUpdateStage = "UpdateStage"
10980
10981// UpdateStageRequest generates a "aws/request.Request" representing the
10982// client's request for the UpdateStage operation. The "output" return
10983// value will be populated with the request's response once the request completes
10984// successfully.
10985//
10986// Use "Send" method on the returned Request to send the API call to the service.
10987// the "output" return value is not valid until after Send returns without error.
10988//
10989// See UpdateStage for more information on using the UpdateStage
10990// API call, and error handling.
10991//
10992// This method is useful when you want to inject custom logic or configuration
10993// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10994//
10995//
10996//    // Example sending a request using the UpdateStageRequest method.
10997//    req, resp := client.UpdateStageRequest(params)
10998//
10999//    err := req.Send()
11000//    if err == nil { // resp is now filled
11001//        fmt.Println(resp)
11002//    }
11003func (c *APIGateway) UpdateStageRequest(input *UpdateStageInput) (req *request.Request, output *Stage) {
11004	op := &request.Operation{
11005		Name:       opUpdateStage,
11006		HTTPMethod: "PATCH",
11007		HTTPPath:   "/restapis/{restapi_id}/stages/{stage_name}",
11008	}
11009
11010	if input == nil {
11011		input = &UpdateStageInput{}
11012	}
11013
11014	output = &Stage{}
11015	req = c.newRequest(op, input, output)
11016	return
11017}
11018
11019// UpdateStage API operation for Amazon API Gateway.
11020//
11021// Changes information about a Stage resource.
11022//
11023// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11024// with awserr.Error's Code and Message methods to get detailed information about
11025// the error.
11026//
11027// See the AWS API reference guide for Amazon API Gateway's
11028// API operation UpdateStage for usage and error information.
11029//
11030// Returned Error Types:
11031//   * UnauthorizedException
11032//   The request is denied because the caller has insufficient permissions.
11033//
11034//   * NotFoundException
11035//   The requested resource is not found. Make sure that the request URI is correct.
11036//
11037//   * ConflictException
11038//   The request configuration has conflicts. For details, see the accompanying
11039//   error message.
11040//
11041//   * BadRequestException
11042//   The submitted request is not valid, for example, the input is incomplete
11043//   or incorrect. See the accompanying error message for details.
11044//
11045//   * TooManyRequestsException
11046//   The request has reached its throttling limit. Retry after the specified time
11047//   period.
11048//
11049func (c *APIGateway) UpdateStage(input *UpdateStageInput) (*Stage, error) {
11050	req, out := c.UpdateStageRequest(input)
11051	return out, req.Send()
11052}
11053
11054// UpdateStageWithContext is the same as UpdateStage with the addition of
11055// the ability to pass a context and additional request options.
11056//
11057// See UpdateStage for details on how to use this API operation.
11058//
11059// The context must be non-nil and will be used for request cancellation. If
11060// the context is nil a panic will occur. In the future the SDK may create
11061// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11062// for more information on using Contexts.
11063func (c *APIGateway) UpdateStageWithContext(ctx aws.Context, input *UpdateStageInput, opts ...request.Option) (*Stage, error) {
11064	req, out := c.UpdateStageRequest(input)
11065	req.SetContext(ctx)
11066	req.ApplyOptions(opts...)
11067	return out, req.Send()
11068}
11069
11070const opUpdateUsage = "UpdateUsage"
11071
11072// UpdateUsageRequest generates a "aws/request.Request" representing the
11073// client's request for the UpdateUsage operation. The "output" return
11074// value will be populated with the request's response once the request completes
11075// successfully.
11076//
11077// Use "Send" method on the returned Request to send the API call to the service.
11078// the "output" return value is not valid until after Send returns without error.
11079//
11080// See UpdateUsage for more information on using the UpdateUsage
11081// API call, and error handling.
11082//
11083// This method is useful when you want to inject custom logic or configuration
11084// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11085//
11086//
11087//    // Example sending a request using the UpdateUsageRequest method.
11088//    req, resp := client.UpdateUsageRequest(params)
11089//
11090//    err := req.Send()
11091//    if err == nil { // resp is now filled
11092//        fmt.Println(resp)
11093//    }
11094func (c *APIGateway) UpdateUsageRequest(input *UpdateUsageInput) (req *request.Request, output *Usage) {
11095	op := &request.Operation{
11096		Name:       opUpdateUsage,
11097		HTTPMethod: "PATCH",
11098		HTTPPath:   "/usageplans/{usageplanId}/keys/{keyId}/usage",
11099	}
11100
11101	if input == nil {
11102		input = &UpdateUsageInput{}
11103	}
11104
11105	output = &Usage{}
11106	req = c.newRequest(op, input, output)
11107	return
11108}
11109
11110// UpdateUsage API operation for Amazon API Gateway.
11111//
11112// Grants a temporary extension to the remaining quota of a usage plan associated
11113// with a specified API key.
11114//
11115// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11116// with awserr.Error's Code and Message methods to get detailed information about
11117// the error.
11118//
11119// See the AWS API reference guide for Amazon API Gateway's
11120// API operation UpdateUsage for usage and error information.
11121//
11122// Returned Error Types:
11123//   * UnauthorizedException
11124//   The request is denied because the caller has insufficient permissions.
11125//
11126//   * TooManyRequestsException
11127//   The request has reached its throttling limit. Retry after the specified time
11128//   period.
11129//
11130//   * BadRequestException
11131//   The submitted request is not valid, for example, the input is incomplete
11132//   or incorrect. See the accompanying error message for details.
11133//
11134//   * NotFoundException
11135//   The requested resource is not found. Make sure that the request URI is correct.
11136//
11137func (c *APIGateway) UpdateUsage(input *UpdateUsageInput) (*Usage, error) {
11138	req, out := c.UpdateUsageRequest(input)
11139	return out, req.Send()
11140}
11141
11142// UpdateUsageWithContext is the same as UpdateUsage with the addition of
11143// the ability to pass a context and additional request options.
11144//
11145// See UpdateUsage for details on how to use this API operation.
11146//
11147// The context must be non-nil and will be used for request cancellation. If
11148// the context is nil a panic will occur. In the future the SDK may create
11149// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11150// for more information on using Contexts.
11151func (c *APIGateway) UpdateUsageWithContext(ctx aws.Context, input *UpdateUsageInput, opts ...request.Option) (*Usage, error) {
11152	req, out := c.UpdateUsageRequest(input)
11153	req.SetContext(ctx)
11154	req.ApplyOptions(opts...)
11155	return out, req.Send()
11156}
11157
11158const opUpdateUsagePlan = "UpdateUsagePlan"
11159
11160// UpdateUsagePlanRequest generates a "aws/request.Request" representing the
11161// client's request for the UpdateUsagePlan operation. The "output" return
11162// value will be populated with the request's response once the request completes
11163// successfully.
11164//
11165// Use "Send" method on the returned Request to send the API call to the service.
11166// the "output" return value is not valid until after Send returns without error.
11167//
11168// See UpdateUsagePlan for more information on using the UpdateUsagePlan
11169// API call, and error handling.
11170//
11171// This method is useful when you want to inject custom logic or configuration
11172// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11173//
11174//
11175//    // Example sending a request using the UpdateUsagePlanRequest method.
11176//    req, resp := client.UpdateUsagePlanRequest(params)
11177//
11178//    err := req.Send()
11179//    if err == nil { // resp is now filled
11180//        fmt.Println(resp)
11181//    }
11182func (c *APIGateway) UpdateUsagePlanRequest(input *UpdateUsagePlanInput) (req *request.Request, output *UsagePlan) {
11183	op := &request.Operation{
11184		Name:       opUpdateUsagePlan,
11185		HTTPMethod: "PATCH",
11186		HTTPPath:   "/usageplans/{usageplanId}",
11187	}
11188
11189	if input == nil {
11190		input = &UpdateUsagePlanInput{}
11191	}
11192
11193	output = &UsagePlan{}
11194	req = c.newRequest(op, input, output)
11195	return
11196}
11197
11198// UpdateUsagePlan API operation for Amazon API Gateway.
11199//
11200// Updates a usage plan of a given plan Id.
11201//
11202// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11203// with awserr.Error's Code and Message methods to get detailed information about
11204// the error.
11205//
11206// See the AWS API reference guide for Amazon API Gateway's
11207// API operation UpdateUsagePlan for usage and error information.
11208//
11209// Returned Error Types:
11210//   * UnauthorizedException
11211//   The request is denied because the caller has insufficient permissions.
11212//
11213//   * TooManyRequestsException
11214//   The request has reached its throttling limit. Retry after the specified time
11215//   period.
11216//
11217//   * BadRequestException
11218//   The submitted request is not valid, for example, the input is incomplete
11219//   or incorrect. See the accompanying error message for details.
11220//
11221//   * NotFoundException
11222//   The requested resource is not found. Make sure that the request URI is correct.
11223//
11224//   * ConflictException
11225//   The request configuration has conflicts. For details, see the accompanying
11226//   error message.
11227//
11228func (c *APIGateway) UpdateUsagePlan(input *UpdateUsagePlanInput) (*UsagePlan, error) {
11229	req, out := c.UpdateUsagePlanRequest(input)
11230	return out, req.Send()
11231}
11232
11233// UpdateUsagePlanWithContext is the same as UpdateUsagePlan with the addition of
11234// the ability to pass a context and additional request options.
11235//
11236// See UpdateUsagePlan for details on how to use this API operation.
11237//
11238// The context must be non-nil and will be used for request cancellation. If
11239// the context is nil a panic will occur. In the future the SDK may create
11240// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11241// for more information on using Contexts.
11242func (c *APIGateway) UpdateUsagePlanWithContext(ctx aws.Context, input *UpdateUsagePlanInput, opts ...request.Option) (*UsagePlan, error) {
11243	req, out := c.UpdateUsagePlanRequest(input)
11244	req.SetContext(ctx)
11245	req.ApplyOptions(opts...)
11246	return out, req.Send()
11247}
11248
11249const opUpdateVpcLink = "UpdateVpcLink"
11250
11251// UpdateVpcLinkRequest generates a "aws/request.Request" representing the
11252// client's request for the UpdateVpcLink operation. The "output" return
11253// value will be populated with the request's response once the request completes
11254// successfully.
11255//
11256// Use "Send" method on the returned Request to send the API call to the service.
11257// the "output" return value is not valid until after Send returns without error.
11258//
11259// See UpdateVpcLink for more information on using the UpdateVpcLink
11260// API call, and error handling.
11261//
11262// This method is useful when you want to inject custom logic or configuration
11263// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11264//
11265//
11266//    // Example sending a request using the UpdateVpcLinkRequest method.
11267//    req, resp := client.UpdateVpcLinkRequest(params)
11268//
11269//    err := req.Send()
11270//    if err == nil { // resp is now filled
11271//        fmt.Println(resp)
11272//    }
11273func (c *APIGateway) UpdateVpcLinkRequest(input *UpdateVpcLinkInput) (req *request.Request, output *UpdateVpcLinkOutput) {
11274	op := &request.Operation{
11275		Name:       opUpdateVpcLink,
11276		HTTPMethod: "PATCH",
11277		HTTPPath:   "/vpclinks/{vpclink_id}",
11278	}
11279
11280	if input == nil {
11281		input = &UpdateVpcLinkInput{}
11282	}
11283
11284	output = &UpdateVpcLinkOutput{}
11285	req = c.newRequest(op, input, output)
11286	return
11287}
11288
11289// UpdateVpcLink API operation for Amazon API Gateway.
11290//
11291// Updates an existing VpcLink of a specified identifier.
11292//
11293// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11294// with awserr.Error's Code and Message methods to get detailed information about
11295// the error.
11296//
11297// See the AWS API reference guide for Amazon API Gateway's
11298// API operation UpdateVpcLink for usage and error information.
11299//
11300// Returned Error Types:
11301//   * UnauthorizedException
11302//   The request is denied because the caller has insufficient permissions.
11303//
11304//   * NotFoundException
11305//   The requested resource is not found. Make sure that the request URI is correct.
11306//
11307//   * BadRequestException
11308//   The submitted request is not valid, for example, the input is incomplete
11309//   or incorrect. See the accompanying error message for details.
11310//
11311//   * ConflictException
11312//   The request configuration has conflicts. For details, see the accompanying
11313//   error message.
11314//
11315//   * TooManyRequestsException
11316//   The request has reached its throttling limit. Retry after the specified time
11317//   period.
11318//
11319func (c *APIGateway) UpdateVpcLink(input *UpdateVpcLinkInput) (*UpdateVpcLinkOutput, error) {
11320	req, out := c.UpdateVpcLinkRequest(input)
11321	return out, req.Send()
11322}
11323
11324// UpdateVpcLinkWithContext is the same as UpdateVpcLink with the addition of
11325// the ability to pass a context and additional request options.
11326//
11327// See UpdateVpcLink for details on how to use this API operation.
11328//
11329// The context must be non-nil and will be used for request cancellation. If
11330// the context is nil a panic will occur. In the future the SDK may create
11331// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11332// for more information on using Contexts.
11333func (c *APIGateway) UpdateVpcLinkWithContext(ctx aws.Context, input *UpdateVpcLinkInput, opts ...request.Option) (*UpdateVpcLinkOutput, error) {
11334	req, out := c.UpdateVpcLinkRequest(input)
11335	req.SetContext(ctx)
11336	req.ApplyOptions(opts...)
11337	return out, req.Send()
11338}
11339
11340// Access log settings, including the access log format and access log destination
11341// ARN.
11342type AccessLogSettings struct {
11343	_ struct{} `type:"structure"`
11344
11345	// The Amazon Resource Name (ARN) of the CloudWatch Logs log group or Kinesis
11346	// Data Firehose delivery stream to receive access logs. If you specify a Kinesis
11347	// Data Firehose delivery stream, the stream name must begin with amazon-apigateway-.
11348	DestinationArn *string `locationName:"destinationArn" type:"string"`
11349
11350	// A single line format of the access logs of data, as specified by selected
11351	// $context variables (https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-mapping-template-reference.html#context-variable-reference).
11352	// The format must include at least $context.requestId.
11353	Format *string `locationName:"format" type:"string"`
11354}
11355
11356// String returns the string representation
11357func (s AccessLogSettings) String() string {
11358	return awsutil.Prettify(s)
11359}
11360
11361// GoString returns the string representation
11362func (s AccessLogSettings) GoString() string {
11363	return s.String()
11364}
11365
11366// SetDestinationArn sets the DestinationArn field's value.
11367func (s *AccessLogSettings) SetDestinationArn(v string) *AccessLogSettings {
11368	s.DestinationArn = &v
11369	return s
11370}
11371
11372// SetFormat sets the Format field's value.
11373func (s *AccessLogSettings) SetFormat(v string) *AccessLogSettings {
11374	s.Format = &v
11375	return s
11376}
11377
11378// Represents an AWS account that is associated with API Gateway.
11379//
11380// To view the account info, call GET on this resource.
11381//
11382// Error Codes
11383//
11384// The following exception may be thrown when the request fails.
11385//
11386//    * UnauthorizedException
11387//
11388//    * NotFoundException
11389//
11390//    * TooManyRequestsException
11391//
11392// For detailed error code information, including the corresponding HTTP Status
11393// Codes, see API Gateway Error Codes (https://docs.aws.amazon.com/apigateway/api-reference/handling-errors/#api-error-codes)
11394//
11395// Example: Get the information about an account.
11396//
11397// Request
11398//  GET /account HTTP/1.1 Content-Type: application/json Host: apigateway.us-east-1.amazonaws.com
11399//  X-Amz-Date: 20160531T184618Z Authorization: AWS4-HMAC-SHA256 Credential={access_key_ID}/us-east-1/apigateway/aws4_request,
11400//  SignedHeaders=content-type;host;x-amz-date, Signature={sig4_hash}
11401// Response
11402//
11403// The successful response returns a 200 OK status code and a payload similar
11404// to the following:
11405//  { "_links": { "curies": { "href": "https://docs.aws.amazon.com/apigateway/latest/developerguide/account-apigateway-{rel}.html",
11406//  "name": "account", "templated": true }, "self": { "href": "/account" },
11407//  "account:update": { "href": "/account" } }, "cloudwatchRoleArn": "arn:aws:iam::123456789012:role/apigAwsProxyRole",
11408//  "throttleSettings": { "rateLimit": 500, "burstLimit": 1000 } }
11409// In addition to making the REST API call directly, you can use the AWS CLI
11410// and an AWS SDK to access this resource.
11411//
11412// API Gateway Limits (https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-limits.html)
11413// Developer Guide (https://docs.aws.amazon.com/apigateway/latest/developerguide/welcome.html),
11414// AWS CLI (https://docs.aws.amazon.com/cli/latest/reference/apigateway/get-account.html)
11415type Account struct {
11416	_ struct{} `type:"structure"`
11417
11418	// The version of the API keys used for the account.
11419	ApiKeyVersion *string `locationName:"apiKeyVersion" type:"string"`
11420
11421	// The ARN of an Amazon CloudWatch role for the current Account.
11422	CloudwatchRoleArn *string `locationName:"cloudwatchRoleArn" type:"string"`
11423
11424	// A list of features supported for the account. When usage plans are enabled,
11425	// the features list will include an entry of "UsagePlans".
11426	Features []*string `locationName:"features" type:"list"`
11427
11428	// Specifies the API request limits configured for the current Account.
11429	ThrottleSettings *ThrottleSettings `locationName:"throttleSettings" type:"structure"`
11430}
11431
11432// String returns the string representation
11433func (s Account) String() string {
11434	return awsutil.Prettify(s)
11435}
11436
11437// GoString returns the string representation
11438func (s Account) GoString() string {
11439	return s.String()
11440}
11441
11442// SetApiKeyVersion sets the ApiKeyVersion field's value.
11443func (s *Account) SetApiKeyVersion(v string) *Account {
11444	s.ApiKeyVersion = &v
11445	return s
11446}
11447
11448// SetCloudwatchRoleArn sets the CloudwatchRoleArn field's value.
11449func (s *Account) SetCloudwatchRoleArn(v string) *Account {
11450	s.CloudwatchRoleArn = &v
11451	return s
11452}
11453
11454// SetFeatures sets the Features field's value.
11455func (s *Account) SetFeatures(v []*string) *Account {
11456	s.Features = v
11457	return s
11458}
11459
11460// SetThrottleSettings sets the ThrottleSettings field's value.
11461func (s *Account) SetThrottleSettings(v *ThrottleSettings) *Account {
11462	s.ThrottleSettings = v
11463	return s
11464}
11465
11466// A resource that can be distributed to callers for executing Method resources
11467// that require an API key. API keys can be mapped to any Stage on any RestApi,
11468// which indicates that the callers with the API key can make requests to that
11469// stage.
11470//
11471// Use API Keys (https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-api-keys.html)
11472type ApiKey struct {
11473	_ struct{} `type:"structure"`
11474
11475	// The timestamp when the API Key was created.
11476	CreatedDate *time.Time `locationName:"createdDate" type:"timestamp"`
11477
11478	// An AWS Marketplace customer identifier , when integrating with the AWS SaaS
11479	// Marketplace.
11480	CustomerId *string `locationName:"customerId" type:"string"`
11481
11482	// The description of the API Key.
11483	Description *string `locationName:"description" type:"string"`
11484
11485	// Specifies whether the API Key can be used by callers.
11486	Enabled *bool `locationName:"enabled" type:"boolean"`
11487
11488	// The identifier of the API Key.
11489	Id *string `locationName:"id" type:"string"`
11490
11491	// The timestamp when the API Key was last updated.
11492	LastUpdatedDate *time.Time `locationName:"lastUpdatedDate" type:"timestamp"`
11493
11494	// The name of the API Key.
11495	Name *string `locationName:"name" type:"string"`
11496
11497	// A list of Stage resources that are associated with the ApiKey resource.
11498	StageKeys []*string `locationName:"stageKeys" type:"list"`
11499
11500	// The collection of tags. Each tag element is associated with a given resource.
11501	Tags map[string]*string `locationName:"tags" type:"map"`
11502
11503	// The value of the API Key.
11504	Value *string `locationName:"value" type:"string"`
11505}
11506
11507// String returns the string representation
11508func (s ApiKey) String() string {
11509	return awsutil.Prettify(s)
11510}
11511
11512// GoString returns the string representation
11513func (s ApiKey) GoString() string {
11514	return s.String()
11515}
11516
11517// SetCreatedDate sets the CreatedDate field's value.
11518func (s *ApiKey) SetCreatedDate(v time.Time) *ApiKey {
11519	s.CreatedDate = &v
11520	return s
11521}
11522
11523// SetCustomerId sets the CustomerId field's value.
11524func (s *ApiKey) SetCustomerId(v string) *ApiKey {
11525	s.CustomerId = &v
11526	return s
11527}
11528
11529// SetDescription sets the Description field's value.
11530func (s *ApiKey) SetDescription(v string) *ApiKey {
11531	s.Description = &v
11532	return s
11533}
11534
11535// SetEnabled sets the Enabled field's value.
11536func (s *ApiKey) SetEnabled(v bool) *ApiKey {
11537	s.Enabled = &v
11538	return s
11539}
11540
11541// SetId sets the Id field's value.
11542func (s *ApiKey) SetId(v string) *ApiKey {
11543	s.Id = &v
11544	return s
11545}
11546
11547// SetLastUpdatedDate sets the LastUpdatedDate field's value.
11548func (s *ApiKey) SetLastUpdatedDate(v time.Time) *ApiKey {
11549	s.LastUpdatedDate = &v
11550	return s
11551}
11552
11553// SetName sets the Name field's value.
11554func (s *ApiKey) SetName(v string) *ApiKey {
11555	s.Name = &v
11556	return s
11557}
11558
11559// SetStageKeys sets the StageKeys field's value.
11560func (s *ApiKey) SetStageKeys(v []*string) *ApiKey {
11561	s.StageKeys = v
11562	return s
11563}
11564
11565// SetTags sets the Tags field's value.
11566func (s *ApiKey) SetTags(v map[string]*string) *ApiKey {
11567	s.Tags = v
11568	return s
11569}
11570
11571// SetValue sets the Value field's value.
11572func (s *ApiKey) SetValue(v string) *ApiKey {
11573	s.Value = &v
11574	return s
11575}
11576
11577// API stage name of the associated API stage in a usage plan.
11578type ApiStage struct {
11579	_ struct{} `type:"structure"`
11580
11581	// API Id of the associated API stage in a usage plan.
11582	ApiId *string `locationName:"apiId" type:"string"`
11583
11584	// API stage name of the associated API stage in a usage plan.
11585	Stage *string `locationName:"stage" type:"string"`
11586
11587	// Map containing method level throttling information for API stage in a usage
11588	// plan.
11589	Throttle map[string]*ThrottleSettings `locationName:"throttle" type:"map"`
11590}
11591
11592// String returns the string representation
11593func (s ApiStage) String() string {
11594	return awsutil.Prettify(s)
11595}
11596
11597// GoString returns the string representation
11598func (s ApiStage) GoString() string {
11599	return s.String()
11600}
11601
11602// SetApiId sets the ApiId field's value.
11603func (s *ApiStage) SetApiId(v string) *ApiStage {
11604	s.ApiId = &v
11605	return s
11606}
11607
11608// SetStage sets the Stage field's value.
11609func (s *ApiStage) SetStage(v string) *ApiStage {
11610	s.Stage = &v
11611	return s
11612}
11613
11614// SetThrottle sets the Throttle field's value.
11615func (s *ApiStage) SetThrottle(v map[string]*ThrottleSettings) *ApiStage {
11616	s.Throttle = v
11617	return s
11618}
11619
11620// Represents an authorization layer for methods. If enabled on a method, API
11621// Gateway will activate the authorizer when a client calls the method.
11622//
11623// Use Lambda Function as Authorizer (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-use-lambda-authorizer.html)
11624// Use Cognito User Pool as Authorizer (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-integrate-with-cognito.html)
11625type Authorizer struct {
11626	_ struct{} `type:"structure"`
11627
11628	// Optional customer-defined field, used in OpenAPI imports and exports without
11629	// functional impact.
11630	AuthType *string `locationName:"authType" type:"string"`
11631
11632	// Specifies the required credentials as an IAM role for API Gateway to invoke
11633	// the authorizer. To specify an IAM role for API Gateway to assume, use the
11634	// role's Amazon Resource Name (ARN). To use resource-based permissions on the
11635	// Lambda function, specify null.
11636	AuthorizerCredentials *string `locationName:"authorizerCredentials" type:"string"`
11637
11638	// The TTL in seconds of cached authorizer results. If it equals 0, authorization
11639	// caching is disabled. If it is greater than 0, API Gateway will cache authorizer
11640	// responses. If this field is not set, the default value is 300. The maximum
11641	// value is 3600, or 1 hour.
11642	AuthorizerResultTtlInSeconds *int64 `locationName:"authorizerResultTtlInSeconds" type:"integer"`
11643
11644	// Specifies the authorizer's Uniform Resource Identifier (URI). For TOKEN or
11645	// REQUEST authorizers, this must be a well-formed Lambda function URI, for
11646	// 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.
11647	// In general, the URI has this form arn:aws:apigateway:{region}:lambda:path/{service_api},
11648	// where {region} is the same as the region hosting the Lambda function, path
11649	// indicates that the remaining substring in the URI should be treated as the
11650	// path to the resource, including the initial /. For Lambda functions, this
11651	// is usually of the form /2015-03-31/functions/[FunctionARN]/invocations.
11652	AuthorizerUri *string `locationName:"authorizerUri" type:"string"`
11653
11654	// The identifier for the authorizer resource.
11655	Id *string `locationName:"id" type:"string"`
11656
11657	// The identity source for which authorization is requested.
11658	//    * For a TOKEN or COGNITO_USER_POOLS authorizer, this is required and specifies
11659	//    the request header mapping expression for the custom header holding the
11660	//    authorization token submitted by the client. For example, if the token
11661	//    header name is Auth, the header mapping expression is method.request.header.Auth.
11662	//
11663	//    * For the REQUEST authorizer, this is required when authorization caching
11664	//    is enabled. The value is a comma-separated string of one or more mapping
11665	//    expressions of the specified request parameters. For example, if an Auth
11666	//    header, a Name query string parameter are defined as identity sources,
11667	//    this value is method.request.header.Auth, method.request.querystring.Name.
11668	//    These parameters will be used to derive the authorization caching key
11669	//    and to perform runtime validation of the REQUEST authorizer by verifying
11670	//    all of the identity-related request parameters are present, not null and
11671	//    non-empty. Only when this is true does the authorizer invoke the authorizer
11672	//    Lambda function, otherwise, it returns a 401 Unauthorized response without
11673	//    calling the Lambda function. The valid value is a string of comma-separated
11674	//    mapping expressions of the specified request parameters. When the authorization
11675	//    caching is not enabled, this property is optional.
11676	IdentitySource *string `locationName:"identitySource" type:"string"`
11677
11678	// A validation expression for the incoming identity token. For TOKEN authorizers,
11679	// this value is a regular expression. For COGNITO_USER_POOLS authorizers, API
11680	// Gateway will match the aud field of the incoming token from the client against
11681	// the specified regular expression. It will invoke the authorizer's Lambda
11682	// function when there is a match. Otherwise, it will return a 401 Unauthorized
11683	// response without calling the Lambda function. The validation expression does
11684	// not apply to the REQUEST authorizer.
11685	IdentityValidationExpression *string `locationName:"identityValidationExpression" type:"string"`
11686
11687	// [Required] The name of the authorizer.
11688	Name *string `locationName:"name" type:"string"`
11689
11690	// A list of the Amazon Cognito user pool ARNs for the COGNITO_USER_POOLS authorizer.
11691	// Each element is of this format: arn:aws:cognito-idp:{region}:{account_id}:userpool/{user_pool_id}.
11692	// For a TOKEN or REQUEST authorizer, this is not defined.
11693	ProviderARNs []*string `locationName:"providerARNs" type:"list"`
11694
11695	// The authorizer type. Valid values are TOKEN for a Lambda function using a
11696	// single authorization token submitted in a custom header, REQUEST for a Lambda
11697	// function using incoming request parameters, and COGNITO_USER_POOLS for using
11698	// an Amazon Cognito user pool.
11699	Type *string `locationName:"type" type:"string" enum:"AuthorizerType"`
11700}
11701
11702// String returns the string representation
11703func (s Authorizer) String() string {
11704	return awsutil.Prettify(s)
11705}
11706
11707// GoString returns the string representation
11708func (s Authorizer) GoString() string {
11709	return s.String()
11710}
11711
11712// SetAuthType sets the AuthType field's value.
11713func (s *Authorizer) SetAuthType(v string) *Authorizer {
11714	s.AuthType = &v
11715	return s
11716}
11717
11718// SetAuthorizerCredentials sets the AuthorizerCredentials field's value.
11719func (s *Authorizer) SetAuthorizerCredentials(v string) *Authorizer {
11720	s.AuthorizerCredentials = &v
11721	return s
11722}
11723
11724// SetAuthorizerResultTtlInSeconds sets the AuthorizerResultTtlInSeconds field's value.
11725func (s *Authorizer) SetAuthorizerResultTtlInSeconds(v int64) *Authorizer {
11726	s.AuthorizerResultTtlInSeconds = &v
11727	return s
11728}
11729
11730// SetAuthorizerUri sets the AuthorizerUri field's value.
11731func (s *Authorizer) SetAuthorizerUri(v string) *Authorizer {
11732	s.AuthorizerUri = &v
11733	return s
11734}
11735
11736// SetId sets the Id field's value.
11737func (s *Authorizer) SetId(v string) *Authorizer {
11738	s.Id = &v
11739	return s
11740}
11741
11742// SetIdentitySource sets the IdentitySource field's value.
11743func (s *Authorizer) SetIdentitySource(v string) *Authorizer {
11744	s.IdentitySource = &v
11745	return s
11746}
11747
11748// SetIdentityValidationExpression sets the IdentityValidationExpression field's value.
11749func (s *Authorizer) SetIdentityValidationExpression(v string) *Authorizer {
11750	s.IdentityValidationExpression = &v
11751	return s
11752}
11753
11754// SetName sets the Name field's value.
11755func (s *Authorizer) SetName(v string) *Authorizer {
11756	s.Name = &v
11757	return s
11758}
11759
11760// SetProviderARNs sets the ProviderARNs field's value.
11761func (s *Authorizer) SetProviderARNs(v []*string) *Authorizer {
11762	s.ProviderARNs = v
11763	return s
11764}
11765
11766// SetType sets the Type field's value.
11767func (s *Authorizer) SetType(v string) *Authorizer {
11768	s.Type = &v
11769	return s
11770}
11771
11772// The submitted request is not valid, for example, the input is incomplete
11773// or incorrect. See the accompanying error message for details.
11774type BadRequestException struct {
11775	_            struct{}                  `type:"structure"`
11776	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
11777
11778	Message_ *string `locationName:"message" type:"string"`
11779}
11780
11781// String returns the string representation
11782func (s BadRequestException) String() string {
11783	return awsutil.Prettify(s)
11784}
11785
11786// GoString returns the string representation
11787func (s BadRequestException) GoString() string {
11788	return s.String()
11789}
11790
11791func newErrorBadRequestException(v protocol.ResponseMetadata) error {
11792	return &BadRequestException{
11793		RespMetadata: v,
11794	}
11795}
11796
11797// Code returns the exception type name.
11798func (s *BadRequestException) Code() string {
11799	return "BadRequestException"
11800}
11801
11802// Message returns the exception's message.
11803func (s *BadRequestException) Message() string {
11804	if s.Message_ != nil {
11805		return *s.Message_
11806	}
11807	return ""
11808}
11809
11810// OrigErr always returns nil, satisfies awserr.Error interface.
11811func (s *BadRequestException) OrigErr() error {
11812	return nil
11813}
11814
11815func (s *BadRequestException) Error() string {
11816	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
11817}
11818
11819// Status code returns the HTTP status code for the request's response error.
11820func (s *BadRequestException) StatusCode() int {
11821	return s.RespMetadata.StatusCode
11822}
11823
11824// RequestID returns the service's response RequestID for request.
11825func (s *BadRequestException) RequestID() string {
11826	return s.RespMetadata.RequestID
11827}
11828
11829// Represents the base path that callers of the API must provide as part of
11830// the URL after the domain name.
11831//
11832// A custom domain name plus a BasePathMapping specification identifies a deployed
11833// RestApi in a given stage of the owner Account.
11834//
11835// Use Custom Domain Names (https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-custom-domains.html)
11836type BasePathMapping struct {
11837	_ struct{} `type:"structure"`
11838
11839	// The base path name that callers of the API must provide as part of the URL
11840	// after the domain name.
11841	BasePath *string `locationName:"basePath" type:"string"`
11842
11843	// The string identifier of the associated RestApi.
11844	RestApiId *string `locationName:"restApiId" type:"string"`
11845
11846	// The name of the associated stage.
11847	Stage *string `locationName:"stage" type:"string"`
11848}
11849
11850// String returns the string representation
11851func (s BasePathMapping) String() string {
11852	return awsutil.Prettify(s)
11853}
11854
11855// GoString returns the string representation
11856func (s BasePathMapping) GoString() string {
11857	return s.String()
11858}
11859
11860// SetBasePath sets the BasePath field's value.
11861func (s *BasePathMapping) SetBasePath(v string) *BasePathMapping {
11862	s.BasePath = &v
11863	return s
11864}
11865
11866// SetRestApiId sets the RestApiId field's value.
11867func (s *BasePathMapping) SetRestApiId(v string) *BasePathMapping {
11868	s.RestApiId = &v
11869	return s
11870}
11871
11872// SetStage sets the Stage field's value.
11873func (s *BasePathMapping) SetStage(v string) *BasePathMapping {
11874	s.Stage = &v
11875	return s
11876}
11877
11878// Configuration settings of a canary deployment.
11879type CanarySettings struct {
11880	_ struct{} `type:"structure"`
11881
11882	// The ID of the canary deployment.
11883	DeploymentId *string `locationName:"deploymentId" type:"string"`
11884
11885	// The percent (0-100) of traffic diverted to a canary deployment.
11886	PercentTraffic *float64 `locationName:"percentTraffic" type:"double"`
11887
11888	// Stage variables overridden for a canary release deployment, including new
11889	// stage variables introduced in the canary. These stage variables are represented
11890	// as a string-to-string map between stage variable names and their values.
11891	StageVariableOverrides map[string]*string `locationName:"stageVariableOverrides" type:"map"`
11892
11893	// A Boolean flag to indicate whether the canary deployment uses the stage cache
11894	// or not.
11895	UseStageCache *bool `locationName:"useStageCache" type:"boolean"`
11896}
11897
11898// String returns the string representation
11899func (s CanarySettings) String() string {
11900	return awsutil.Prettify(s)
11901}
11902
11903// GoString returns the string representation
11904func (s CanarySettings) GoString() string {
11905	return s.String()
11906}
11907
11908// SetDeploymentId sets the DeploymentId field's value.
11909func (s *CanarySettings) SetDeploymentId(v string) *CanarySettings {
11910	s.DeploymentId = &v
11911	return s
11912}
11913
11914// SetPercentTraffic sets the PercentTraffic field's value.
11915func (s *CanarySettings) SetPercentTraffic(v float64) *CanarySettings {
11916	s.PercentTraffic = &v
11917	return s
11918}
11919
11920// SetStageVariableOverrides sets the StageVariableOverrides field's value.
11921func (s *CanarySettings) SetStageVariableOverrides(v map[string]*string) *CanarySettings {
11922	s.StageVariableOverrides = v
11923	return s
11924}
11925
11926// SetUseStageCache sets the UseStageCache field's value.
11927func (s *CanarySettings) SetUseStageCache(v bool) *CanarySettings {
11928	s.UseStageCache = &v
11929	return s
11930}
11931
11932// Represents a client certificate used to configure client-side SSL authentication
11933// while sending requests to the integration endpoint.
11934//
11935// Client certificates are used to authenticate an API by the backend server.
11936// To authenticate an API client (or user), use IAM roles and policies, a custom
11937// Authorizer or an Amazon Cognito user pool.
11938//
11939// Use Client-Side Certificate (https://docs.aws.amazon.com/apigateway/latest/developerguide/getting-started-client-side-ssl-authentication.html)
11940type ClientCertificate struct {
11941	_ struct{} `type:"structure"`
11942
11943	// The identifier of the client certificate.
11944	ClientCertificateId *string `locationName:"clientCertificateId" type:"string"`
11945
11946	// The timestamp when the client certificate was created.
11947	CreatedDate *time.Time `locationName:"createdDate" type:"timestamp"`
11948
11949	// The description of the client certificate.
11950	Description *string `locationName:"description" type:"string"`
11951
11952	// The timestamp when the client certificate will expire.
11953	ExpirationDate *time.Time `locationName:"expirationDate" type:"timestamp"`
11954
11955	// The PEM-encoded public key of the client certificate, which can be used to
11956	// configure certificate authentication in the integration endpoint .
11957	PemEncodedCertificate *string `locationName:"pemEncodedCertificate" type:"string"`
11958
11959	// The collection of tags. Each tag element is associated with a given resource.
11960	Tags map[string]*string `locationName:"tags" type:"map"`
11961}
11962
11963// String returns the string representation
11964func (s ClientCertificate) String() string {
11965	return awsutil.Prettify(s)
11966}
11967
11968// GoString returns the string representation
11969func (s ClientCertificate) GoString() string {
11970	return s.String()
11971}
11972
11973// SetClientCertificateId sets the ClientCertificateId field's value.
11974func (s *ClientCertificate) SetClientCertificateId(v string) *ClientCertificate {
11975	s.ClientCertificateId = &v
11976	return s
11977}
11978
11979// SetCreatedDate sets the CreatedDate field's value.
11980func (s *ClientCertificate) SetCreatedDate(v time.Time) *ClientCertificate {
11981	s.CreatedDate = &v
11982	return s
11983}
11984
11985// SetDescription sets the Description field's value.
11986func (s *ClientCertificate) SetDescription(v string) *ClientCertificate {
11987	s.Description = &v
11988	return s
11989}
11990
11991// SetExpirationDate sets the ExpirationDate field's value.
11992func (s *ClientCertificate) SetExpirationDate(v time.Time) *ClientCertificate {
11993	s.ExpirationDate = &v
11994	return s
11995}
11996
11997// SetPemEncodedCertificate sets the PemEncodedCertificate field's value.
11998func (s *ClientCertificate) SetPemEncodedCertificate(v string) *ClientCertificate {
11999	s.PemEncodedCertificate = &v
12000	return s
12001}
12002
12003// SetTags sets the Tags field's value.
12004func (s *ClientCertificate) SetTags(v map[string]*string) *ClientCertificate {
12005	s.Tags = v
12006	return s
12007}
12008
12009// The request configuration has conflicts. For details, see the accompanying
12010// error message.
12011type ConflictException struct {
12012	_            struct{}                  `type:"structure"`
12013	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
12014
12015	Message_ *string `locationName:"message" type:"string"`
12016}
12017
12018// String returns the string representation
12019func (s ConflictException) String() string {
12020	return awsutil.Prettify(s)
12021}
12022
12023// GoString returns the string representation
12024func (s ConflictException) GoString() string {
12025	return s.String()
12026}
12027
12028func newErrorConflictException(v protocol.ResponseMetadata) error {
12029	return &ConflictException{
12030		RespMetadata: v,
12031	}
12032}
12033
12034// Code returns the exception type name.
12035func (s *ConflictException) Code() string {
12036	return "ConflictException"
12037}
12038
12039// Message returns the exception's message.
12040func (s *ConflictException) Message() string {
12041	if s.Message_ != nil {
12042		return *s.Message_
12043	}
12044	return ""
12045}
12046
12047// OrigErr always returns nil, satisfies awserr.Error interface.
12048func (s *ConflictException) OrigErr() error {
12049	return nil
12050}
12051
12052func (s *ConflictException) Error() string {
12053	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
12054}
12055
12056// Status code returns the HTTP status code for the request's response error.
12057func (s *ConflictException) StatusCode() int {
12058	return s.RespMetadata.StatusCode
12059}
12060
12061// RequestID returns the service's response RequestID for request.
12062func (s *ConflictException) RequestID() string {
12063	return s.RespMetadata.RequestID
12064}
12065
12066// Request to create an ApiKey resource.
12067type CreateApiKeyInput struct {
12068	_ struct{} `type:"structure"`
12069
12070	// An AWS Marketplace customer identifier , when integrating with the AWS SaaS
12071	// Marketplace.
12072	CustomerId *string `locationName:"customerId" type:"string"`
12073
12074	// The description of the ApiKey.
12075	Description *string `locationName:"description" type:"string"`
12076
12077	// Specifies whether the ApiKey can be used by callers.
12078	Enabled *bool `locationName:"enabled" type:"boolean"`
12079
12080	// Specifies whether (true) or not (false) the key identifier is distinct from
12081	// the created API key value. This parameter is deprecated and should not be
12082	// used.
12083	GenerateDistinctId *bool `locationName:"generateDistinctId" type:"boolean"`
12084
12085	// The name of the ApiKey.
12086	Name *string `locationName:"name" type:"string"`
12087
12088	// DEPRECATED FOR USAGE PLANS - Specifies stages associated with the API key.
12089	StageKeys []*StageKey `locationName:"stageKeys" type:"list"`
12090
12091	// The key-value map of strings. The valid character set is [a-zA-Z+-=._:/].
12092	// The tag key can be up to 128 characters and must not start with aws:. The
12093	// tag value can be up to 256 characters.
12094	Tags map[string]*string `locationName:"tags" type:"map"`
12095
12096	// Specifies a value of the API key.
12097	Value *string `locationName:"value" type:"string"`
12098}
12099
12100// String returns the string representation
12101func (s CreateApiKeyInput) String() string {
12102	return awsutil.Prettify(s)
12103}
12104
12105// GoString returns the string representation
12106func (s CreateApiKeyInput) GoString() string {
12107	return s.String()
12108}
12109
12110// SetCustomerId sets the CustomerId field's value.
12111func (s *CreateApiKeyInput) SetCustomerId(v string) *CreateApiKeyInput {
12112	s.CustomerId = &v
12113	return s
12114}
12115
12116// SetDescription sets the Description field's value.
12117func (s *CreateApiKeyInput) SetDescription(v string) *CreateApiKeyInput {
12118	s.Description = &v
12119	return s
12120}
12121
12122// SetEnabled sets the Enabled field's value.
12123func (s *CreateApiKeyInput) SetEnabled(v bool) *CreateApiKeyInput {
12124	s.Enabled = &v
12125	return s
12126}
12127
12128// SetGenerateDistinctId sets the GenerateDistinctId field's value.
12129func (s *CreateApiKeyInput) SetGenerateDistinctId(v bool) *CreateApiKeyInput {
12130	s.GenerateDistinctId = &v
12131	return s
12132}
12133
12134// SetName sets the Name field's value.
12135func (s *CreateApiKeyInput) SetName(v string) *CreateApiKeyInput {
12136	s.Name = &v
12137	return s
12138}
12139
12140// SetStageKeys sets the StageKeys field's value.
12141func (s *CreateApiKeyInput) SetStageKeys(v []*StageKey) *CreateApiKeyInput {
12142	s.StageKeys = v
12143	return s
12144}
12145
12146// SetTags sets the Tags field's value.
12147func (s *CreateApiKeyInput) SetTags(v map[string]*string) *CreateApiKeyInput {
12148	s.Tags = v
12149	return s
12150}
12151
12152// SetValue sets the Value field's value.
12153func (s *CreateApiKeyInput) SetValue(v string) *CreateApiKeyInput {
12154	s.Value = &v
12155	return s
12156}
12157
12158// Request to add a new Authorizer to an existing RestApi resource.
12159type CreateAuthorizerInput struct {
12160	_ struct{} `type:"structure"`
12161
12162	// Optional customer-defined field, used in OpenAPI imports and exports without
12163	// functional impact.
12164	AuthType *string `locationName:"authType" type:"string"`
12165
12166	// Specifies the required credentials as an IAM role for API Gateway to invoke
12167	// the authorizer. To specify an IAM role for API Gateway to assume, use the
12168	// role's Amazon Resource Name (ARN). To use resource-based permissions on the
12169	// Lambda function, specify null.
12170	AuthorizerCredentials *string `locationName:"authorizerCredentials" type:"string"`
12171
12172	// The TTL in seconds of cached authorizer results. If it equals 0, authorization
12173	// caching is disabled. If it is greater than 0, API Gateway will cache authorizer
12174	// responses. If this field is not set, the default value is 300. The maximum
12175	// value is 3600, or 1 hour.
12176	AuthorizerResultTtlInSeconds *int64 `locationName:"authorizerResultTtlInSeconds" type:"integer"`
12177
12178	// Specifies the authorizer's Uniform Resource Identifier (URI). For TOKEN or
12179	// REQUEST authorizers, this must be a well-formed Lambda function URI, for
12180	// 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.
12181	// In general, the URI has this form arn:aws:apigateway:{region}:lambda:path/{service_api},
12182	// where {region} is the same as the region hosting the Lambda function, path
12183	// indicates that the remaining substring in the URI should be treated as the
12184	// path to the resource, including the initial /. For Lambda functions, this
12185	// is usually of the form /2015-03-31/functions/[FunctionARN]/invocations.
12186	AuthorizerUri *string `locationName:"authorizerUri" type:"string"`
12187
12188	// The identity source for which authorization is requested.
12189	//    * For a TOKEN or COGNITO_USER_POOLS authorizer, this is required and specifies
12190	//    the request header mapping expression for the custom header holding the
12191	//    authorization token submitted by the client. For example, if the token
12192	//    header name is Auth, the header mapping expression is method.request.header.Auth.
12193	//
12194	//    * For the REQUEST authorizer, this is required when authorization caching
12195	//    is enabled. The value is a comma-separated string of one or more mapping
12196	//    expressions of the specified request parameters. For example, if an Auth
12197	//    header, a Name query string parameter are defined as identity sources,
12198	//    this value is method.request.header.Auth, method.request.querystring.Name.
12199	//    These parameters will be used to derive the authorization caching key
12200	//    and to perform runtime validation of the REQUEST authorizer by verifying
12201	//    all of the identity-related request parameters are present, not null and
12202	//    non-empty. Only when this is true does the authorizer invoke the authorizer
12203	//    Lambda function, otherwise, it returns a 401 Unauthorized response without
12204	//    calling the Lambda function. The valid value is a string of comma-separated
12205	//    mapping expressions of the specified request parameters. When the authorization
12206	//    caching is not enabled, this property is optional.
12207	IdentitySource *string `locationName:"identitySource" type:"string"`
12208
12209	// A validation expression for the incoming identity token. For TOKEN authorizers,
12210	// this value is a regular expression. For COGNITO_USER_POOLS authorizers, API
12211	// Gateway will match the aud field of the incoming token from the client against
12212	// the specified regular expression. It will invoke the authorizer's Lambda
12213	// function when there is a match. Otherwise, it will return a 401 Unauthorized
12214	// response without calling the Lambda function. The validation expression does
12215	// not apply to the REQUEST authorizer.
12216	IdentityValidationExpression *string `locationName:"identityValidationExpression" type:"string"`
12217
12218	// [Required] The name of the authorizer.
12219	//
12220	// Name is a required field
12221	Name *string `locationName:"name" type:"string" required:"true"`
12222
12223	// A list of the Amazon Cognito user pool ARNs for the COGNITO_USER_POOLS authorizer.
12224	// Each element is of this format: arn:aws:cognito-idp:{region}:{account_id}:userpool/{user_pool_id}.
12225	// For a TOKEN or REQUEST authorizer, this is not defined.
12226	ProviderARNs []*string `locationName:"providerARNs" type:"list"`
12227
12228	// [Required] The string identifier of the associated RestApi.
12229	//
12230	// RestApiId is a required field
12231	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
12232
12233	// [Required] The authorizer type. Valid values are TOKEN for a Lambda function
12234	// using a single authorization token submitted in a custom header, REQUEST
12235	// for a Lambda function using incoming request parameters, and COGNITO_USER_POOLS
12236	// for using an Amazon Cognito user pool.
12237	//
12238	// Type is a required field
12239	Type *string `locationName:"type" type:"string" required:"true" enum:"AuthorizerType"`
12240}
12241
12242// String returns the string representation
12243func (s CreateAuthorizerInput) String() string {
12244	return awsutil.Prettify(s)
12245}
12246
12247// GoString returns the string representation
12248func (s CreateAuthorizerInput) GoString() string {
12249	return s.String()
12250}
12251
12252// Validate inspects the fields of the type to determine if they are valid.
12253func (s *CreateAuthorizerInput) Validate() error {
12254	invalidParams := request.ErrInvalidParams{Context: "CreateAuthorizerInput"}
12255	if s.Name == nil {
12256		invalidParams.Add(request.NewErrParamRequired("Name"))
12257	}
12258	if s.RestApiId == nil {
12259		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
12260	}
12261	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
12262		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
12263	}
12264	if s.Type == nil {
12265		invalidParams.Add(request.NewErrParamRequired("Type"))
12266	}
12267
12268	if invalidParams.Len() > 0 {
12269		return invalidParams
12270	}
12271	return nil
12272}
12273
12274// SetAuthType sets the AuthType field's value.
12275func (s *CreateAuthorizerInput) SetAuthType(v string) *CreateAuthorizerInput {
12276	s.AuthType = &v
12277	return s
12278}
12279
12280// SetAuthorizerCredentials sets the AuthorizerCredentials field's value.
12281func (s *CreateAuthorizerInput) SetAuthorizerCredentials(v string) *CreateAuthorizerInput {
12282	s.AuthorizerCredentials = &v
12283	return s
12284}
12285
12286// SetAuthorizerResultTtlInSeconds sets the AuthorizerResultTtlInSeconds field's value.
12287func (s *CreateAuthorizerInput) SetAuthorizerResultTtlInSeconds(v int64) *CreateAuthorizerInput {
12288	s.AuthorizerResultTtlInSeconds = &v
12289	return s
12290}
12291
12292// SetAuthorizerUri sets the AuthorizerUri field's value.
12293func (s *CreateAuthorizerInput) SetAuthorizerUri(v string) *CreateAuthorizerInput {
12294	s.AuthorizerUri = &v
12295	return s
12296}
12297
12298// SetIdentitySource sets the IdentitySource field's value.
12299func (s *CreateAuthorizerInput) SetIdentitySource(v string) *CreateAuthorizerInput {
12300	s.IdentitySource = &v
12301	return s
12302}
12303
12304// SetIdentityValidationExpression sets the IdentityValidationExpression field's value.
12305func (s *CreateAuthorizerInput) SetIdentityValidationExpression(v string) *CreateAuthorizerInput {
12306	s.IdentityValidationExpression = &v
12307	return s
12308}
12309
12310// SetName sets the Name field's value.
12311func (s *CreateAuthorizerInput) SetName(v string) *CreateAuthorizerInput {
12312	s.Name = &v
12313	return s
12314}
12315
12316// SetProviderARNs sets the ProviderARNs field's value.
12317func (s *CreateAuthorizerInput) SetProviderARNs(v []*string) *CreateAuthorizerInput {
12318	s.ProviderARNs = v
12319	return s
12320}
12321
12322// SetRestApiId sets the RestApiId field's value.
12323func (s *CreateAuthorizerInput) SetRestApiId(v string) *CreateAuthorizerInput {
12324	s.RestApiId = &v
12325	return s
12326}
12327
12328// SetType sets the Type field's value.
12329func (s *CreateAuthorizerInput) SetType(v string) *CreateAuthorizerInput {
12330	s.Type = &v
12331	return s
12332}
12333
12334// Requests API Gateway to create a new BasePathMapping resource.
12335type CreateBasePathMappingInput struct {
12336	_ struct{} `type:"structure"`
12337
12338	// The base path name that callers of the API must provide as part of the URL
12339	// after the domain name. This value must be unique for all of the mappings
12340	// across a single API. Specify '(none)' if you do not want callers to specify
12341	// a base path name after the domain name.
12342	BasePath *string `locationName:"basePath" type:"string"`
12343
12344	// [Required] The domain name of the BasePathMapping resource to create.
12345	//
12346	// DomainName is a required field
12347	DomainName *string `location:"uri" locationName:"domain_name" type:"string" required:"true"`
12348
12349	// [Required] The string identifier of the associated RestApi.
12350	//
12351	// RestApiId is a required field
12352	RestApiId *string `locationName:"restApiId" type:"string" required:"true"`
12353
12354	// The name of the API's stage that you want to use for this mapping. Specify
12355	// '(none)' if you want callers to explicitly specify the stage name after any
12356	// base path name.
12357	Stage *string `locationName:"stage" type:"string"`
12358}
12359
12360// String returns the string representation
12361func (s CreateBasePathMappingInput) String() string {
12362	return awsutil.Prettify(s)
12363}
12364
12365// GoString returns the string representation
12366func (s CreateBasePathMappingInput) GoString() string {
12367	return s.String()
12368}
12369
12370// Validate inspects the fields of the type to determine if they are valid.
12371func (s *CreateBasePathMappingInput) Validate() error {
12372	invalidParams := request.ErrInvalidParams{Context: "CreateBasePathMappingInput"}
12373	if s.DomainName == nil {
12374		invalidParams.Add(request.NewErrParamRequired("DomainName"))
12375	}
12376	if s.DomainName != nil && len(*s.DomainName) < 1 {
12377		invalidParams.Add(request.NewErrParamMinLen("DomainName", 1))
12378	}
12379	if s.RestApiId == nil {
12380		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
12381	}
12382
12383	if invalidParams.Len() > 0 {
12384		return invalidParams
12385	}
12386	return nil
12387}
12388
12389// SetBasePath sets the BasePath field's value.
12390func (s *CreateBasePathMappingInput) SetBasePath(v string) *CreateBasePathMappingInput {
12391	s.BasePath = &v
12392	return s
12393}
12394
12395// SetDomainName sets the DomainName field's value.
12396func (s *CreateBasePathMappingInput) SetDomainName(v string) *CreateBasePathMappingInput {
12397	s.DomainName = &v
12398	return s
12399}
12400
12401// SetRestApiId sets the RestApiId field's value.
12402func (s *CreateBasePathMappingInput) SetRestApiId(v string) *CreateBasePathMappingInput {
12403	s.RestApiId = &v
12404	return s
12405}
12406
12407// SetStage sets the Stage field's value.
12408func (s *CreateBasePathMappingInput) SetStage(v string) *CreateBasePathMappingInput {
12409	s.Stage = &v
12410	return s
12411}
12412
12413// Requests API Gateway to create a Deployment resource.
12414type CreateDeploymentInput struct {
12415	_ struct{} `type:"structure"`
12416
12417	// Enables a cache cluster for the Stage resource specified in the input.
12418	CacheClusterEnabled *bool `locationName:"cacheClusterEnabled" type:"boolean"`
12419
12420	// Specifies the cache cluster size for the Stage resource specified in the
12421	// input, if a cache cluster is enabled.
12422	CacheClusterSize *string `locationName:"cacheClusterSize" type:"string" enum:"CacheClusterSize"`
12423
12424	// The input configuration for the canary deployment when the deployment is
12425	// a canary release deployment.
12426	CanarySettings *DeploymentCanarySettings `locationName:"canarySettings" type:"structure"`
12427
12428	// The description for the Deployment resource to create.
12429	Description *string `locationName:"description" type:"string"`
12430
12431	// [Required] The string identifier of the associated RestApi.
12432	//
12433	// RestApiId is a required field
12434	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
12435
12436	// The description of the Stage resource for the Deployment resource to create.
12437	StageDescription *string `locationName:"stageDescription" type:"string"`
12438
12439	// The name of the Stage resource for the Deployment resource to create.
12440	StageName *string `locationName:"stageName" type:"string"`
12441
12442	// Specifies whether active tracing with X-ray is enabled for the Stage.
12443	TracingEnabled *bool `locationName:"tracingEnabled" type:"boolean"`
12444
12445	// A map that defines the stage variables for the Stage resource that is associated
12446	// with the new deployment. Variable names can have alphanumeric and underscore
12447	// characters, and the values must match [A-Za-z0-9-._~:/?#&=,]+.
12448	Variables map[string]*string `locationName:"variables" type:"map"`
12449}
12450
12451// String returns the string representation
12452func (s CreateDeploymentInput) String() string {
12453	return awsutil.Prettify(s)
12454}
12455
12456// GoString returns the string representation
12457func (s CreateDeploymentInput) GoString() string {
12458	return s.String()
12459}
12460
12461// Validate inspects the fields of the type to determine if they are valid.
12462func (s *CreateDeploymentInput) Validate() error {
12463	invalidParams := request.ErrInvalidParams{Context: "CreateDeploymentInput"}
12464	if s.RestApiId == nil {
12465		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
12466	}
12467	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
12468		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
12469	}
12470
12471	if invalidParams.Len() > 0 {
12472		return invalidParams
12473	}
12474	return nil
12475}
12476
12477// SetCacheClusterEnabled sets the CacheClusterEnabled field's value.
12478func (s *CreateDeploymentInput) SetCacheClusterEnabled(v bool) *CreateDeploymentInput {
12479	s.CacheClusterEnabled = &v
12480	return s
12481}
12482
12483// SetCacheClusterSize sets the CacheClusterSize field's value.
12484func (s *CreateDeploymentInput) SetCacheClusterSize(v string) *CreateDeploymentInput {
12485	s.CacheClusterSize = &v
12486	return s
12487}
12488
12489// SetCanarySettings sets the CanarySettings field's value.
12490func (s *CreateDeploymentInput) SetCanarySettings(v *DeploymentCanarySettings) *CreateDeploymentInput {
12491	s.CanarySettings = v
12492	return s
12493}
12494
12495// SetDescription sets the Description field's value.
12496func (s *CreateDeploymentInput) SetDescription(v string) *CreateDeploymentInput {
12497	s.Description = &v
12498	return s
12499}
12500
12501// SetRestApiId sets the RestApiId field's value.
12502func (s *CreateDeploymentInput) SetRestApiId(v string) *CreateDeploymentInput {
12503	s.RestApiId = &v
12504	return s
12505}
12506
12507// SetStageDescription sets the StageDescription field's value.
12508func (s *CreateDeploymentInput) SetStageDescription(v string) *CreateDeploymentInput {
12509	s.StageDescription = &v
12510	return s
12511}
12512
12513// SetStageName sets the StageName field's value.
12514func (s *CreateDeploymentInput) SetStageName(v string) *CreateDeploymentInput {
12515	s.StageName = &v
12516	return s
12517}
12518
12519// SetTracingEnabled sets the TracingEnabled field's value.
12520func (s *CreateDeploymentInput) SetTracingEnabled(v bool) *CreateDeploymentInput {
12521	s.TracingEnabled = &v
12522	return s
12523}
12524
12525// SetVariables sets the Variables field's value.
12526func (s *CreateDeploymentInput) SetVariables(v map[string]*string) *CreateDeploymentInput {
12527	s.Variables = v
12528	return s
12529}
12530
12531// Creates a new documentation part of a given API.
12532type CreateDocumentationPartInput struct {
12533	_ struct{} `type:"structure"`
12534
12535	// [Required] The location of the targeted API entity of the to-be-created documentation
12536	// part.
12537	//
12538	// Location is a required field
12539	Location *DocumentationPartLocation `locationName:"location" type:"structure" required:"true"`
12540
12541	// [Required] The new documentation content map of the targeted API entity.
12542	// Enclosed key-value pairs are API-specific, but only OpenAPI-compliant key-value
12543	// pairs can be exported and, hence, published.
12544	//
12545	// Properties is a required field
12546	Properties *string `locationName:"properties" type:"string" required:"true"`
12547
12548	// [Required] The string identifier of the associated RestApi.
12549	//
12550	// RestApiId is a required field
12551	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
12552}
12553
12554// String returns the string representation
12555func (s CreateDocumentationPartInput) String() string {
12556	return awsutil.Prettify(s)
12557}
12558
12559// GoString returns the string representation
12560func (s CreateDocumentationPartInput) GoString() string {
12561	return s.String()
12562}
12563
12564// Validate inspects the fields of the type to determine if they are valid.
12565func (s *CreateDocumentationPartInput) Validate() error {
12566	invalidParams := request.ErrInvalidParams{Context: "CreateDocumentationPartInput"}
12567	if s.Location == nil {
12568		invalidParams.Add(request.NewErrParamRequired("Location"))
12569	}
12570	if s.Properties == nil {
12571		invalidParams.Add(request.NewErrParamRequired("Properties"))
12572	}
12573	if s.RestApiId == nil {
12574		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
12575	}
12576	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
12577		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
12578	}
12579	if s.Location != nil {
12580		if err := s.Location.Validate(); err != nil {
12581			invalidParams.AddNested("Location", err.(request.ErrInvalidParams))
12582		}
12583	}
12584
12585	if invalidParams.Len() > 0 {
12586		return invalidParams
12587	}
12588	return nil
12589}
12590
12591// SetLocation sets the Location field's value.
12592func (s *CreateDocumentationPartInput) SetLocation(v *DocumentationPartLocation) *CreateDocumentationPartInput {
12593	s.Location = v
12594	return s
12595}
12596
12597// SetProperties sets the Properties field's value.
12598func (s *CreateDocumentationPartInput) SetProperties(v string) *CreateDocumentationPartInput {
12599	s.Properties = &v
12600	return s
12601}
12602
12603// SetRestApiId sets the RestApiId field's value.
12604func (s *CreateDocumentationPartInput) SetRestApiId(v string) *CreateDocumentationPartInput {
12605	s.RestApiId = &v
12606	return s
12607}
12608
12609// Creates a new documentation version of a given API.
12610type CreateDocumentationVersionInput struct {
12611	_ struct{} `type:"structure"`
12612
12613	// A description about the new documentation snapshot.
12614	Description *string `locationName:"description" type:"string"`
12615
12616	// [Required] The version identifier of the new snapshot.
12617	//
12618	// DocumentationVersion is a required field
12619	DocumentationVersion *string `locationName:"documentationVersion" type:"string" required:"true"`
12620
12621	// [Required] The string identifier of the associated RestApi.
12622	//
12623	// RestApiId is a required field
12624	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
12625
12626	// The stage name to be associated with the new documentation snapshot.
12627	StageName *string `locationName:"stageName" type:"string"`
12628}
12629
12630// String returns the string representation
12631func (s CreateDocumentationVersionInput) String() string {
12632	return awsutil.Prettify(s)
12633}
12634
12635// GoString returns the string representation
12636func (s CreateDocumentationVersionInput) GoString() string {
12637	return s.String()
12638}
12639
12640// Validate inspects the fields of the type to determine if they are valid.
12641func (s *CreateDocumentationVersionInput) Validate() error {
12642	invalidParams := request.ErrInvalidParams{Context: "CreateDocumentationVersionInput"}
12643	if s.DocumentationVersion == nil {
12644		invalidParams.Add(request.NewErrParamRequired("DocumentationVersion"))
12645	}
12646	if s.RestApiId == nil {
12647		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
12648	}
12649	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
12650		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
12651	}
12652
12653	if invalidParams.Len() > 0 {
12654		return invalidParams
12655	}
12656	return nil
12657}
12658
12659// SetDescription sets the Description field's value.
12660func (s *CreateDocumentationVersionInput) SetDescription(v string) *CreateDocumentationVersionInput {
12661	s.Description = &v
12662	return s
12663}
12664
12665// SetDocumentationVersion sets the DocumentationVersion field's value.
12666func (s *CreateDocumentationVersionInput) SetDocumentationVersion(v string) *CreateDocumentationVersionInput {
12667	s.DocumentationVersion = &v
12668	return s
12669}
12670
12671// SetRestApiId sets the RestApiId field's value.
12672func (s *CreateDocumentationVersionInput) SetRestApiId(v string) *CreateDocumentationVersionInput {
12673	s.RestApiId = &v
12674	return s
12675}
12676
12677// SetStageName sets the StageName field's value.
12678func (s *CreateDocumentationVersionInput) SetStageName(v string) *CreateDocumentationVersionInput {
12679	s.StageName = &v
12680	return s
12681}
12682
12683// A request to create a new domain name.
12684type CreateDomainNameInput struct {
12685	_ struct{} `type:"structure"`
12686
12687	// The reference to an AWS-managed certificate that will be used by edge-optimized
12688	// endpoint for this domain name. AWS Certificate Manager is the only supported
12689	// source.
12690	CertificateArn *string `locationName:"certificateArn" type:"string"`
12691
12692	// [Deprecated] The body of the server certificate that will be used by edge-optimized
12693	// endpoint for this domain name provided by your certificate authority.
12694	CertificateBody *string `locationName:"certificateBody" type:"string"`
12695
12696	// [Deprecated] The intermediate certificates and optionally the root certificate,
12697	// one after the other without any blank lines, used by an edge-optimized endpoint
12698	// for this domain name. If you include the root certificate, your certificate
12699	// chain must start with intermediate certificates and end with the root certificate.
12700	// Use the intermediate certificates that were provided by your certificate
12701	// authority. Do not include any intermediaries that are not in the chain of
12702	// trust path.
12703	CertificateChain *string `locationName:"certificateChain" type:"string"`
12704
12705	// The user-friendly name of the certificate that will be used by edge-optimized
12706	// endpoint for this domain name.
12707	CertificateName *string `locationName:"certificateName" type:"string"`
12708
12709	// [Deprecated] Your edge-optimized endpoint's domain name certificate's private
12710	// key.
12711	CertificatePrivateKey *string `locationName:"certificatePrivateKey" type:"string"`
12712
12713	// [Required] The name of the DomainName resource.
12714	//
12715	// DomainName is a required field
12716	DomainName *string `locationName:"domainName" type:"string" required:"true"`
12717
12718	// The endpoint configuration of this DomainName showing the endpoint types
12719	// of the domain name.
12720	EndpointConfiguration *EndpointConfiguration `locationName:"endpointConfiguration" type:"structure"`
12721
12722	// If specified, API Gateway performs two-way authentication between the client
12723	// and the server. Clients must present a trusted certificate to access your
12724	// custom domain name.
12725	MutualTlsAuthentication *MutualTlsAuthenticationInput `locationName:"mutualTlsAuthentication" type:"structure"`
12726
12727	// The reference to an AWS-managed certificate that will be used by regional
12728	// endpoint for this domain name. AWS Certificate Manager is the only supported
12729	// source.
12730	RegionalCertificateArn *string `locationName:"regionalCertificateArn" type:"string"`
12731
12732	// The user-friendly name of the certificate that will be used by regional endpoint
12733	// for this domain name.
12734	RegionalCertificateName *string `locationName:"regionalCertificateName" type:"string"`
12735
12736	// The Transport Layer Security (TLS) version + cipher suite for this DomainName.
12737	// The valid values are TLS_1_0 and TLS_1_2.
12738	SecurityPolicy *string `locationName:"securityPolicy" type:"string" enum:"SecurityPolicy"`
12739
12740	// The key-value map of strings. The valid character set is [a-zA-Z+-=._:/].
12741	// The tag key can be up to 128 characters and must not start with aws:. The
12742	// tag value can be up to 256 characters.
12743	Tags map[string]*string `locationName:"tags" type:"map"`
12744}
12745
12746// String returns the string representation
12747func (s CreateDomainNameInput) String() string {
12748	return awsutil.Prettify(s)
12749}
12750
12751// GoString returns the string representation
12752func (s CreateDomainNameInput) GoString() string {
12753	return s.String()
12754}
12755
12756// Validate inspects the fields of the type to determine if they are valid.
12757func (s *CreateDomainNameInput) Validate() error {
12758	invalidParams := request.ErrInvalidParams{Context: "CreateDomainNameInput"}
12759	if s.DomainName == nil {
12760		invalidParams.Add(request.NewErrParamRequired("DomainName"))
12761	}
12762
12763	if invalidParams.Len() > 0 {
12764		return invalidParams
12765	}
12766	return nil
12767}
12768
12769// SetCertificateArn sets the CertificateArn field's value.
12770func (s *CreateDomainNameInput) SetCertificateArn(v string) *CreateDomainNameInput {
12771	s.CertificateArn = &v
12772	return s
12773}
12774
12775// SetCertificateBody sets the CertificateBody field's value.
12776func (s *CreateDomainNameInput) SetCertificateBody(v string) *CreateDomainNameInput {
12777	s.CertificateBody = &v
12778	return s
12779}
12780
12781// SetCertificateChain sets the CertificateChain field's value.
12782func (s *CreateDomainNameInput) SetCertificateChain(v string) *CreateDomainNameInput {
12783	s.CertificateChain = &v
12784	return s
12785}
12786
12787// SetCertificateName sets the CertificateName field's value.
12788func (s *CreateDomainNameInput) SetCertificateName(v string) *CreateDomainNameInput {
12789	s.CertificateName = &v
12790	return s
12791}
12792
12793// SetCertificatePrivateKey sets the CertificatePrivateKey field's value.
12794func (s *CreateDomainNameInput) SetCertificatePrivateKey(v string) *CreateDomainNameInput {
12795	s.CertificatePrivateKey = &v
12796	return s
12797}
12798
12799// SetDomainName sets the DomainName field's value.
12800func (s *CreateDomainNameInput) SetDomainName(v string) *CreateDomainNameInput {
12801	s.DomainName = &v
12802	return s
12803}
12804
12805// SetEndpointConfiguration sets the EndpointConfiguration field's value.
12806func (s *CreateDomainNameInput) SetEndpointConfiguration(v *EndpointConfiguration) *CreateDomainNameInput {
12807	s.EndpointConfiguration = v
12808	return s
12809}
12810
12811// SetMutualTlsAuthentication sets the MutualTlsAuthentication field's value.
12812func (s *CreateDomainNameInput) SetMutualTlsAuthentication(v *MutualTlsAuthenticationInput) *CreateDomainNameInput {
12813	s.MutualTlsAuthentication = v
12814	return s
12815}
12816
12817// SetRegionalCertificateArn sets the RegionalCertificateArn field's value.
12818func (s *CreateDomainNameInput) SetRegionalCertificateArn(v string) *CreateDomainNameInput {
12819	s.RegionalCertificateArn = &v
12820	return s
12821}
12822
12823// SetRegionalCertificateName sets the RegionalCertificateName field's value.
12824func (s *CreateDomainNameInput) SetRegionalCertificateName(v string) *CreateDomainNameInput {
12825	s.RegionalCertificateName = &v
12826	return s
12827}
12828
12829// SetSecurityPolicy sets the SecurityPolicy field's value.
12830func (s *CreateDomainNameInput) SetSecurityPolicy(v string) *CreateDomainNameInput {
12831	s.SecurityPolicy = &v
12832	return s
12833}
12834
12835// SetTags sets the Tags field's value.
12836func (s *CreateDomainNameInput) SetTags(v map[string]*string) *CreateDomainNameInput {
12837	s.Tags = v
12838	return s
12839}
12840
12841// Request to add a new Model to an existing RestApi resource.
12842type CreateModelInput struct {
12843	_ struct{} `type:"structure"`
12844
12845	// [Required] The content-type for the model.
12846	//
12847	// ContentType is a required field
12848	ContentType *string `locationName:"contentType" type:"string" required:"true"`
12849
12850	// The description of the model.
12851	Description *string `locationName:"description" type:"string"`
12852
12853	// [Required] The name of the model. Must be alphanumeric.
12854	//
12855	// Name is a required field
12856	Name *string `locationName:"name" type:"string" required:"true"`
12857
12858	// [Required] The RestApi identifier under which the Model will be created.
12859	//
12860	// RestApiId is a required field
12861	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
12862
12863	// The schema for the model. For application/json models, this should be JSON
12864	// schema draft 4 (https://tools.ietf.org/html/draft-zyp-json-schema-04) model.
12865	Schema *string `locationName:"schema" type:"string"`
12866}
12867
12868// String returns the string representation
12869func (s CreateModelInput) String() string {
12870	return awsutil.Prettify(s)
12871}
12872
12873// GoString returns the string representation
12874func (s CreateModelInput) GoString() string {
12875	return s.String()
12876}
12877
12878// Validate inspects the fields of the type to determine if they are valid.
12879func (s *CreateModelInput) Validate() error {
12880	invalidParams := request.ErrInvalidParams{Context: "CreateModelInput"}
12881	if s.ContentType == nil {
12882		invalidParams.Add(request.NewErrParamRequired("ContentType"))
12883	}
12884	if s.Name == nil {
12885		invalidParams.Add(request.NewErrParamRequired("Name"))
12886	}
12887	if s.RestApiId == nil {
12888		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
12889	}
12890	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
12891		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
12892	}
12893
12894	if invalidParams.Len() > 0 {
12895		return invalidParams
12896	}
12897	return nil
12898}
12899
12900// SetContentType sets the ContentType field's value.
12901func (s *CreateModelInput) SetContentType(v string) *CreateModelInput {
12902	s.ContentType = &v
12903	return s
12904}
12905
12906// SetDescription sets the Description field's value.
12907func (s *CreateModelInput) SetDescription(v string) *CreateModelInput {
12908	s.Description = &v
12909	return s
12910}
12911
12912// SetName sets the Name field's value.
12913func (s *CreateModelInput) SetName(v string) *CreateModelInput {
12914	s.Name = &v
12915	return s
12916}
12917
12918// SetRestApiId sets the RestApiId field's value.
12919func (s *CreateModelInput) SetRestApiId(v string) *CreateModelInput {
12920	s.RestApiId = &v
12921	return s
12922}
12923
12924// SetSchema sets the Schema field's value.
12925func (s *CreateModelInput) SetSchema(v string) *CreateModelInput {
12926	s.Schema = &v
12927	return s
12928}
12929
12930// Creates a RequestValidator of a given RestApi.
12931type CreateRequestValidatorInput struct {
12932	_ struct{} `type:"structure"`
12933
12934	// The name of the to-be-created RequestValidator.
12935	Name *string `locationName:"name" type:"string"`
12936
12937	// [Required] The string identifier of the associated RestApi.
12938	//
12939	// RestApiId is a required field
12940	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
12941
12942	// A Boolean flag to indicate whether to validate request body according to
12943	// the configured model schema for the method (true) or not (false).
12944	ValidateRequestBody *bool `locationName:"validateRequestBody" type:"boolean"`
12945
12946	// A Boolean flag to indicate whether to validate request parameters, true,
12947	// or not false.
12948	ValidateRequestParameters *bool `locationName:"validateRequestParameters" type:"boolean"`
12949}
12950
12951// String returns the string representation
12952func (s CreateRequestValidatorInput) String() string {
12953	return awsutil.Prettify(s)
12954}
12955
12956// GoString returns the string representation
12957func (s CreateRequestValidatorInput) GoString() string {
12958	return s.String()
12959}
12960
12961// Validate inspects the fields of the type to determine if they are valid.
12962func (s *CreateRequestValidatorInput) Validate() error {
12963	invalidParams := request.ErrInvalidParams{Context: "CreateRequestValidatorInput"}
12964	if s.RestApiId == nil {
12965		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
12966	}
12967	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
12968		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
12969	}
12970
12971	if invalidParams.Len() > 0 {
12972		return invalidParams
12973	}
12974	return nil
12975}
12976
12977// SetName sets the Name field's value.
12978func (s *CreateRequestValidatorInput) SetName(v string) *CreateRequestValidatorInput {
12979	s.Name = &v
12980	return s
12981}
12982
12983// SetRestApiId sets the RestApiId field's value.
12984func (s *CreateRequestValidatorInput) SetRestApiId(v string) *CreateRequestValidatorInput {
12985	s.RestApiId = &v
12986	return s
12987}
12988
12989// SetValidateRequestBody sets the ValidateRequestBody field's value.
12990func (s *CreateRequestValidatorInput) SetValidateRequestBody(v bool) *CreateRequestValidatorInput {
12991	s.ValidateRequestBody = &v
12992	return s
12993}
12994
12995// SetValidateRequestParameters sets the ValidateRequestParameters field's value.
12996func (s *CreateRequestValidatorInput) SetValidateRequestParameters(v bool) *CreateRequestValidatorInput {
12997	s.ValidateRequestParameters = &v
12998	return s
12999}
13000
13001// Requests API Gateway to create a Resource resource.
13002type CreateResourceInput struct {
13003	_ struct{} `type:"structure"`
13004
13005	// [Required] The parent resource's identifier.
13006	//
13007	// ParentId is a required field
13008	ParentId *string `location:"uri" locationName:"parent_id" type:"string" required:"true"`
13009
13010	// The last path segment for this resource.
13011	//
13012	// PathPart is a required field
13013	PathPart *string `locationName:"pathPart" type:"string" required:"true"`
13014
13015	// [Required] The string identifier of the associated RestApi.
13016	//
13017	// RestApiId is a required field
13018	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
13019}
13020
13021// String returns the string representation
13022func (s CreateResourceInput) String() string {
13023	return awsutil.Prettify(s)
13024}
13025
13026// GoString returns the string representation
13027func (s CreateResourceInput) GoString() string {
13028	return s.String()
13029}
13030
13031// Validate inspects the fields of the type to determine if they are valid.
13032func (s *CreateResourceInput) Validate() error {
13033	invalidParams := request.ErrInvalidParams{Context: "CreateResourceInput"}
13034	if s.ParentId == nil {
13035		invalidParams.Add(request.NewErrParamRequired("ParentId"))
13036	}
13037	if s.ParentId != nil && len(*s.ParentId) < 1 {
13038		invalidParams.Add(request.NewErrParamMinLen("ParentId", 1))
13039	}
13040	if s.PathPart == nil {
13041		invalidParams.Add(request.NewErrParamRequired("PathPart"))
13042	}
13043	if s.RestApiId == nil {
13044		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
13045	}
13046	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
13047		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
13048	}
13049
13050	if invalidParams.Len() > 0 {
13051		return invalidParams
13052	}
13053	return nil
13054}
13055
13056// SetParentId sets the ParentId field's value.
13057func (s *CreateResourceInput) SetParentId(v string) *CreateResourceInput {
13058	s.ParentId = &v
13059	return s
13060}
13061
13062// SetPathPart sets the PathPart field's value.
13063func (s *CreateResourceInput) SetPathPart(v string) *CreateResourceInput {
13064	s.PathPart = &v
13065	return s
13066}
13067
13068// SetRestApiId sets the RestApiId field's value.
13069func (s *CreateResourceInput) SetRestApiId(v string) *CreateResourceInput {
13070	s.RestApiId = &v
13071	return s
13072}
13073
13074// The POST Request to add a new RestApi resource to your collection.
13075type CreateRestApiInput struct {
13076	_ struct{} `type:"structure"`
13077
13078	// The source of the API key for metering requests according to a usage plan.
13079	// Valid values are:
13080	//    * HEADER to read the API key from the X-API-Key header of a request.
13081	//
13082	//    * AUTHORIZER to read the API key from the UsageIdentifierKey from a custom
13083	//    authorizer.
13084	ApiKeySource *string `locationName:"apiKeySource" type:"string" enum:"ApiKeySourceType"`
13085
13086	// The list of binary media types supported by the RestApi. By default, the
13087	// RestApi supports only UTF-8-encoded text payloads.
13088	BinaryMediaTypes []*string `locationName:"binaryMediaTypes" type:"list"`
13089
13090	// The ID of the RestApi that you want to clone from.
13091	CloneFrom *string `locationName:"cloneFrom" type:"string"`
13092
13093	// The description of the RestApi.
13094	Description *string `locationName:"description" type:"string"`
13095
13096	// Specifies whether clients can invoke your API by using the default execute-api
13097	// endpoint. By default, clients can invoke your API with the default https://{api_id}.execute-api.{region}.amazonaws.com
13098	// endpoint. To require that clients use a custom domain name to invoke your
13099	// API, disable the default endpoint.
13100	DisableExecuteApiEndpoint *bool `locationName:"disableExecuteApiEndpoint" type:"boolean"`
13101
13102	// The endpoint configuration of this RestApi showing the endpoint types of
13103	// the API.
13104	EndpointConfiguration *EndpointConfiguration `locationName:"endpointConfiguration" type:"structure"`
13105
13106	// A nullable integer that is used to enable compression (with non-negative
13107	// between 0 and 10485760 (10M) bytes, inclusive) or disable compression (with
13108	// a null value) on an API. When compression is enabled, compression or decompression
13109	// is not applied on the payload if the payload size is smaller than this value.
13110	// Setting it to zero allows compression for any payload size.
13111	MinimumCompressionSize *int64 `locationName:"minimumCompressionSize" type:"integer"`
13112
13113	// [Required] The name of the RestApi.
13114	//
13115	// Name is a required field
13116	Name *string `locationName:"name" type:"string" required:"true"`
13117
13118	// A stringified JSON policy document that applies to this RestApi regardless
13119	// of the caller and Method configuration.
13120	Policy *string `locationName:"policy" type:"string"`
13121
13122	// The key-value map of strings. The valid character set is [a-zA-Z+-=._:/].
13123	// The tag key can be up to 128 characters and must not start with aws:. The
13124	// tag value can be up to 256 characters.
13125	Tags map[string]*string `locationName:"tags" type:"map"`
13126
13127	// A version identifier for the API.
13128	Version *string `locationName:"version" type:"string"`
13129}
13130
13131// String returns the string representation
13132func (s CreateRestApiInput) String() string {
13133	return awsutil.Prettify(s)
13134}
13135
13136// GoString returns the string representation
13137func (s CreateRestApiInput) GoString() string {
13138	return s.String()
13139}
13140
13141// Validate inspects the fields of the type to determine if they are valid.
13142func (s *CreateRestApiInput) Validate() error {
13143	invalidParams := request.ErrInvalidParams{Context: "CreateRestApiInput"}
13144	if s.Name == nil {
13145		invalidParams.Add(request.NewErrParamRequired("Name"))
13146	}
13147
13148	if invalidParams.Len() > 0 {
13149		return invalidParams
13150	}
13151	return nil
13152}
13153
13154// SetApiKeySource sets the ApiKeySource field's value.
13155func (s *CreateRestApiInput) SetApiKeySource(v string) *CreateRestApiInput {
13156	s.ApiKeySource = &v
13157	return s
13158}
13159
13160// SetBinaryMediaTypes sets the BinaryMediaTypes field's value.
13161func (s *CreateRestApiInput) SetBinaryMediaTypes(v []*string) *CreateRestApiInput {
13162	s.BinaryMediaTypes = v
13163	return s
13164}
13165
13166// SetCloneFrom sets the CloneFrom field's value.
13167func (s *CreateRestApiInput) SetCloneFrom(v string) *CreateRestApiInput {
13168	s.CloneFrom = &v
13169	return s
13170}
13171
13172// SetDescription sets the Description field's value.
13173func (s *CreateRestApiInput) SetDescription(v string) *CreateRestApiInput {
13174	s.Description = &v
13175	return s
13176}
13177
13178// SetDisableExecuteApiEndpoint sets the DisableExecuteApiEndpoint field's value.
13179func (s *CreateRestApiInput) SetDisableExecuteApiEndpoint(v bool) *CreateRestApiInput {
13180	s.DisableExecuteApiEndpoint = &v
13181	return s
13182}
13183
13184// SetEndpointConfiguration sets the EndpointConfiguration field's value.
13185func (s *CreateRestApiInput) SetEndpointConfiguration(v *EndpointConfiguration) *CreateRestApiInput {
13186	s.EndpointConfiguration = v
13187	return s
13188}
13189
13190// SetMinimumCompressionSize sets the MinimumCompressionSize field's value.
13191func (s *CreateRestApiInput) SetMinimumCompressionSize(v int64) *CreateRestApiInput {
13192	s.MinimumCompressionSize = &v
13193	return s
13194}
13195
13196// SetName sets the Name field's value.
13197func (s *CreateRestApiInput) SetName(v string) *CreateRestApiInput {
13198	s.Name = &v
13199	return s
13200}
13201
13202// SetPolicy sets the Policy field's value.
13203func (s *CreateRestApiInput) SetPolicy(v string) *CreateRestApiInput {
13204	s.Policy = &v
13205	return s
13206}
13207
13208// SetTags sets the Tags field's value.
13209func (s *CreateRestApiInput) SetTags(v map[string]*string) *CreateRestApiInput {
13210	s.Tags = v
13211	return s
13212}
13213
13214// SetVersion sets the Version field's value.
13215func (s *CreateRestApiInput) SetVersion(v string) *CreateRestApiInput {
13216	s.Version = &v
13217	return s
13218}
13219
13220// Requests API Gateway to create a Stage resource.
13221type CreateStageInput struct {
13222	_ struct{} `type:"structure"`
13223
13224	// Whether cache clustering is enabled for the stage.
13225	CacheClusterEnabled *bool `locationName:"cacheClusterEnabled" type:"boolean"`
13226
13227	// The stage's cache cluster size.
13228	CacheClusterSize *string `locationName:"cacheClusterSize" type:"string" enum:"CacheClusterSize"`
13229
13230	// The canary deployment settings of this stage.
13231	CanarySettings *CanarySettings `locationName:"canarySettings" type:"structure"`
13232
13233	// [Required] The identifier of the Deployment resource for the Stage resource.
13234	//
13235	// DeploymentId is a required field
13236	DeploymentId *string `locationName:"deploymentId" type:"string" required:"true"`
13237
13238	// The description of the Stage resource.
13239	Description *string `locationName:"description" type:"string"`
13240
13241	// The version of the associated API documentation.
13242	DocumentationVersion *string `locationName:"documentationVersion" type:"string"`
13243
13244	// [Required] The string identifier of the associated RestApi.
13245	//
13246	// RestApiId is a required field
13247	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
13248
13249	// [Required] The name for the Stage resource. Stage names can only contain
13250	// alphanumeric characters, hyphens, and underscores. Maximum length is 128
13251	// characters.
13252	//
13253	// StageName is a required field
13254	StageName *string `locationName:"stageName" type:"string" required:"true"`
13255
13256	// The key-value map of strings. The valid character set is [a-zA-Z+-=._:/].
13257	// The tag key can be up to 128 characters and must not start with aws:. The
13258	// tag value can be up to 256 characters.
13259	Tags map[string]*string `locationName:"tags" type:"map"`
13260
13261	// Specifies whether active tracing with X-ray is enabled for the Stage.
13262	TracingEnabled *bool `locationName:"tracingEnabled" type:"boolean"`
13263
13264	// A map that defines the stage variables for the new Stage resource. Variable
13265	// names can have alphanumeric and underscore characters, and the values must
13266	// match [A-Za-z0-9-._~:/?#&=,]+.
13267	Variables map[string]*string `locationName:"variables" type:"map"`
13268}
13269
13270// String returns the string representation
13271func (s CreateStageInput) String() string {
13272	return awsutil.Prettify(s)
13273}
13274
13275// GoString returns the string representation
13276func (s CreateStageInput) GoString() string {
13277	return s.String()
13278}
13279
13280// Validate inspects the fields of the type to determine if they are valid.
13281func (s *CreateStageInput) Validate() error {
13282	invalidParams := request.ErrInvalidParams{Context: "CreateStageInput"}
13283	if s.DeploymentId == nil {
13284		invalidParams.Add(request.NewErrParamRequired("DeploymentId"))
13285	}
13286	if s.RestApiId == nil {
13287		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
13288	}
13289	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
13290		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
13291	}
13292	if s.StageName == nil {
13293		invalidParams.Add(request.NewErrParamRequired("StageName"))
13294	}
13295
13296	if invalidParams.Len() > 0 {
13297		return invalidParams
13298	}
13299	return nil
13300}
13301
13302// SetCacheClusterEnabled sets the CacheClusterEnabled field's value.
13303func (s *CreateStageInput) SetCacheClusterEnabled(v bool) *CreateStageInput {
13304	s.CacheClusterEnabled = &v
13305	return s
13306}
13307
13308// SetCacheClusterSize sets the CacheClusterSize field's value.
13309func (s *CreateStageInput) SetCacheClusterSize(v string) *CreateStageInput {
13310	s.CacheClusterSize = &v
13311	return s
13312}
13313
13314// SetCanarySettings sets the CanarySettings field's value.
13315func (s *CreateStageInput) SetCanarySettings(v *CanarySettings) *CreateStageInput {
13316	s.CanarySettings = v
13317	return s
13318}
13319
13320// SetDeploymentId sets the DeploymentId field's value.
13321func (s *CreateStageInput) SetDeploymentId(v string) *CreateStageInput {
13322	s.DeploymentId = &v
13323	return s
13324}
13325
13326// SetDescription sets the Description field's value.
13327func (s *CreateStageInput) SetDescription(v string) *CreateStageInput {
13328	s.Description = &v
13329	return s
13330}
13331
13332// SetDocumentationVersion sets the DocumentationVersion field's value.
13333func (s *CreateStageInput) SetDocumentationVersion(v string) *CreateStageInput {
13334	s.DocumentationVersion = &v
13335	return s
13336}
13337
13338// SetRestApiId sets the RestApiId field's value.
13339func (s *CreateStageInput) SetRestApiId(v string) *CreateStageInput {
13340	s.RestApiId = &v
13341	return s
13342}
13343
13344// SetStageName sets the StageName field's value.
13345func (s *CreateStageInput) SetStageName(v string) *CreateStageInput {
13346	s.StageName = &v
13347	return s
13348}
13349
13350// SetTags sets the Tags field's value.
13351func (s *CreateStageInput) SetTags(v map[string]*string) *CreateStageInput {
13352	s.Tags = v
13353	return s
13354}
13355
13356// SetTracingEnabled sets the TracingEnabled field's value.
13357func (s *CreateStageInput) SetTracingEnabled(v bool) *CreateStageInput {
13358	s.TracingEnabled = &v
13359	return s
13360}
13361
13362// SetVariables sets the Variables field's value.
13363func (s *CreateStageInput) SetVariables(v map[string]*string) *CreateStageInput {
13364	s.Variables = v
13365	return s
13366}
13367
13368// The POST request to create a usage plan with the name, description, throttle
13369// limits and quota limits, as well as the associated API stages, specified
13370// in the payload.
13371type CreateUsagePlanInput struct {
13372	_ struct{} `type:"structure"`
13373
13374	// The associated API stages of the usage plan.
13375	ApiStages []*ApiStage `locationName:"apiStages" type:"list"`
13376
13377	// The description of the usage plan.
13378	Description *string `locationName:"description" type:"string"`
13379
13380	// [Required] The name of the usage plan.
13381	//
13382	// Name is a required field
13383	Name *string `locationName:"name" type:"string" required:"true"`
13384
13385	// The quota of the usage plan.
13386	Quota *QuotaSettings `locationName:"quota" type:"structure"`
13387
13388	// The key-value map of strings. The valid character set is [a-zA-Z+-=._:/].
13389	// The tag key can be up to 128 characters and must not start with aws:. The
13390	// tag value can be up to 256 characters.
13391	Tags map[string]*string `locationName:"tags" type:"map"`
13392
13393	// The throttling limits of the usage plan.
13394	Throttle *ThrottleSettings `locationName:"throttle" type:"structure"`
13395}
13396
13397// String returns the string representation
13398func (s CreateUsagePlanInput) String() string {
13399	return awsutil.Prettify(s)
13400}
13401
13402// GoString returns the string representation
13403func (s CreateUsagePlanInput) GoString() string {
13404	return s.String()
13405}
13406
13407// Validate inspects the fields of the type to determine if they are valid.
13408func (s *CreateUsagePlanInput) Validate() error {
13409	invalidParams := request.ErrInvalidParams{Context: "CreateUsagePlanInput"}
13410	if s.Name == nil {
13411		invalidParams.Add(request.NewErrParamRequired("Name"))
13412	}
13413
13414	if invalidParams.Len() > 0 {
13415		return invalidParams
13416	}
13417	return nil
13418}
13419
13420// SetApiStages sets the ApiStages field's value.
13421func (s *CreateUsagePlanInput) SetApiStages(v []*ApiStage) *CreateUsagePlanInput {
13422	s.ApiStages = v
13423	return s
13424}
13425
13426// SetDescription sets the Description field's value.
13427func (s *CreateUsagePlanInput) SetDescription(v string) *CreateUsagePlanInput {
13428	s.Description = &v
13429	return s
13430}
13431
13432// SetName sets the Name field's value.
13433func (s *CreateUsagePlanInput) SetName(v string) *CreateUsagePlanInput {
13434	s.Name = &v
13435	return s
13436}
13437
13438// SetQuota sets the Quota field's value.
13439func (s *CreateUsagePlanInput) SetQuota(v *QuotaSettings) *CreateUsagePlanInput {
13440	s.Quota = v
13441	return s
13442}
13443
13444// SetTags sets the Tags field's value.
13445func (s *CreateUsagePlanInput) SetTags(v map[string]*string) *CreateUsagePlanInput {
13446	s.Tags = v
13447	return s
13448}
13449
13450// SetThrottle sets the Throttle field's value.
13451func (s *CreateUsagePlanInput) SetThrottle(v *ThrottleSettings) *CreateUsagePlanInput {
13452	s.Throttle = v
13453	return s
13454}
13455
13456// The POST request to create a usage plan key for adding an existing API key
13457// to a usage plan.
13458type CreateUsagePlanKeyInput struct {
13459	_ struct{} `type:"structure"`
13460
13461	// [Required] The identifier of a UsagePlanKey resource for a plan customer.
13462	//
13463	// KeyId is a required field
13464	KeyId *string `locationName:"keyId" type:"string" required:"true"`
13465
13466	// [Required] The type of a UsagePlanKey resource for a plan customer.
13467	//
13468	// KeyType is a required field
13469	KeyType *string `locationName:"keyType" type:"string" required:"true"`
13470
13471	// [Required] The Id of the UsagePlan resource representing the usage plan containing
13472	// the to-be-created UsagePlanKey resource representing a plan customer.
13473	//
13474	// UsagePlanId is a required field
13475	UsagePlanId *string `location:"uri" locationName:"usageplanId" type:"string" required:"true"`
13476}
13477
13478// String returns the string representation
13479func (s CreateUsagePlanKeyInput) String() string {
13480	return awsutil.Prettify(s)
13481}
13482
13483// GoString returns the string representation
13484func (s CreateUsagePlanKeyInput) GoString() string {
13485	return s.String()
13486}
13487
13488// Validate inspects the fields of the type to determine if they are valid.
13489func (s *CreateUsagePlanKeyInput) Validate() error {
13490	invalidParams := request.ErrInvalidParams{Context: "CreateUsagePlanKeyInput"}
13491	if s.KeyId == nil {
13492		invalidParams.Add(request.NewErrParamRequired("KeyId"))
13493	}
13494	if s.KeyType == nil {
13495		invalidParams.Add(request.NewErrParamRequired("KeyType"))
13496	}
13497	if s.UsagePlanId == nil {
13498		invalidParams.Add(request.NewErrParamRequired("UsagePlanId"))
13499	}
13500	if s.UsagePlanId != nil && len(*s.UsagePlanId) < 1 {
13501		invalidParams.Add(request.NewErrParamMinLen("UsagePlanId", 1))
13502	}
13503
13504	if invalidParams.Len() > 0 {
13505		return invalidParams
13506	}
13507	return nil
13508}
13509
13510// SetKeyId sets the KeyId field's value.
13511func (s *CreateUsagePlanKeyInput) SetKeyId(v string) *CreateUsagePlanKeyInput {
13512	s.KeyId = &v
13513	return s
13514}
13515
13516// SetKeyType sets the KeyType field's value.
13517func (s *CreateUsagePlanKeyInput) SetKeyType(v string) *CreateUsagePlanKeyInput {
13518	s.KeyType = &v
13519	return s
13520}
13521
13522// SetUsagePlanId sets the UsagePlanId field's value.
13523func (s *CreateUsagePlanKeyInput) SetUsagePlanId(v string) *CreateUsagePlanKeyInput {
13524	s.UsagePlanId = &v
13525	return s
13526}
13527
13528// Creates a VPC link, under the caller's account in a selected region, in an
13529// asynchronous operation that typically takes 2-4 minutes to complete and become
13530// operational. The caller must have permissions to create and update VPC Endpoint
13531// services.
13532type CreateVpcLinkInput struct {
13533	_ struct{} `type:"structure"`
13534
13535	// The description of the VPC link.
13536	Description *string `locationName:"description" type:"string"`
13537
13538	// [Required] The name used to label and identify the VPC link.
13539	//
13540	// Name is a required field
13541	Name *string `locationName:"name" type:"string" required:"true"`
13542
13543	// The key-value map of strings. The valid character set is [a-zA-Z+-=._:/].
13544	// The tag key can be up to 128 characters and must not start with aws:. The
13545	// tag value can be up to 256 characters.
13546	Tags map[string]*string `locationName:"tags" type:"map"`
13547
13548	// [Required] The ARN of the network load balancer of the VPC targeted by the
13549	// VPC link. The network load balancer must be owned by the same AWS account
13550	// of the API owner.
13551	//
13552	// TargetArns is a required field
13553	TargetArns []*string `locationName:"targetArns" type:"list" required:"true"`
13554}
13555
13556// String returns the string representation
13557func (s CreateVpcLinkInput) String() string {
13558	return awsutil.Prettify(s)
13559}
13560
13561// GoString returns the string representation
13562func (s CreateVpcLinkInput) GoString() string {
13563	return s.String()
13564}
13565
13566// Validate inspects the fields of the type to determine if they are valid.
13567func (s *CreateVpcLinkInput) Validate() error {
13568	invalidParams := request.ErrInvalidParams{Context: "CreateVpcLinkInput"}
13569	if s.Name == nil {
13570		invalidParams.Add(request.NewErrParamRequired("Name"))
13571	}
13572	if s.TargetArns == nil {
13573		invalidParams.Add(request.NewErrParamRequired("TargetArns"))
13574	}
13575
13576	if invalidParams.Len() > 0 {
13577		return invalidParams
13578	}
13579	return nil
13580}
13581
13582// SetDescription sets the Description field's value.
13583func (s *CreateVpcLinkInput) SetDescription(v string) *CreateVpcLinkInput {
13584	s.Description = &v
13585	return s
13586}
13587
13588// SetName sets the Name field's value.
13589func (s *CreateVpcLinkInput) SetName(v string) *CreateVpcLinkInput {
13590	s.Name = &v
13591	return s
13592}
13593
13594// SetTags sets the Tags field's value.
13595func (s *CreateVpcLinkInput) SetTags(v map[string]*string) *CreateVpcLinkInput {
13596	s.Tags = v
13597	return s
13598}
13599
13600// SetTargetArns sets the TargetArns field's value.
13601func (s *CreateVpcLinkInput) SetTargetArns(v []*string) *CreateVpcLinkInput {
13602	s.TargetArns = v
13603	return s
13604}
13605
13606// A request to delete the ApiKey resource.
13607type DeleteApiKeyInput struct {
13608	_ struct{} `type:"structure"`
13609
13610	// [Required] The identifier of the ApiKey resource to be deleted.
13611	//
13612	// ApiKey is a required field
13613	ApiKey *string `location:"uri" locationName:"api_Key" type:"string" required:"true"`
13614}
13615
13616// String returns the string representation
13617func (s DeleteApiKeyInput) String() string {
13618	return awsutil.Prettify(s)
13619}
13620
13621// GoString returns the string representation
13622func (s DeleteApiKeyInput) GoString() string {
13623	return s.String()
13624}
13625
13626// Validate inspects the fields of the type to determine if they are valid.
13627func (s *DeleteApiKeyInput) Validate() error {
13628	invalidParams := request.ErrInvalidParams{Context: "DeleteApiKeyInput"}
13629	if s.ApiKey == nil {
13630		invalidParams.Add(request.NewErrParamRequired("ApiKey"))
13631	}
13632	if s.ApiKey != nil && len(*s.ApiKey) < 1 {
13633		invalidParams.Add(request.NewErrParamMinLen("ApiKey", 1))
13634	}
13635
13636	if invalidParams.Len() > 0 {
13637		return invalidParams
13638	}
13639	return nil
13640}
13641
13642// SetApiKey sets the ApiKey field's value.
13643func (s *DeleteApiKeyInput) SetApiKey(v string) *DeleteApiKeyInput {
13644	s.ApiKey = &v
13645	return s
13646}
13647
13648type DeleteApiKeyOutput struct {
13649	_ struct{} `type:"structure"`
13650}
13651
13652// String returns the string representation
13653func (s DeleteApiKeyOutput) String() string {
13654	return awsutil.Prettify(s)
13655}
13656
13657// GoString returns the string representation
13658func (s DeleteApiKeyOutput) GoString() string {
13659	return s.String()
13660}
13661
13662// Request to delete an existing Authorizer resource.
13663type DeleteAuthorizerInput struct {
13664	_ struct{} `type:"structure"`
13665
13666	// [Required] The identifier of the Authorizer resource.
13667	//
13668	// AuthorizerId is a required field
13669	AuthorizerId *string `location:"uri" locationName:"authorizer_id" type:"string" required:"true"`
13670
13671	// [Required] The string identifier of the associated RestApi.
13672	//
13673	// RestApiId is a required field
13674	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
13675}
13676
13677// String returns the string representation
13678func (s DeleteAuthorizerInput) String() string {
13679	return awsutil.Prettify(s)
13680}
13681
13682// GoString returns the string representation
13683func (s DeleteAuthorizerInput) GoString() string {
13684	return s.String()
13685}
13686
13687// Validate inspects the fields of the type to determine if they are valid.
13688func (s *DeleteAuthorizerInput) Validate() error {
13689	invalidParams := request.ErrInvalidParams{Context: "DeleteAuthorizerInput"}
13690	if s.AuthorizerId == nil {
13691		invalidParams.Add(request.NewErrParamRequired("AuthorizerId"))
13692	}
13693	if s.AuthorizerId != nil && len(*s.AuthorizerId) < 1 {
13694		invalidParams.Add(request.NewErrParamMinLen("AuthorizerId", 1))
13695	}
13696	if s.RestApiId == nil {
13697		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
13698	}
13699	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
13700		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
13701	}
13702
13703	if invalidParams.Len() > 0 {
13704		return invalidParams
13705	}
13706	return nil
13707}
13708
13709// SetAuthorizerId sets the AuthorizerId field's value.
13710func (s *DeleteAuthorizerInput) SetAuthorizerId(v string) *DeleteAuthorizerInput {
13711	s.AuthorizerId = &v
13712	return s
13713}
13714
13715// SetRestApiId sets the RestApiId field's value.
13716func (s *DeleteAuthorizerInput) SetRestApiId(v string) *DeleteAuthorizerInput {
13717	s.RestApiId = &v
13718	return s
13719}
13720
13721type DeleteAuthorizerOutput struct {
13722	_ struct{} `type:"structure"`
13723}
13724
13725// String returns the string representation
13726func (s DeleteAuthorizerOutput) String() string {
13727	return awsutil.Prettify(s)
13728}
13729
13730// GoString returns the string representation
13731func (s DeleteAuthorizerOutput) GoString() string {
13732	return s.String()
13733}
13734
13735// A request to delete the BasePathMapping resource.
13736type DeleteBasePathMappingInput struct {
13737	_ struct{} `type:"structure"`
13738
13739	// [Required] The base path name of the BasePathMapping resource to delete.
13740	//
13741	// To specify an empty base path, set this parameter to '(none)'.
13742	//
13743	// BasePath is a required field
13744	BasePath *string `location:"uri" locationName:"base_path" type:"string" required:"true"`
13745
13746	// [Required] The domain name of the BasePathMapping resource to delete.
13747	//
13748	// DomainName is a required field
13749	DomainName *string `location:"uri" locationName:"domain_name" type:"string" required:"true"`
13750}
13751
13752// String returns the string representation
13753func (s DeleteBasePathMappingInput) String() string {
13754	return awsutil.Prettify(s)
13755}
13756
13757// GoString returns the string representation
13758func (s DeleteBasePathMappingInput) GoString() string {
13759	return s.String()
13760}
13761
13762// Validate inspects the fields of the type to determine if they are valid.
13763func (s *DeleteBasePathMappingInput) Validate() error {
13764	invalidParams := request.ErrInvalidParams{Context: "DeleteBasePathMappingInput"}
13765	if s.BasePath == nil {
13766		invalidParams.Add(request.NewErrParamRequired("BasePath"))
13767	}
13768	if s.BasePath != nil && len(*s.BasePath) < 1 {
13769		invalidParams.Add(request.NewErrParamMinLen("BasePath", 1))
13770	}
13771	if s.DomainName == nil {
13772		invalidParams.Add(request.NewErrParamRequired("DomainName"))
13773	}
13774	if s.DomainName != nil && len(*s.DomainName) < 1 {
13775		invalidParams.Add(request.NewErrParamMinLen("DomainName", 1))
13776	}
13777
13778	if invalidParams.Len() > 0 {
13779		return invalidParams
13780	}
13781	return nil
13782}
13783
13784// SetBasePath sets the BasePath field's value.
13785func (s *DeleteBasePathMappingInput) SetBasePath(v string) *DeleteBasePathMappingInput {
13786	s.BasePath = &v
13787	return s
13788}
13789
13790// SetDomainName sets the DomainName field's value.
13791func (s *DeleteBasePathMappingInput) SetDomainName(v string) *DeleteBasePathMappingInput {
13792	s.DomainName = &v
13793	return s
13794}
13795
13796type DeleteBasePathMappingOutput struct {
13797	_ struct{} `type:"structure"`
13798}
13799
13800// String returns the string representation
13801func (s DeleteBasePathMappingOutput) String() string {
13802	return awsutil.Prettify(s)
13803}
13804
13805// GoString returns the string representation
13806func (s DeleteBasePathMappingOutput) GoString() string {
13807	return s.String()
13808}
13809
13810// A request to delete the ClientCertificate resource.
13811type DeleteClientCertificateInput struct {
13812	_ struct{} `type:"structure"`
13813
13814	// [Required] The identifier of the ClientCertificate resource to be deleted.
13815	//
13816	// ClientCertificateId is a required field
13817	ClientCertificateId *string `location:"uri" locationName:"clientcertificate_id" type:"string" required:"true"`
13818}
13819
13820// String returns the string representation
13821func (s DeleteClientCertificateInput) String() string {
13822	return awsutil.Prettify(s)
13823}
13824
13825// GoString returns the string representation
13826func (s DeleteClientCertificateInput) GoString() string {
13827	return s.String()
13828}
13829
13830// Validate inspects the fields of the type to determine if they are valid.
13831func (s *DeleteClientCertificateInput) Validate() error {
13832	invalidParams := request.ErrInvalidParams{Context: "DeleteClientCertificateInput"}
13833	if s.ClientCertificateId == nil {
13834		invalidParams.Add(request.NewErrParamRequired("ClientCertificateId"))
13835	}
13836	if s.ClientCertificateId != nil && len(*s.ClientCertificateId) < 1 {
13837		invalidParams.Add(request.NewErrParamMinLen("ClientCertificateId", 1))
13838	}
13839
13840	if invalidParams.Len() > 0 {
13841		return invalidParams
13842	}
13843	return nil
13844}
13845
13846// SetClientCertificateId sets the ClientCertificateId field's value.
13847func (s *DeleteClientCertificateInput) SetClientCertificateId(v string) *DeleteClientCertificateInput {
13848	s.ClientCertificateId = &v
13849	return s
13850}
13851
13852type DeleteClientCertificateOutput struct {
13853	_ struct{} `type:"structure"`
13854}
13855
13856// String returns the string representation
13857func (s DeleteClientCertificateOutput) String() string {
13858	return awsutil.Prettify(s)
13859}
13860
13861// GoString returns the string representation
13862func (s DeleteClientCertificateOutput) GoString() string {
13863	return s.String()
13864}
13865
13866// Requests API Gateway to delete a Deployment resource.
13867type DeleteDeploymentInput struct {
13868	_ struct{} `type:"structure"`
13869
13870	// [Required] The identifier of the Deployment resource to delete.
13871	//
13872	// DeploymentId is a required field
13873	DeploymentId *string `location:"uri" locationName:"deployment_id" type:"string" required:"true"`
13874
13875	// [Required] The string identifier of the associated RestApi.
13876	//
13877	// RestApiId is a required field
13878	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
13879}
13880
13881// String returns the string representation
13882func (s DeleteDeploymentInput) String() string {
13883	return awsutil.Prettify(s)
13884}
13885
13886// GoString returns the string representation
13887func (s DeleteDeploymentInput) GoString() string {
13888	return s.String()
13889}
13890
13891// Validate inspects the fields of the type to determine if they are valid.
13892func (s *DeleteDeploymentInput) Validate() error {
13893	invalidParams := request.ErrInvalidParams{Context: "DeleteDeploymentInput"}
13894	if s.DeploymentId == nil {
13895		invalidParams.Add(request.NewErrParamRequired("DeploymentId"))
13896	}
13897	if s.DeploymentId != nil && len(*s.DeploymentId) < 1 {
13898		invalidParams.Add(request.NewErrParamMinLen("DeploymentId", 1))
13899	}
13900	if s.RestApiId == nil {
13901		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
13902	}
13903	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
13904		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
13905	}
13906
13907	if invalidParams.Len() > 0 {
13908		return invalidParams
13909	}
13910	return nil
13911}
13912
13913// SetDeploymentId sets the DeploymentId field's value.
13914func (s *DeleteDeploymentInput) SetDeploymentId(v string) *DeleteDeploymentInput {
13915	s.DeploymentId = &v
13916	return s
13917}
13918
13919// SetRestApiId sets the RestApiId field's value.
13920func (s *DeleteDeploymentInput) SetRestApiId(v string) *DeleteDeploymentInput {
13921	s.RestApiId = &v
13922	return s
13923}
13924
13925type DeleteDeploymentOutput struct {
13926	_ struct{} `type:"structure"`
13927}
13928
13929// String returns the string representation
13930func (s DeleteDeploymentOutput) String() string {
13931	return awsutil.Prettify(s)
13932}
13933
13934// GoString returns the string representation
13935func (s DeleteDeploymentOutput) GoString() string {
13936	return s.String()
13937}
13938
13939// Deletes an existing documentation part of an API.
13940type DeleteDocumentationPartInput struct {
13941	_ struct{} `type:"structure"`
13942
13943	// [Required] The identifier of the to-be-deleted documentation part.
13944	//
13945	// DocumentationPartId is a required field
13946	DocumentationPartId *string `location:"uri" locationName:"part_id" type:"string" required:"true"`
13947
13948	// [Required] The string identifier of the associated RestApi.
13949	//
13950	// RestApiId is a required field
13951	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
13952}
13953
13954// String returns the string representation
13955func (s DeleteDocumentationPartInput) String() string {
13956	return awsutil.Prettify(s)
13957}
13958
13959// GoString returns the string representation
13960func (s DeleteDocumentationPartInput) GoString() string {
13961	return s.String()
13962}
13963
13964// Validate inspects the fields of the type to determine if they are valid.
13965func (s *DeleteDocumentationPartInput) Validate() error {
13966	invalidParams := request.ErrInvalidParams{Context: "DeleteDocumentationPartInput"}
13967	if s.DocumentationPartId == nil {
13968		invalidParams.Add(request.NewErrParamRequired("DocumentationPartId"))
13969	}
13970	if s.DocumentationPartId != nil && len(*s.DocumentationPartId) < 1 {
13971		invalidParams.Add(request.NewErrParamMinLen("DocumentationPartId", 1))
13972	}
13973	if s.RestApiId == nil {
13974		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
13975	}
13976	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
13977		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
13978	}
13979
13980	if invalidParams.Len() > 0 {
13981		return invalidParams
13982	}
13983	return nil
13984}
13985
13986// SetDocumentationPartId sets the DocumentationPartId field's value.
13987func (s *DeleteDocumentationPartInput) SetDocumentationPartId(v string) *DeleteDocumentationPartInput {
13988	s.DocumentationPartId = &v
13989	return s
13990}
13991
13992// SetRestApiId sets the RestApiId field's value.
13993func (s *DeleteDocumentationPartInput) SetRestApiId(v string) *DeleteDocumentationPartInput {
13994	s.RestApiId = &v
13995	return s
13996}
13997
13998type DeleteDocumentationPartOutput struct {
13999	_ struct{} `type:"structure"`
14000}
14001
14002// String returns the string representation
14003func (s DeleteDocumentationPartOutput) String() string {
14004	return awsutil.Prettify(s)
14005}
14006
14007// GoString returns the string representation
14008func (s DeleteDocumentationPartOutput) GoString() string {
14009	return s.String()
14010}
14011
14012// Deletes an existing documentation version of an API.
14013type DeleteDocumentationVersionInput struct {
14014	_ struct{} `type:"structure"`
14015
14016	// [Required] The version identifier of a to-be-deleted documentation snapshot.
14017	//
14018	// DocumentationVersion is a required field
14019	DocumentationVersion *string `location:"uri" locationName:"doc_version" type:"string" required:"true"`
14020
14021	// [Required] The string identifier of the associated RestApi.
14022	//
14023	// RestApiId is a required field
14024	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
14025}
14026
14027// String returns the string representation
14028func (s DeleteDocumentationVersionInput) String() string {
14029	return awsutil.Prettify(s)
14030}
14031
14032// GoString returns the string representation
14033func (s DeleteDocumentationVersionInput) GoString() string {
14034	return s.String()
14035}
14036
14037// Validate inspects the fields of the type to determine if they are valid.
14038func (s *DeleteDocumentationVersionInput) Validate() error {
14039	invalidParams := request.ErrInvalidParams{Context: "DeleteDocumentationVersionInput"}
14040	if s.DocumentationVersion == nil {
14041		invalidParams.Add(request.NewErrParamRequired("DocumentationVersion"))
14042	}
14043	if s.DocumentationVersion != nil && len(*s.DocumentationVersion) < 1 {
14044		invalidParams.Add(request.NewErrParamMinLen("DocumentationVersion", 1))
14045	}
14046	if s.RestApiId == nil {
14047		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
14048	}
14049	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
14050		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
14051	}
14052
14053	if invalidParams.Len() > 0 {
14054		return invalidParams
14055	}
14056	return nil
14057}
14058
14059// SetDocumentationVersion sets the DocumentationVersion field's value.
14060func (s *DeleteDocumentationVersionInput) SetDocumentationVersion(v string) *DeleteDocumentationVersionInput {
14061	s.DocumentationVersion = &v
14062	return s
14063}
14064
14065// SetRestApiId sets the RestApiId field's value.
14066func (s *DeleteDocumentationVersionInput) SetRestApiId(v string) *DeleteDocumentationVersionInput {
14067	s.RestApiId = &v
14068	return s
14069}
14070
14071type DeleteDocumentationVersionOutput struct {
14072	_ struct{} `type:"structure"`
14073}
14074
14075// String returns the string representation
14076func (s DeleteDocumentationVersionOutput) String() string {
14077	return awsutil.Prettify(s)
14078}
14079
14080// GoString returns the string representation
14081func (s DeleteDocumentationVersionOutput) GoString() string {
14082	return s.String()
14083}
14084
14085// A request to delete the DomainName resource.
14086type DeleteDomainNameInput struct {
14087	_ struct{} `type:"structure"`
14088
14089	// [Required] The name of the DomainName resource to be deleted.
14090	//
14091	// DomainName is a required field
14092	DomainName *string `location:"uri" locationName:"domain_name" type:"string" required:"true"`
14093}
14094
14095// String returns the string representation
14096func (s DeleteDomainNameInput) String() string {
14097	return awsutil.Prettify(s)
14098}
14099
14100// GoString returns the string representation
14101func (s DeleteDomainNameInput) GoString() string {
14102	return s.String()
14103}
14104
14105// Validate inspects the fields of the type to determine if they are valid.
14106func (s *DeleteDomainNameInput) Validate() error {
14107	invalidParams := request.ErrInvalidParams{Context: "DeleteDomainNameInput"}
14108	if s.DomainName == nil {
14109		invalidParams.Add(request.NewErrParamRequired("DomainName"))
14110	}
14111	if s.DomainName != nil && len(*s.DomainName) < 1 {
14112		invalidParams.Add(request.NewErrParamMinLen("DomainName", 1))
14113	}
14114
14115	if invalidParams.Len() > 0 {
14116		return invalidParams
14117	}
14118	return nil
14119}
14120
14121// SetDomainName sets the DomainName field's value.
14122func (s *DeleteDomainNameInput) SetDomainName(v string) *DeleteDomainNameInput {
14123	s.DomainName = &v
14124	return s
14125}
14126
14127type DeleteDomainNameOutput struct {
14128	_ struct{} `type:"structure"`
14129}
14130
14131// String returns the string representation
14132func (s DeleteDomainNameOutput) String() string {
14133	return awsutil.Prettify(s)
14134}
14135
14136// GoString returns the string representation
14137func (s DeleteDomainNameOutput) GoString() string {
14138	return s.String()
14139}
14140
14141// Clears any customization of a GatewayResponse of a specified response type
14142// on the given RestApi and resets it with the default settings.
14143type DeleteGatewayResponseInput struct {
14144	_ struct{} `type:"structure"`
14145
14146	// [Required]
14147	// The response type of the associated GatewayResponse. Valid values are
14148	//    * ACCESS_DENIED
14149	//
14150	//    * API_CONFIGURATION_ERROR
14151	//
14152	//    * AUTHORIZER_FAILURE
14153	//
14154	//    * AUTHORIZER_CONFIGURATION_ERROR
14155	//
14156	//    * BAD_REQUEST_PARAMETERS
14157	//
14158	//    * BAD_REQUEST_BODY
14159	//
14160	//    * DEFAULT_4XX
14161	//
14162	//    * DEFAULT_5XX
14163	//
14164	//    * EXPIRED_TOKEN
14165	//
14166	//    * INVALID_SIGNATURE
14167	//
14168	//    * INTEGRATION_FAILURE
14169	//
14170	//    * INTEGRATION_TIMEOUT
14171	//
14172	//    * INVALID_API_KEY
14173	//
14174	//    * MISSING_AUTHENTICATION_TOKEN
14175	//
14176	//    * QUOTA_EXCEEDED
14177	//
14178	//    * REQUEST_TOO_LARGE
14179	//
14180	//    * RESOURCE_NOT_FOUND
14181	//
14182	//    * THROTTLED
14183	//
14184	//    * UNAUTHORIZED
14185	//
14186	//    * UNSUPPORTED_MEDIA_TYPE
14187	//
14188	// ResponseType is a required field
14189	ResponseType *string `location:"uri" locationName:"response_type" type:"string" required:"true" enum:"GatewayResponseType"`
14190
14191	// [Required] The string identifier of the associated RestApi.
14192	//
14193	// RestApiId is a required field
14194	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
14195}
14196
14197// String returns the string representation
14198func (s DeleteGatewayResponseInput) String() string {
14199	return awsutil.Prettify(s)
14200}
14201
14202// GoString returns the string representation
14203func (s DeleteGatewayResponseInput) GoString() string {
14204	return s.String()
14205}
14206
14207// Validate inspects the fields of the type to determine if they are valid.
14208func (s *DeleteGatewayResponseInput) Validate() error {
14209	invalidParams := request.ErrInvalidParams{Context: "DeleteGatewayResponseInput"}
14210	if s.ResponseType == nil {
14211		invalidParams.Add(request.NewErrParamRequired("ResponseType"))
14212	}
14213	if s.ResponseType != nil && len(*s.ResponseType) < 1 {
14214		invalidParams.Add(request.NewErrParamMinLen("ResponseType", 1))
14215	}
14216	if s.RestApiId == nil {
14217		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
14218	}
14219	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
14220		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
14221	}
14222
14223	if invalidParams.Len() > 0 {
14224		return invalidParams
14225	}
14226	return nil
14227}
14228
14229// SetResponseType sets the ResponseType field's value.
14230func (s *DeleteGatewayResponseInput) SetResponseType(v string) *DeleteGatewayResponseInput {
14231	s.ResponseType = &v
14232	return s
14233}
14234
14235// SetRestApiId sets the RestApiId field's value.
14236func (s *DeleteGatewayResponseInput) SetRestApiId(v string) *DeleteGatewayResponseInput {
14237	s.RestApiId = &v
14238	return s
14239}
14240
14241type DeleteGatewayResponseOutput struct {
14242	_ struct{} `type:"structure"`
14243}
14244
14245// String returns the string representation
14246func (s DeleteGatewayResponseOutput) String() string {
14247	return awsutil.Prettify(s)
14248}
14249
14250// GoString returns the string representation
14251func (s DeleteGatewayResponseOutput) GoString() string {
14252	return s.String()
14253}
14254
14255// Represents a delete integration request.
14256type DeleteIntegrationInput struct {
14257	_ struct{} `type:"structure"`
14258
14259	// [Required] Specifies a delete integration request's HTTP method.
14260	//
14261	// HttpMethod is a required field
14262	HttpMethod *string `location:"uri" locationName:"http_method" type:"string" required:"true"`
14263
14264	// [Required] Specifies a delete integration request's resource identifier.
14265	//
14266	// ResourceId is a required field
14267	ResourceId *string `location:"uri" locationName:"resource_id" type:"string" required:"true"`
14268
14269	// [Required] The string identifier of the associated RestApi.
14270	//
14271	// RestApiId is a required field
14272	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
14273}
14274
14275// String returns the string representation
14276func (s DeleteIntegrationInput) String() string {
14277	return awsutil.Prettify(s)
14278}
14279
14280// GoString returns the string representation
14281func (s DeleteIntegrationInput) GoString() string {
14282	return s.String()
14283}
14284
14285// Validate inspects the fields of the type to determine if they are valid.
14286func (s *DeleteIntegrationInput) Validate() error {
14287	invalidParams := request.ErrInvalidParams{Context: "DeleteIntegrationInput"}
14288	if s.HttpMethod == nil {
14289		invalidParams.Add(request.NewErrParamRequired("HttpMethod"))
14290	}
14291	if s.HttpMethod != nil && len(*s.HttpMethod) < 1 {
14292		invalidParams.Add(request.NewErrParamMinLen("HttpMethod", 1))
14293	}
14294	if s.ResourceId == nil {
14295		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
14296	}
14297	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
14298		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
14299	}
14300	if s.RestApiId == nil {
14301		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
14302	}
14303	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
14304		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
14305	}
14306
14307	if invalidParams.Len() > 0 {
14308		return invalidParams
14309	}
14310	return nil
14311}
14312
14313// SetHttpMethod sets the HttpMethod field's value.
14314func (s *DeleteIntegrationInput) SetHttpMethod(v string) *DeleteIntegrationInput {
14315	s.HttpMethod = &v
14316	return s
14317}
14318
14319// SetResourceId sets the ResourceId field's value.
14320func (s *DeleteIntegrationInput) SetResourceId(v string) *DeleteIntegrationInput {
14321	s.ResourceId = &v
14322	return s
14323}
14324
14325// SetRestApiId sets the RestApiId field's value.
14326func (s *DeleteIntegrationInput) SetRestApiId(v string) *DeleteIntegrationInput {
14327	s.RestApiId = &v
14328	return s
14329}
14330
14331type DeleteIntegrationOutput struct {
14332	_ struct{} `type:"structure"`
14333}
14334
14335// String returns the string representation
14336func (s DeleteIntegrationOutput) String() string {
14337	return awsutil.Prettify(s)
14338}
14339
14340// GoString returns the string representation
14341func (s DeleteIntegrationOutput) GoString() string {
14342	return s.String()
14343}
14344
14345// Represents a delete integration response request.
14346type DeleteIntegrationResponseInput struct {
14347	_ struct{} `type:"structure"`
14348
14349	// [Required] Specifies a delete integration response request's HTTP method.
14350	//
14351	// HttpMethod is a required field
14352	HttpMethod *string `location:"uri" locationName:"http_method" type:"string" required:"true"`
14353
14354	// [Required] Specifies a delete integration response request's resource identifier.
14355	//
14356	// ResourceId is a required field
14357	ResourceId *string `location:"uri" locationName:"resource_id" type:"string" required:"true"`
14358
14359	// [Required] The string identifier of the associated RestApi.
14360	//
14361	// RestApiId is a required field
14362	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
14363
14364	// [Required] Specifies a delete integration response request's status code.
14365	//
14366	// StatusCode is a required field
14367	StatusCode *string `location:"uri" locationName:"status_code" type:"string" required:"true"`
14368}
14369
14370// String returns the string representation
14371func (s DeleteIntegrationResponseInput) String() string {
14372	return awsutil.Prettify(s)
14373}
14374
14375// GoString returns the string representation
14376func (s DeleteIntegrationResponseInput) GoString() string {
14377	return s.String()
14378}
14379
14380// Validate inspects the fields of the type to determine if they are valid.
14381func (s *DeleteIntegrationResponseInput) Validate() error {
14382	invalidParams := request.ErrInvalidParams{Context: "DeleteIntegrationResponseInput"}
14383	if s.HttpMethod == nil {
14384		invalidParams.Add(request.NewErrParamRequired("HttpMethod"))
14385	}
14386	if s.HttpMethod != nil && len(*s.HttpMethod) < 1 {
14387		invalidParams.Add(request.NewErrParamMinLen("HttpMethod", 1))
14388	}
14389	if s.ResourceId == nil {
14390		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
14391	}
14392	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
14393		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
14394	}
14395	if s.RestApiId == nil {
14396		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
14397	}
14398	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
14399		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
14400	}
14401	if s.StatusCode == nil {
14402		invalidParams.Add(request.NewErrParamRequired("StatusCode"))
14403	}
14404	if s.StatusCode != nil && len(*s.StatusCode) < 1 {
14405		invalidParams.Add(request.NewErrParamMinLen("StatusCode", 1))
14406	}
14407
14408	if invalidParams.Len() > 0 {
14409		return invalidParams
14410	}
14411	return nil
14412}
14413
14414// SetHttpMethod sets the HttpMethod field's value.
14415func (s *DeleteIntegrationResponseInput) SetHttpMethod(v string) *DeleteIntegrationResponseInput {
14416	s.HttpMethod = &v
14417	return s
14418}
14419
14420// SetResourceId sets the ResourceId field's value.
14421func (s *DeleteIntegrationResponseInput) SetResourceId(v string) *DeleteIntegrationResponseInput {
14422	s.ResourceId = &v
14423	return s
14424}
14425
14426// SetRestApiId sets the RestApiId field's value.
14427func (s *DeleteIntegrationResponseInput) SetRestApiId(v string) *DeleteIntegrationResponseInput {
14428	s.RestApiId = &v
14429	return s
14430}
14431
14432// SetStatusCode sets the StatusCode field's value.
14433func (s *DeleteIntegrationResponseInput) SetStatusCode(v string) *DeleteIntegrationResponseInput {
14434	s.StatusCode = &v
14435	return s
14436}
14437
14438type DeleteIntegrationResponseOutput struct {
14439	_ struct{} `type:"structure"`
14440}
14441
14442// String returns the string representation
14443func (s DeleteIntegrationResponseOutput) String() string {
14444	return awsutil.Prettify(s)
14445}
14446
14447// GoString returns the string representation
14448func (s DeleteIntegrationResponseOutput) GoString() string {
14449	return s.String()
14450}
14451
14452// Request to delete an existing Method resource.
14453type DeleteMethodInput struct {
14454	_ struct{} `type:"structure"`
14455
14456	// [Required] The HTTP verb of the Method resource.
14457	//
14458	// HttpMethod is a required field
14459	HttpMethod *string `location:"uri" locationName:"http_method" type:"string" required:"true"`
14460
14461	// [Required] The Resource identifier for the Method resource.
14462	//
14463	// ResourceId is a required field
14464	ResourceId *string `location:"uri" locationName:"resource_id" type:"string" required:"true"`
14465
14466	// [Required] The string identifier of the associated RestApi.
14467	//
14468	// RestApiId is a required field
14469	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
14470}
14471
14472// String returns the string representation
14473func (s DeleteMethodInput) String() string {
14474	return awsutil.Prettify(s)
14475}
14476
14477// GoString returns the string representation
14478func (s DeleteMethodInput) GoString() string {
14479	return s.String()
14480}
14481
14482// Validate inspects the fields of the type to determine if they are valid.
14483func (s *DeleteMethodInput) Validate() error {
14484	invalidParams := request.ErrInvalidParams{Context: "DeleteMethodInput"}
14485	if s.HttpMethod == nil {
14486		invalidParams.Add(request.NewErrParamRequired("HttpMethod"))
14487	}
14488	if s.HttpMethod != nil && len(*s.HttpMethod) < 1 {
14489		invalidParams.Add(request.NewErrParamMinLen("HttpMethod", 1))
14490	}
14491	if s.ResourceId == nil {
14492		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
14493	}
14494	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
14495		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
14496	}
14497	if s.RestApiId == nil {
14498		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
14499	}
14500	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
14501		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
14502	}
14503
14504	if invalidParams.Len() > 0 {
14505		return invalidParams
14506	}
14507	return nil
14508}
14509
14510// SetHttpMethod sets the HttpMethod field's value.
14511func (s *DeleteMethodInput) SetHttpMethod(v string) *DeleteMethodInput {
14512	s.HttpMethod = &v
14513	return s
14514}
14515
14516// SetResourceId sets the ResourceId field's value.
14517func (s *DeleteMethodInput) SetResourceId(v string) *DeleteMethodInput {
14518	s.ResourceId = &v
14519	return s
14520}
14521
14522// SetRestApiId sets the RestApiId field's value.
14523func (s *DeleteMethodInput) SetRestApiId(v string) *DeleteMethodInput {
14524	s.RestApiId = &v
14525	return s
14526}
14527
14528type DeleteMethodOutput struct {
14529	_ struct{} `type:"structure"`
14530}
14531
14532// String returns the string representation
14533func (s DeleteMethodOutput) String() string {
14534	return awsutil.Prettify(s)
14535}
14536
14537// GoString returns the string representation
14538func (s DeleteMethodOutput) GoString() string {
14539	return s.String()
14540}
14541
14542// A request to delete an existing MethodResponse resource.
14543type DeleteMethodResponseInput struct {
14544	_ struct{} `type:"structure"`
14545
14546	// [Required] The HTTP verb of the Method resource.
14547	//
14548	// HttpMethod is a required field
14549	HttpMethod *string `location:"uri" locationName:"http_method" type:"string" required:"true"`
14550
14551	// [Required] The Resource identifier for the MethodResponse resource.
14552	//
14553	// ResourceId is a required field
14554	ResourceId *string `location:"uri" locationName:"resource_id" type:"string" required:"true"`
14555
14556	// [Required] The string identifier of the associated RestApi.
14557	//
14558	// RestApiId is a required field
14559	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
14560
14561	// [Required] The status code identifier for the MethodResponse resource.
14562	//
14563	// StatusCode is a required field
14564	StatusCode *string `location:"uri" locationName:"status_code" type:"string" required:"true"`
14565}
14566
14567// String returns the string representation
14568func (s DeleteMethodResponseInput) String() string {
14569	return awsutil.Prettify(s)
14570}
14571
14572// GoString returns the string representation
14573func (s DeleteMethodResponseInput) GoString() string {
14574	return s.String()
14575}
14576
14577// Validate inspects the fields of the type to determine if they are valid.
14578func (s *DeleteMethodResponseInput) Validate() error {
14579	invalidParams := request.ErrInvalidParams{Context: "DeleteMethodResponseInput"}
14580	if s.HttpMethod == nil {
14581		invalidParams.Add(request.NewErrParamRequired("HttpMethod"))
14582	}
14583	if s.HttpMethod != nil && len(*s.HttpMethod) < 1 {
14584		invalidParams.Add(request.NewErrParamMinLen("HttpMethod", 1))
14585	}
14586	if s.ResourceId == nil {
14587		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
14588	}
14589	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
14590		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
14591	}
14592	if s.RestApiId == nil {
14593		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
14594	}
14595	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
14596		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
14597	}
14598	if s.StatusCode == nil {
14599		invalidParams.Add(request.NewErrParamRequired("StatusCode"))
14600	}
14601	if s.StatusCode != nil && len(*s.StatusCode) < 1 {
14602		invalidParams.Add(request.NewErrParamMinLen("StatusCode", 1))
14603	}
14604
14605	if invalidParams.Len() > 0 {
14606		return invalidParams
14607	}
14608	return nil
14609}
14610
14611// SetHttpMethod sets the HttpMethod field's value.
14612func (s *DeleteMethodResponseInput) SetHttpMethod(v string) *DeleteMethodResponseInput {
14613	s.HttpMethod = &v
14614	return s
14615}
14616
14617// SetResourceId sets the ResourceId field's value.
14618func (s *DeleteMethodResponseInput) SetResourceId(v string) *DeleteMethodResponseInput {
14619	s.ResourceId = &v
14620	return s
14621}
14622
14623// SetRestApiId sets the RestApiId field's value.
14624func (s *DeleteMethodResponseInput) SetRestApiId(v string) *DeleteMethodResponseInput {
14625	s.RestApiId = &v
14626	return s
14627}
14628
14629// SetStatusCode sets the StatusCode field's value.
14630func (s *DeleteMethodResponseInput) SetStatusCode(v string) *DeleteMethodResponseInput {
14631	s.StatusCode = &v
14632	return s
14633}
14634
14635type DeleteMethodResponseOutput struct {
14636	_ struct{} `type:"structure"`
14637}
14638
14639// String returns the string representation
14640func (s DeleteMethodResponseOutput) String() string {
14641	return awsutil.Prettify(s)
14642}
14643
14644// GoString returns the string representation
14645func (s DeleteMethodResponseOutput) GoString() string {
14646	return s.String()
14647}
14648
14649// Request to delete an existing model in an existing RestApi resource.
14650type DeleteModelInput struct {
14651	_ struct{} `type:"structure"`
14652
14653	// [Required] The name of the model to delete.
14654	//
14655	// ModelName is a required field
14656	ModelName *string `location:"uri" locationName:"model_name" type:"string" required:"true"`
14657
14658	// [Required] The string identifier of the associated RestApi.
14659	//
14660	// RestApiId is a required field
14661	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
14662}
14663
14664// String returns the string representation
14665func (s DeleteModelInput) String() string {
14666	return awsutil.Prettify(s)
14667}
14668
14669// GoString returns the string representation
14670func (s DeleteModelInput) GoString() string {
14671	return s.String()
14672}
14673
14674// Validate inspects the fields of the type to determine if they are valid.
14675func (s *DeleteModelInput) Validate() error {
14676	invalidParams := request.ErrInvalidParams{Context: "DeleteModelInput"}
14677	if s.ModelName == nil {
14678		invalidParams.Add(request.NewErrParamRequired("ModelName"))
14679	}
14680	if s.ModelName != nil && len(*s.ModelName) < 1 {
14681		invalidParams.Add(request.NewErrParamMinLen("ModelName", 1))
14682	}
14683	if s.RestApiId == nil {
14684		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
14685	}
14686	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
14687		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
14688	}
14689
14690	if invalidParams.Len() > 0 {
14691		return invalidParams
14692	}
14693	return nil
14694}
14695
14696// SetModelName sets the ModelName field's value.
14697func (s *DeleteModelInput) SetModelName(v string) *DeleteModelInput {
14698	s.ModelName = &v
14699	return s
14700}
14701
14702// SetRestApiId sets the RestApiId field's value.
14703func (s *DeleteModelInput) SetRestApiId(v string) *DeleteModelInput {
14704	s.RestApiId = &v
14705	return s
14706}
14707
14708type DeleteModelOutput struct {
14709	_ struct{} `type:"structure"`
14710}
14711
14712// String returns the string representation
14713func (s DeleteModelOutput) String() string {
14714	return awsutil.Prettify(s)
14715}
14716
14717// GoString returns the string representation
14718func (s DeleteModelOutput) GoString() string {
14719	return s.String()
14720}
14721
14722// Deletes a specified RequestValidator of a given RestApi.
14723type DeleteRequestValidatorInput struct {
14724	_ struct{} `type:"structure"`
14725
14726	// [Required] The identifier of the RequestValidator to be deleted.
14727	//
14728	// RequestValidatorId is a required field
14729	RequestValidatorId *string `location:"uri" locationName:"requestvalidator_id" type:"string" required:"true"`
14730
14731	// [Required] The string identifier of the associated RestApi.
14732	//
14733	// RestApiId is a required field
14734	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
14735}
14736
14737// String returns the string representation
14738func (s DeleteRequestValidatorInput) String() string {
14739	return awsutil.Prettify(s)
14740}
14741
14742// GoString returns the string representation
14743func (s DeleteRequestValidatorInput) GoString() string {
14744	return s.String()
14745}
14746
14747// Validate inspects the fields of the type to determine if they are valid.
14748func (s *DeleteRequestValidatorInput) Validate() error {
14749	invalidParams := request.ErrInvalidParams{Context: "DeleteRequestValidatorInput"}
14750	if s.RequestValidatorId == nil {
14751		invalidParams.Add(request.NewErrParamRequired("RequestValidatorId"))
14752	}
14753	if s.RequestValidatorId != nil && len(*s.RequestValidatorId) < 1 {
14754		invalidParams.Add(request.NewErrParamMinLen("RequestValidatorId", 1))
14755	}
14756	if s.RestApiId == nil {
14757		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
14758	}
14759	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
14760		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
14761	}
14762
14763	if invalidParams.Len() > 0 {
14764		return invalidParams
14765	}
14766	return nil
14767}
14768
14769// SetRequestValidatorId sets the RequestValidatorId field's value.
14770func (s *DeleteRequestValidatorInput) SetRequestValidatorId(v string) *DeleteRequestValidatorInput {
14771	s.RequestValidatorId = &v
14772	return s
14773}
14774
14775// SetRestApiId sets the RestApiId field's value.
14776func (s *DeleteRequestValidatorInput) SetRestApiId(v string) *DeleteRequestValidatorInput {
14777	s.RestApiId = &v
14778	return s
14779}
14780
14781type DeleteRequestValidatorOutput struct {
14782	_ struct{} `type:"structure"`
14783}
14784
14785// String returns the string representation
14786func (s DeleteRequestValidatorOutput) String() string {
14787	return awsutil.Prettify(s)
14788}
14789
14790// GoString returns the string representation
14791func (s DeleteRequestValidatorOutput) GoString() string {
14792	return s.String()
14793}
14794
14795// Request to delete a Resource.
14796type DeleteResourceInput struct {
14797	_ struct{} `type:"structure"`
14798
14799	// [Required] The identifier of the Resource resource.
14800	//
14801	// ResourceId is a required field
14802	ResourceId *string `location:"uri" locationName:"resource_id" type:"string" required:"true"`
14803
14804	// [Required] The string identifier of the associated RestApi.
14805	//
14806	// RestApiId is a required field
14807	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
14808}
14809
14810// String returns the string representation
14811func (s DeleteResourceInput) String() string {
14812	return awsutil.Prettify(s)
14813}
14814
14815// GoString returns the string representation
14816func (s DeleteResourceInput) GoString() string {
14817	return s.String()
14818}
14819
14820// Validate inspects the fields of the type to determine if they are valid.
14821func (s *DeleteResourceInput) Validate() error {
14822	invalidParams := request.ErrInvalidParams{Context: "DeleteResourceInput"}
14823	if s.ResourceId == nil {
14824		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
14825	}
14826	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
14827		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
14828	}
14829	if s.RestApiId == nil {
14830		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
14831	}
14832	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
14833		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
14834	}
14835
14836	if invalidParams.Len() > 0 {
14837		return invalidParams
14838	}
14839	return nil
14840}
14841
14842// SetResourceId sets the ResourceId field's value.
14843func (s *DeleteResourceInput) SetResourceId(v string) *DeleteResourceInput {
14844	s.ResourceId = &v
14845	return s
14846}
14847
14848// SetRestApiId sets the RestApiId field's value.
14849func (s *DeleteResourceInput) SetRestApiId(v string) *DeleteResourceInput {
14850	s.RestApiId = &v
14851	return s
14852}
14853
14854type DeleteResourceOutput struct {
14855	_ struct{} `type:"structure"`
14856}
14857
14858// String returns the string representation
14859func (s DeleteResourceOutput) String() string {
14860	return awsutil.Prettify(s)
14861}
14862
14863// GoString returns the string representation
14864func (s DeleteResourceOutput) GoString() string {
14865	return s.String()
14866}
14867
14868// Request to delete the specified API from your collection.
14869type DeleteRestApiInput struct {
14870	_ struct{} `type:"structure"`
14871
14872	// [Required] The string identifier of the associated RestApi.
14873	//
14874	// RestApiId is a required field
14875	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
14876}
14877
14878// String returns the string representation
14879func (s DeleteRestApiInput) String() string {
14880	return awsutil.Prettify(s)
14881}
14882
14883// GoString returns the string representation
14884func (s DeleteRestApiInput) GoString() string {
14885	return s.String()
14886}
14887
14888// Validate inspects the fields of the type to determine if they are valid.
14889func (s *DeleteRestApiInput) Validate() error {
14890	invalidParams := request.ErrInvalidParams{Context: "DeleteRestApiInput"}
14891	if s.RestApiId == nil {
14892		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
14893	}
14894	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
14895		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
14896	}
14897
14898	if invalidParams.Len() > 0 {
14899		return invalidParams
14900	}
14901	return nil
14902}
14903
14904// SetRestApiId sets the RestApiId field's value.
14905func (s *DeleteRestApiInput) SetRestApiId(v string) *DeleteRestApiInput {
14906	s.RestApiId = &v
14907	return s
14908}
14909
14910type DeleteRestApiOutput struct {
14911	_ struct{} `type:"structure"`
14912}
14913
14914// String returns the string representation
14915func (s DeleteRestApiOutput) String() string {
14916	return awsutil.Prettify(s)
14917}
14918
14919// GoString returns the string representation
14920func (s DeleteRestApiOutput) GoString() string {
14921	return s.String()
14922}
14923
14924// Requests API Gateway to delete a Stage resource.
14925type DeleteStageInput struct {
14926	_ struct{} `type:"structure"`
14927
14928	// [Required] The string identifier of the associated RestApi.
14929	//
14930	// RestApiId is a required field
14931	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
14932
14933	// [Required] The name of the Stage resource to delete.
14934	//
14935	// StageName is a required field
14936	StageName *string `location:"uri" locationName:"stage_name" type:"string" required:"true"`
14937}
14938
14939// String returns the string representation
14940func (s DeleteStageInput) String() string {
14941	return awsutil.Prettify(s)
14942}
14943
14944// GoString returns the string representation
14945func (s DeleteStageInput) GoString() string {
14946	return s.String()
14947}
14948
14949// Validate inspects the fields of the type to determine if they are valid.
14950func (s *DeleteStageInput) Validate() error {
14951	invalidParams := request.ErrInvalidParams{Context: "DeleteStageInput"}
14952	if s.RestApiId == nil {
14953		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
14954	}
14955	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
14956		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
14957	}
14958	if s.StageName == nil {
14959		invalidParams.Add(request.NewErrParamRequired("StageName"))
14960	}
14961	if s.StageName != nil && len(*s.StageName) < 1 {
14962		invalidParams.Add(request.NewErrParamMinLen("StageName", 1))
14963	}
14964
14965	if invalidParams.Len() > 0 {
14966		return invalidParams
14967	}
14968	return nil
14969}
14970
14971// SetRestApiId sets the RestApiId field's value.
14972func (s *DeleteStageInput) SetRestApiId(v string) *DeleteStageInput {
14973	s.RestApiId = &v
14974	return s
14975}
14976
14977// SetStageName sets the StageName field's value.
14978func (s *DeleteStageInput) SetStageName(v string) *DeleteStageInput {
14979	s.StageName = &v
14980	return s
14981}
14982
14983type DeleteStageOutput struct {
14984	_ struct{} `type:"structure"`
14985}
14986
14987// String returns the string representation
14988func (s DeleteStageOutput) String() string {
14989	return awsutil.Prettify(s)
14990}
14991
14992// GoString returns the string representation
14993func (s DeleteStageOutput) GoString() string {
14994	return s.String()
14995}
14996
14997// The DELETE request to delete a usage plan of a given plan Id.
14998type DeleteUsagePlanInput struct {
14999	_ struct{} `type:"structure"`
15000
15001	// [Required] The Id of the to-be-deleted usage plan.
15002	//
15003	// UsagePlanId is a required field
15004	UsagePlanId *string `location:"uri" locationName:"usageplanId" type:"string" required:"true"`
15005}
15006
15007// String returns the string representation
15008func (s DeleteUsagePlanInput) String() string {
15009	return awsutil.Prettify(s)
15010}
15011
15012// GoString returns the string representation
15013func (s DeleteUsagePlanInput) GoString() string {
15014	return s.String()
15015}
15016
15017// Validate inspects the fields of the type to determine if they are valid.
15018func (s *DeleteUsagePlanInput) Validate() error {
15019	invalidParams := request.ErrInvalidParams{Context: "DeleteUsagePlanInput"}
15020	if s.UsagePlanId == nil {
15021		invalidParams.Add(request.NewErrParamRequired("UsagePlanId"))
15022	}
15023	if s.UsagePlanId != nil && len(*s.UsagePlanId) < 1 {
15024		invalidParams.Add(request.NewErrParamMinLen("UsagePlanId", 1))
15025	}
15026
15027	if invalidParams.Len() > 0 {
15028		return invalidParams
15029	}
15030	return nil
15031}
15032
15033// SetUsagePlanId sets the UsagePlanId field's value.
15034func (s *DeleteUsagePlanInput) SetUsagePlanId(v string) *DeleteUsagePlanInput {
15035	s.UsagePlanId = &v
15036	return s
15037}
15038
15039// The DELETE request to delete a usage plan key and remove the underlying API
15040// key from the associated usage plan.
15041type DeleteUsagePlanKeyInput struct {
15042	_ struct{} `type:"structure"`
15043
15044	// [Required] The Id of the UsagePlanKey resource to be deleted.
15045	//
15046	// KeyId is a required field
15047	KeyId *string `location:"uri" locationName:"keyId" type:"string" required:"true"`
15048
15049	// [Required] The Id of the UsagePlan resource representing the usage plan containing
15050	// the to-be-deleted UsagePlanKey resource representing a plan customer.
15051	//
15052	// UsagePlanId is a required field
15053	UsagePlanId *string `location:"uri" locationName:"usageplanId" type:"string" required:"true"`
15054}
15055
15056// String returns the string representation
15057func (s DeleteUsagePlanKeyInput) String() string {
15058	return awsutil.Prettify(s)
15059}
15060
15061// GoString returns the string representation
15062func (s DeleteUsagePlanKeyInput) GoString() string {
15063	return s.String()
15064}
15065
15066// Validate inspects the fields of the type to determine if they are valid.
15067func (s *DeleteUsagePlanKeyInput) Validate() error {
15068	invalidParams := request.ErrInvalidParams{Context: "DeleteUsagePlanKeyInput"}
15069	if s.KeyId == nil {
15070		invalidParams.Add(request.NewErrParamRequired("KeyId"))
15071	}
15072	if s.KeyId != nil && len(*s.KeyId) < 1 {
15073		invalidParams.Add(request.NewErrParamMinLen("KeyId", 1))
15074	}
15075	if s.UsagePlanId == nil {
15076		invalidParams.Add(request.NewErrParamRequired("UsagePlanId"))
15077	}
15078	if s.UsagePlanId != nil && len(*s.UsagePlanId) < 1 {
15079		invalidParams.Add(request.NewErrParamMinLen("UsagePlanId", 1))
15080	}
15081
15082	if invalidParams.Len() > 0 {
15083		return invalidParams
15084	}
15085	return nil
15086}
15087
15088// SetKeyId sets the KeyId field's value.
15089func (s *DeleteUsagePlanKeyInput) SetKeyId(v string) *DeleteUsagePlanKeyInput {
15090	s.KeyId = &v
15091	return s
15092}
15093
15094// SetUsagePlanId sets the UsagePlanId field's value.
15095func (s *DeleteUsagePlanKeyInput) SetUsagePlanId(v string) *DeleteUsagePlanKeyInput {
15096	s.UsagePlanId = &v
15097	return s
15098}
15099
15100type DeleteUsagePlanKeyOutput struct {
15101	_ struct{} `type:"structure"`
15102}
15103
15104// String returns the string representation
15105func (s DeleteUsagePlanKeyOutput) String() string {
15106	return awsutil.Prettify(s)
15107}
15108
15109// GoString returns the string representation
15110func (s DeleteUsagePlanKeyOutput) GoString() string {
15111	return s.String()
15112}
15113
15114type DeleteUsagePlanOutput struct {
15115	_ struct{} `type:"structure"`
15116}
15117
15118// String returns the string representation
15119func (s DeleteUsagePlanOutput) String() string {
15120	return awsutil.Prettify(s)
15121}
15122
15123// GoString returns the string representation
15124func (s DeleteUsagePlanOutput) GoString() string {
15125	return s.String()
15126}
15127
15128// Deletes an existing VpcLink of a specified identifier.
15129type DeleteVpcLinkInput struct {
15130	_ struct{} `type:"structure"`
15131
15132	// [Required] The identifier of the VpcLink. It is used in an Integration to
15133	// reference this VpcLink.
15134	//
15135	// VpcLinkId is a required field
15136	VpcLinkId *string `location:"uri" locationName:"vpclink_id" type:"string" required:"true"`
15137}
15138
15139// String returns the string representation
15140func (s DeleteVpcLinkInput) String() string {
15141	return awsutil.Prettify(s)
15142}
15143
15144// GoString returns the string representation
15145func (s DeleteVpcLinkInput) GoString() string {
15146	return s.String()
15147}
15148
15149// Validate inspects the fields of the type to determine if they are valid.
15150func (s *DeleteVpcLinkInput) Validate() error {
15151	invalidParams := request.ErrInvalidParams{Context: "DeleteVpcLinkInput"}
15152	if s.VpcLinkId == nil {
15153		invalidParams.Add(request.NewErrParamRequired("VpcLinkId"))
15154	}
15155	if s.VpcLinkId != nil && len(*s.VpcLinkId) < 1 {
15156		invalidParams.Add(request.NewErrParamMinLen("VpcLinkId", 1))
15157	}
15158
15159	if invalidParams.Len() > 0 {
15160		return invalidParams
15161	}
15162	return nil
15163}
15164
15165// SetVpcLinkId sets the VpcLinkId field's value.
15166func (s *DeleteVpcLinkInput) SetVpcLinkId(v string) *DeleteVpcLinkInput {
15167	s.VpcLinkId = &v
15168	return s
15169}
15170
15171type DeleteVpcLinkOutput struct {
15172	_ struct{} `type:"structure"`
15173}
15174
15175// String returns the string representation
15176func (s DeleteVpcLinkOutput) String() string {
15177	return awsutil.Prettify(s)
15178}
15179
15180// GoString returns the string representation
15181func (s DeleteVpcLinkOutput) GoString() string {
15182	return s.String()
15183}
15184
15185// An immutable representation of a RestApi resource that can be called by users
15186// using Stages. A deployment must be associated with a Stage for it to be callable
15187// over the Internet.
15188//
15189// To create a deployment, call POST on the Deployments resource of a RestApi.
15190// To view, update, or delete a deployment, call GET, PATCH, or DELETE on the
15191// specified deployment resource (/restapis/{restapi_id}/deployments/{deployment_id}).
15192//
15193// RestApi, Deployments, Stage, AWS CLI (https://docs.aws.amazon.com/cli/latest/reference/apigateway/get-deployment.html),
15194// AWS SDKs (https://aws.amazon.com/tools/)
15195type Deployment struct {
15196	_ struct{} `type:"structure"`
15197
15198	// A summary of the RestApi at the date and time that the deployment resource
15199	// was created.
15200	ApiSummary map[string]map[string]*MethodSnapshot `locationName:"apiSummary" type:"map"`
15201
15202	// The date and time that the deployment resource was created.
15203	CreatedDate *time.Time `locationName:"createdDate" type:"timestamp"`
15204
15205	// The description for the deployment resource.
15206	Description *string `locationName:"description" type:"string"`
15207
15208	// The identifier for the deployment resource.
15209	Id *string `locationName:"id" type:"string"`
15210}
15211
15212// String returns the string representation
15213func (s Deployment) String() string {
15214	return awsutil.Prettify(s)
15215}
15216
15217// GoString returns the string representation
15218func (s Deployment) GoString() string {
15219	return s.String()
15220}
15221
15222// SetApiSummary sets the ApiSummary field's value.
15223func (s *Deployment) SetApiSummary(v map[string]map[string]*MethodSnapshot) *Deployment {
15224	s.ApiSummary = v
15225	return s
15226}
15227
15228// SetCreatedDate sets the CreatedDate field's value.
15229func (s *Deployment) SetCreatedDate(v time.Time) *Deployment {
15230	s.CreatedDate = &v
15231	return s
15232}
15233
15234// SetDescription sets the Description field's value.
15235func (s *Deployment) SetDescription(v string) *Deployment {
15236	s.Description = &v
15237	return s
15238}
15239
15240// SetId sets the Id field's value.
15241func (s *Deployment) SetId(v string) *Deployment {
15242	s.Id = &v
15243	return s
15244}
15245
15246// The input configuration for a canary deployment.
15247type DeploymentCanarySettings struct {
15248	_ struct{} `type:"structure"`
15249
15250	// The percentage (0.0-100.0) of traffic routed to the canary deployment.
15251	PercentTraffic *float64 `locationName:"percentTraffic" type:"double"`
15252
15253	// A stage variable overrides used for the canary release deployment. They can
15254	// override existing stage variables or add new stage variables for the canary
15255	// release deployment. These stage variables are represented as a string-to-string
15256	// map between stage variable names and their values.
15257	StageVariableOverrides map[string]*string `locationName:"stageVariableOverrides" type:"map"`
15258
15259	// A Boolean flag to indicate whether the canary release deployment uses the
15260	// stage cache or not.
15261	UseStageCache *bool `locationName:"useStageCache" type:"boolean"`
15262}
15263
15264// String returns the string representation
15265func (s DeploymentCanarySettings) String() string {
15266	return awsutil.Prettify(s)
15267}
15268
15269// GoString returns the string representation
15270func (s DeploymentCanarySettings) GoString() string {
15271	return s.String()
15272}
15273
15274// SetPercentTraffic sets the PercentTraffic field's value.
15275func (s *DeploymentCanarySettings) SetPercentTraffic(v float64) *DeploymentCanarySettings {
15276	s.PercentTraffic = &v
15277	return s
15278}
15279
15280// SetStageVariableOverrides sets the StageVariableOverrides field's value.
15281func (s *DeploymentCanarySettings) SetStageVariableOverrides(v map[string]*string) *DeploymentCanarySettings {
15282	s.StageVariableOverrides = v
15283	return s
15284}
15285
15286// SetUseStageCache sets the UseStageCache field's value.
15287func (s *DeploymentCanarySettings) SetUseStageCache(v bool) *DeploymentCanarySettings {
15288	s.UseStageCache = &v
15289	return s
15290}
15291
15292// A documentation part for a targeted API entity.
15293//
15294// A documentation part consists of a content map (properties) and a target
15295// (location). The target specifies an API entity to which the documentation
15296// content applies. The supported API entity types are API, AUTHORIZER, MODEL,
15297// RESOURCE, METHOD, PATH_PARAMETER, QUERY_PARAMETER, REQUEST_HEADER, REQUEST_BODY,
15298// RESPONSE, RESPONSE_HEADER, and RESPONSE_BODY. Valid location fields depend
15299// on the API entity type. All valid fields are not required.
15300//
15301// The content map is a JSON string of API-specific key-value pairs. Although
15302// an API can use any shape for the content map, only the OpenAPI-compliant
15303// documentation fields will be injected into the associated API entity definition
15304// in the exported OpenAPI definition file.
15305//
15306// Documenting an API (https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-documenting-api.html),
15307// DocumentationParts
15308type DocumentationPart struct {
15309	_ struct{} `type:"structure"`
15310
15311	// The DocumentationPart identifier, generated by API Gateway when the DocumentationPart
15312	// is created.
15313	Id *string `locationName:"id" type:"string"`
15314
15315	// The location of the API entity to which the documentation applies. Valid
15316	// fields depend on the targeted API entity type. All the valid location fields
15317	// are not required. If not explicitly specified, a valid location field is
15318	// treated as a wildcard and associated documentation content may be inherited
15319	// by matching entities, unless overridden.
15320	Location *DocumentationPartLocation `locationName:"location" type:"structure"`
15321
15322	// A content map of API-specific key-value pairs describing the targeted API
15323	// entity. The map must be encoded as a JSON string, e.g., "{ \"description\":
15324	// \"The API does ...\" }". Only OpenAPI-compliant documentation-related fields
15325	// from the properties map are exported and, hence, published as part of the
15326	// API entity definitions, while the original documentation parts are exported
15327	// in a OpenAPI extension of x-amazon-apigateway-documentation.
15328	Properties *string `locationName:"properties" type:"string"`
15329}
15330
15331// String returns the string representation
15332func (s DocumentationPart) String() string {
15333	return awsutil.Prettify(s)
15334}
15335
15336// GoString returns the string representation
15337func (s DocumentationPart) GoString() string {
15338	return s.String()
15339}
15340
15341// SetId sets the Id field's value.
15342func (s *DocumentationPart) SetId(v string) *DocumentationPart {
15343	s.Id = &v
15344	return s
15345}
15346
15347// SetLocation sets the Location field's value.
15348func (s *DocumentationPart) SetLocation(v *DocumentationPartLocation) *DocumentationPart {
15349	s.Location = v
15350	return s
15351}
15352
15353// SetProperties sets the Properties field's value.
15354func (s *DocumentationPart) SetProperties(v string) *DocumentationPart {
15355	s.Properties = &v
15356	return s
15357}
15358
15359// Specifies the target API entity to which the documentation applies.
15360type DocumentationPartLocation struct {
15361	_ struct{} `type:"structure"`
15362
15363	// The HTTP verb of a method. It is a valid field for the API entity types of
15364	// METHOD, PATH_PARAMETER, QUERY_PARAMETER, REQUEST_HEADER, REQUEST_BODY, RESPONSE,
15365	// RESPONSE_HEADER, and RESPONSE_BODY. The default value is * for any method.
15366	// When an applicable child entity inherits the content of an entity of the
15367	// same type with more general specifications of the other location attributes,
15368	// the child entity's method attribute must match that of the parent entity
15369	// exactly.
15370	Method *string `locationName:"method" type:"string"`
15371
15372	// The name of the targeted API entity. It is a valid and required field for
15373	// the API entity types of AUTHORIZER, MODEL, PATH_PARAMETER, QUERY_PARAMETER,
15374	// REQUEST_HEADER, REQUEST_BODY and RESPONSE_HEADER. It is an invalid field
15375	// for any other entity type.
15376	Name *string `locationName:"name" type:"string"`
15377
15378	// The URL path of the target. It is a valid field for the API entity types
15379	// of RESOURCE, METHOD, PATH_PARAMETER, QUERY_PARAMETER, REQUEST_HEADER, REQUEST_BODY,
15380	// RESPONSE, RESPONSE_HEADER, and RESPONSE_BODY. The default value is / for
15381	// the root resource. When an applicable child entity inherits the content of
15382	// another entity of the same type with more general specifications of the other
15383	// location attributes, the child entity's path attribute must match that of
15384	// the parent entity as a prefix.
15385	Path *string `locationName:"path" type:"string"`
15386
15387	// The HTTP status code of a response. It is a valid field for the API entity
15388	// types of RESPONSE, RESPONSE_HEADER, and RESPONSE_BODY. The default value
15389	// is * for any status code. When an applicable child entity inherits the content
15390	// of an entity of the same type with more general specifications of the other
15391	// location attributes, the child entity's statusCode attribute must match that
15392	// of the parent entity exactly.
15393	StatusCode *string `locationName:"statusCode" type:"string"`
15394
15395	// [Required] The type of API entity to which the documentation content applies.
15396	// Valid values are API, AUTHORIZER, MODEL, RESOURCE, METHOD, PATH_PARAMETER,
15397	// QUERY_PARAMETER, REQUEST_HEADER, REQUEST_BODY, RESPONSE, RESPONSE_HEADER,
15398	// and RESPONSE_BODY. Content inheritance does not apply to any entity of the
15399	// API, AUTHORIZER, METHOD, MODEL, REQUEST_BODY, or RESOURCE type.
15400	//
15401	// Type is a required field
15402	Type *string `locationName:"type" type:"string" required:"true" enum:"DocumentationPartType"`
15403}
15404
15405// String returns the string representation
15406func (s DocumentationPartLocation) String() string {
15407	return awsutil.Prettify(s)
15408}
15409
15410// GoString returns the string representation
15411func (s DocumentationPartLocation) GoString() string {
15412	return s.String()
15413}
15414
15415// Validate inspects the fields of the type to determine if they are valid.
15416func (s *DocumentationPartLocation) Validate() error {
15417	invalidParams := request.ErrInvalidParams{Context: "DocumentationPartLocation"}
15418	if s.Type == nil {
15419		invalidParams.Add(request.NewErrParamRequired("Type"))
15420	}
15421
15422	if invalidParams.Len() > 0 {
15423		return invalidParams
15424	}
15425	return nil
15426}
15427
15428// SetMethod sets the Method field's value.
15429func (s *DocumentationPartLocation) SetMethod(v string) *DocumentationPartLocation {
15430	s.Method = &v
15431	return s
15432}
15433
15434// SetName sets the Name field's value.
15435func (s *DocumentationPartLocation) SetName(v string) *DocumentationPartLocation {
15436	s.Name = &v
15437	return s
15438}
15439
15440// SetPath sets the Path field's value.
15441func (s *DocumentationPartLocation) SetPath(v string) *DocumentationPartLocation {
15442	s.Path = &v
15443	return s
15444}
15445
15446// SetStatusCode sets the StatusCode field's value.
15447func (s *DocumentationPartLocation) SetStatusCode(v string) *DocumentationPartLocation {
15448	s.StatusCode = &v
15449	return s
15450}
15451
15452// SetType sets the Type field's value.
15453func (s *DocumentationPartLocation) SetType(v string) *DocumentationPartLocation {
15454	s.Type = &v
15455	return s
15456}
15457
15458// A snapshot of the documentation of an API.
15459//
15460// Publishing API documentation involves creating a documentation version associated
15461// with an API stage and exporting the versioned documentation to an external
15462// (e.g., OpenAPI) file.
15463//
15464// Documenting an API (https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-documenting-api.html),
15465// DocumentationPart, DocumentationVersions
15466type DocumentationVersion struct {
15467	_ struct{} `type:"structure"`
15468
15469	// The date when the API documentation snapshot is created.
15470	CreatedDate *time.Time `locationName:"createdDate" type:"timestamp"`
15471
15472	// The description of the API documentation snapshot.
15473	Description *string `locationName:"description" type:"string"`
15474
15475	// The version identifier of the API documentation snapshot.
15476	Version *string `locationName:"version" type:"string"`
15477}
15478
15479// String returns the string representation
15480func (s DocumentationVersion) String() string {
15481	return awsutil.Prettify(s)
15482}
15483
15484// GoString returns the string representation
15485func (s DocumentationVersion) GoString() string {
15486	return s.String()
15487}
15488
15489// SetCreatedDate sets the CreatedDate field's value.
15490func (s *DocumentationVersion) SetCreatedDate(v time.Time) *DocumentationVersion {
15491	s.CreatedDate = &v
15492	return s
15493}
15494
15495// SetDescription sets the Description field's value.
15496func (s *DocumentationVersion) SetDescription(v string) *DocumentationVersion {
15497	s.Description = &v
15498	return s
15499}
15500
15501// SetVersion sets the Version field's value.
15502func (s *DocumentationVersion) SetVersion(v string) *DocumentationVersion {
15503	s.Version = &v
15504	return s
15505}
15506
15507// Represents a custom domain name as a user-friendly host name of an API (RestApi).
15508//
15509// When you deploy an API, API Gateway creates a default host name for the API.
15510// This default API host name is of the {restapi-id}.execute-api.{region}.amazonaws.com
15511// format. With the default host name, you can access the API's root resource
15512// with the URL of https://{restapi-id}.execute-api.{region}.amazonaws.com/{stage}/.
15513// When you set up a custom domain name of apis.example.com for this API, you
15514// can then access the same resource using the URL of the https://apis.examples.com/myApi,
15515// where myApi is the base path mapping (BasePathMapping) of your API under
15516// the custom domain name.
15517//
15518// Set a Custom Host Name for an API (https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-custom-domains.html)
15519type DomainName struct {
15520	_ struct{} `type:"structure"`
15521
15522	// The reference to an AWS-managed certificate that will be used by edge-optimized
15523	// endpoint for this domain name. AWS Certificate Manager is the only supported
15524	// source.
15525	CertificateArn *string `locationName:"certificateArn" type:"string"`
15526
15527	// The name of the certificate that will be used by edge-optimized endpoint
15528	// for this domain name.
15529	CertificateName *string `locationName:"certificateName" type:"string"`
15530
15531	// The timestamp when the certificate that was used by edge-optimized endpoint
15532	// for this domain name was uploaded.
15533	CertificateUploadDate *time.Time `locationName:"certificateUploadDate" type:"timestamp"`
15534
15535	// The domain name of the Amazon CloudFront distribution associated with this
15536	// custom domain name for an edge-optimized endpoint. You set up this association
15537	// when adding a DNS record pointing the custom domain name to this distribution
15538	// name. For more information about CloudFront distributions, see the Amazon
15539	// CloudFront documentation (https://aws.amazon.com/documentation/cloudfront/).
15540	DistributionDomainName *string `locationName:"distributionDomainName" type:"string"`
15541
15542	// The region-agnostic Amazon Route 53 Hosted Zone ID of the edge-optimized
15543	// endpoint. The valid value is Z2FDTNDATAQYW2 for all the regions. For more
15544	// information, see Set up a Regional Custom Domain Name (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-regional-api-custom-domain-create.html)
15545	// and AWS Regions and Endpoints for API Gateway (https://docs.aws.amazon.com/general/latest/gr/rande.html#apigateway_region).
15546	DistributionHostedZoneId *string `locationName:"distributionHostedZoneId" type:"string"`
15547
15548	// The custom domain name as an API host name, for example, my-api.example.com.
15549	DomainName *string `locationName:"domainName" type:"string"`
15550
15551	// The status of the DomainName migration. The valid values are AVAILABLE and
15552	// UPDATING. If the status is UPDATING, the domain cannot be modified further
15553	// until the existing operation is complete. If it is AVAILABLE, the domain
15554	// can be updated.
15555	DomainNameStatus *string `locationName:"domainNameStatus" type:"string" enum:"DomainNameStatus"`
15556
15557	// An optional text message containing detailed information about status of
15558	// the DomainName migration.
15559	DomainNameStatusMessage *string `locationName:"domainNameStatusMessage" type:"string"`
15560
15561	// The endpoint configuration of this DomainName showing the endpoint types
15562	// of the domain name.
15563	EndpointConfiguration *EndpointConfiguration `locationName:"endpointConfiguration" type:"structure"`
15564
15565	// The mutual TLS authentication configuration for a custom domain name. If
15566	// specified, API Gateway performs two-way authentication between the client
15567	// and the server. Clients must present a trusted certificate to access your
15568	// API.
15569	MutualTlsAuthentication *MutualTlsAuthentication `locationName:"mutualTlsAuthentication" type:"structure"`
15570
15571	// The reference to an AWS-managed certificate that will be used for validating
15572	// the regional domain name. AWS Certificate Manager is the only supported source.
15573	RegionalCertificateArn *string `locationName:"regionalCertificateArn" type:"string"`
15574
15575	// The name of the certificate that will be used for validating the regional
15576	// domain name.
15577	RegionalCertificateName *string `locationName:"regionalCertificateName" type:"string"`
15578
15579	// The domain name associated with the regional endpoint for this custom domain
15580	// name. You set up this association by adding a DNS record that points the
15581	// custom domain name to this regional domain name. The regional domain name
15582	// is returned by API Gateway when you create a regional endpoint.
15583	RegionalDomainName *string `locationName:"regionalDomainName" type:"string"`
15584
15585	// The region-specific Amazon Route 53 Hosted Zone ID of the regional endpoint.
15586	// 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)
15587	// and AWS Regions and Endpoints for API Gateway (https://docs.aws.amazon.com/general/latest/gr/rande.html#apigateway_region).
15588	RegionalHostedZoneId *string `locationName:"regionalHostedZoneId" type:"string"`
15589
15590	// The Transport Layer Security (TLS) version + cipher suite for this DomainName.
15591	// The valid values are TLS_1_0 and TLS_1_2.
15592	SecurityPolicy *string `locationName:"securityPolicy" type:"string" enum:"SecurityPolicy"`
15593
15594	// The collection of tags. Each tag element is associated with a given resource.
15595	Tags map[string]*string `locationName:"tags" type:"map"`
15596}
15597
15598// String returns the string representation
15599func (s DomainName) String() string {
15600	return awsutil.Prettify(s)
15601}
15602
15603// GoString returns the string representation
15604func (s DomainName) GoString() string {
15605	return s.String()
15606}
15607
15608// SetCertificateArn sets the CertificateArn field's value.
15609func (s *DomainName) SetCertificateArn(v string) *DomainName {
15610	s.CertificateArn = &v
15611	return s
15612}
15613
15614// SetCertificateName sets the CertificateName field's value.
15615func (s *DomainName) SetCertificateName(v string) *DomainName {
15616	s.CertificateName = &v
15617	return s
15618}
15619
15620// SetCertificateUploadDate sets the CertificateUploadDate field's value.
15621func (s *DomainName) SetCertificateUploadDate(v time.Time) *DomainName {
15622	s.CertificateUploadDate = &v
15623	return s
15624}
15625
15626// SetDistributionDomainName sets the DistributionDomainName field's value.
15627func (s *DomainName) SetDistributionDomainName(v string) *DomainName {
15628	s.DistributionDomainName = &v
15629	return s
15630}
15631
15632// SetDistributionHostedZoneId sets the DistributionHostedZoneId field's value.
15633func (s *DomainName) SetDistributionHostedZoneId(v string) *DomainName {
15634	s.DistributionHostedZoneId = &v
15635	return s
15636}
15637
15638// SetDomainName sets the DomainName field's value.
15639func (s *DomainName) SetDomainName(v string) *DomainName {
15640	s.DomainName = &v
15641	return s
15642}
15643
15644// SetDomainNameStatus sets the DomainNameStatus field's value.
15645func (s *DomainName) SetDomainNameStatus(v string) *DomainName {
15646	s.DomainNameStatus = &v
15647	return s
15648}
15649
15650// SetDomainNameStatusMessage sets the DomainNameStatusMessage field's value.
15651func (s *DomainName) SetDomainNameStatusMessage(v string) *DomainName {
15652	s.DomainNameStatusMessage = &v
15653	return s
15654}
15655
15656// SetEndpointConfiguration sets the EndpointConfiguration field's value.
15657func (s *DomainName) SetEndpointConfiguration(v *EndpointConfiguration) *DomainName {
15658	s.EndpointConfiguration = v
15659	return s
15660}
15661
15662// SetMutualTlsAuthentication sets the MutualTlsAuthentication field's value.
15663func (s *DomainName) SetMutualTlsAuthentication(v *MutualTlsAuthentication) *DomainName {
15664	s.MutualTlsAuthentication = v
15665	return s
15666}
15667
15668// SetRegionalCertificateArn sets the RegionalCertificateArn field's value.
15669func (s *DomainName) SetRegionalCertificateArn(v string) *DomainName {
15670	s.RegionalCertificateArn = &v
15671	return s
15672}
15673
15674// SetRegionalCertificateName sets the RegionalCertificateName field's value.
15675func (s *DomainName) SetRegionalCertificateName(v string) *DomainName {
15676	s.RegionalCertificateName = &v
15677	return s
15678}
15679
15680// SetRegionalDomainName sets the RegionalDomainName field's value.
15681func (s *DomainName) SetRegionalDomainName(v string) *DomainName {
15682	s.RegionalDomainName = &v
15683	return s
15684}
15685
15686// SetRegionalHostedZoneId sets the RegionalHostedZoneId field's value.
15687func (s *DomainName) SetRegionalHostedZoneId(v string) *DomainName {
15688	s.RegionalHostedZoneId = &v
15689	return s
15690}
15691
15692// SetSecurityPolicy sets the SecurityPolicy field's value.
15693func (s *DomainName) SetSecurityPolicy(v string) *DomainName {
15694	s.SecurityPolicy = &v
15695	return s
15696}
15697
15698// SetTags sets the Tags field's value.
15699func (s *DomainName) SetTags(v map[string]*string) *DomainName {
15700	s.Tags = v
15701	return s
15702}
15703
15704// The endpoint configuration to indicate the types of endpoints an API (RestApi)
15705// or its custom domain name (DomainName) has.
15706type EndpointConfiguration struct {
15707	_ struct{} `type:"structure"`
15708
15709	// A list of endpoint types of an API (RestApi) or its custom domain name (DomainName).
15710	// For an edge-optimized API and its custom domain name, the endpoint type is
15711	// "EDGE". For a regional API and its custom domain name, the endpoint type
15712	// is REGIONAL. For a private API, the endpoint type is PRIVATE.
15713	Types []*string `locationName:"types" type:"list"`
15714
15715	// A list of VpcEndpointIds of an API (RestApi) against which to create Route53
15716	// ALIASes. It is only supported for PRIVATE endpoint type.
15717	VpcEndpointIds []*string `locationName:"vpcEndpointIds" type:"list"`
15718}
15719
15720// String returns the string representation
15721func (s EndpointConfiguration) String() string {
15722	return awsutil.Prettify(s)
15723}
15724
15725// GoString returns the string representation
15726func (s EndpointConfiguration) GoString() string {
15727	return s.String()
15728}
15729
15730// SetTypes sets the Types field's value.
15731func (s *EndpointConfiguration) SetTypes(v []*string) *EndpointConfiguration {
15732	s.Types = v
15733	return s
15734}
15735
15736// SetVpcEndpointIds sets the VpcEndpointIds field's value.
15737func (s *EndpointConfiguration) SetVpcEndpointIds(v []*string) *EndpointConfiguration {
15738	s.VpcEndpointIds = v
15739	return s
15740}
15741
15742// Request to flush authorizer cache entries on a specified stage.
15743type FlushStageAuthorizersCacheInput struct {
15744	_ struct{} `type:"structure"`
15745
15746	// The string identifier of the associated RestApi.
15747	//
15748	// RestApiId is a required field
15749	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
15750
15751	// The name of the stage to flush.
15752	//
15753	// StageName is a required field
15754	StageName *string `location:"uri" locationName:"stage_name" type:"string" required:"true"`
15755}
15756
15757// String returns the string representation
15758func (s FlushStageAuthorizersCacheInput) String() string {
15759	return awsutil.Prettify(s)
15760}
15761
15762// GoString returns the string representation
15763func (s FlushStageAuthorizersCacheInput) GoString() string {
15764	return s.String()
15765}
15766
15767// Validate inspects the fields of the type to determine if they are valid.
15768func (s *FlushStageAuthorizersCacheInput) Validate() error {
15769	invalidParams := request.ErrInvalidParams{Context: "FlushStageAuthorizersCacheInput"}
15770	if s.RestApiId == nil {
15771		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
15772	}
15773	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
15774		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
15775	}
15776	if s.StageName == nil {
15777		invalidParams.Add(request.NewErrParamRequired("StageName"))
15778	}
15779	if s.StageName != nil && len(*s.StageName) < 1 {
15780		invalidParams.Add(request.NewErrParamMinLen("StageName", 1))
15781	}
15782
15783	if invalidParams.Len() > 0 {
15784		return invalidParams
15785	}
15786	return nil
15787}
15788
15789// SetRestApiId sets the RestApiId field's value.
15790func (s *FlushStageAuthorizersCacheInput) SetRestApiId(v string) *FlushStageAuthorizersCacheInput {
15791	s.RestApiId = &v
15792	return s
15793}
15794
15795// SetStageName sets the StageName field's value.
15796func (s *FlushStageAuthorizersCacheInput) SetStageName(v string) *FlushStageAuthorizersCacheInput {
15797	s.StageName = &v
15798	return s
15799}
15800
15801type FlushStageAuthorizersCacheOutput struct {
15802	_ struct{} `type:"structure"`
15803}
15804
15805// String returns the string representation
15806func (s FlushStageAuthorizersCacheOutput) String() string {
15807	return awsutil.Prettify(s)
15808}
15809
15810// GoString returns the string representation
15811func (s FlushStageAuthorizersCacheOutput) GoString() string {
15812	return s.String()
15813}
15814
15815// Requests API Gateway to flush a stage's cache.
15816type FlushStageCacheInput struct {
15817	_ struct{} `type:"structure"`
15818
15819	// [Required] The string identifier of the associated RestApi.
15820	//
15821	// RestApiId is a required field
15822	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
15823
15824	// [Required] The name of the stage to flush its cache.
15825	//
15826	// StageName is a required field
15827	StageName *string `location:"uri" locationName:"stage_name" type:"string" required:"true"`
15828}
15829
15830// String returns the string representation
15831func (s FlushStageCacheInput) String() string {
15832	return awsutil.Prettify(s)
15833}
15834
15835// GoString returns the string representation
15836func (s FlushStageCacheInput) GoString() string {
15837	return s.String()
15838}
15839
15840// Validate inspects the fields of the type to determine if they are valid.
15841func (s *FlushStageCacheInput) Validate() error {
15842	invalidParams := request.ErrInvalidParams{Context: "FlushStageCacheInput"}
15843	if s.RestApiId == nil {
15844		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
15845	}
15846	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
15847		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
15848	}
15849	if s.StageName == nil {
15850		invalidParams.Add(request.NewErrParamRequired("StageName"))
15851	}
15852	if s.StageName != nil && len(*s.StageName) < 1 {
15853		invalidParams.Add(request.NewErrParamMinLen("StageName", 1))
15854	}
15855
15856	if invalidParams.Len() > 0 {
15857		return invalidParams
15858	}
15859	return nil
15860}
15861
15862// SetRestApiId sets the RestApiId field's value.
15863func (s *FlushStageCacheInput) SetRestApiId(v string) *FlushStageCacheInput {
15864	s.RestApiId = &v
15865	return s
15866}
15867
15868// SetStageName sets the StageName field's value.
15869func (s *FlushStageCacheInput) SetStageName(v string) *FlushStageCacheInput {
15870	s.StageName = &v
15871	return s
15872}
15873
15874type FlushStageCacheOutput struct {
15875	_ struct{} `type:"structure"`
15876}
15877
15878// String returns the string representation
15879func (s FlushStageCacheOutput) String() string {
15880	return awsutil.Prettify(s)
15881}
15882
15883// GoString returns the string representation
15884func (s FlushStageCacheOutput) GoString() string {
15885	return s.String()
15886}
15887
15888// A request to generate a ClientCertificate resource.
15889type GenerateClientCertificateInput struct {
15890	_ struct{} `type:"structure"`
15891
15892	// The description of the ClientCertificate.
15893	Description *string `locationName:"description" type:"string"`
15894
15895	// The key-value map of strings. The valid character set is [a-zA-Z+-=._:/].
15896	// The tag key can be up to 128 characters and must not start with aws:. The
15897	// tag value can be up to 256 characters.
15898	Tags map[string]*string `locationName:"tags" type:"map"`
15899}
15900
15901// String returns the string representation
15902func (s GenerateClientCertificateInput) String() string {
15903	return awsutil.Prettify(s)
15904}
15905
15906// GoString returns the string representation
15907func (s GenerateClientCertificateInput) GoString() string {
15908	return s.String()
15909}
15910
15911// SetDescription sets the Description field's value.
15912func (s *GenerateClientCertificateInput) SetDescription(v string) *GenerateClientCertificateInput {
15913	s.Description = &v
15914	return s
15915}
15916
15917// SetTags sets the Tags field's value.
15918func (s *GenerateClientCertificateInput) SetTags(v map[string]*string) *GenerateClientCertificateInput {
15919	s.Tags = v
15920	return s
15921}
15922
15923// Requests API Gateway to get information about the current Account resource.
15924type GetAccountInput struct {
15925	_ struct{} `type:"structure"`
15926}
15927
15928// String returns the string representation
15929func (s GetAccountInput) String() string {
15930	return awsutil.Prettify(s)
15931}
15932
15933// GoString returns the string representation
15934func (s GetAccountInput) GoString() string {
15935	return s.String()
15936}
15937
15938// A request to get information about the current ApiKey resource.
15939type GetApiKeyInput struct {
15940	_ struct{} `type:"structure"`
15941
15942	// [Required] The identifier of the ApiKey resource.
15943	//
15944	// ApiKey is a required field
15945	ApiKey *string `location:"uri" locationName:"api_Key" type:"string" required:"true"`
15946
15947	// A boolean flag to specify whether (true) or not (false) the result contains
15948	// the key value.
15949	IncludeValue *bool `location:"querystring" locationName:"includeValue" type:"boolean"`
15950}
15951
15952// String returns the string representation
15953func (s GetApiKeyInput) String() string {
15954	return awsutil.Prettify(s)
15955}
15956
15957// GoString returns the string representation
15958func (s GetApiKeyInput) GoString() string {
15959	return s.String()
15960}
15961
15962// Validate inspects the fields of the type to determine if they are valid.
15963func (s *GetApiKeyInput) Validate() error {
15964	invalidParams := request.ErrInvalidParams{Context: "GetApiKeyInput"}
15965	if s.ApiKey == nil {
15966		invalidParams.Add(request.NewErrParamRequired("ApiKey"))
15967	}
15968	if s.ApiKey != nil && len(*s.ApiKey) < 1 {
15969		invalidParams.Add(request.NewErrParamMinLen("ApiKey", 1))
15970	}
15971
15972	if invalidParams.Len() > 0 {
15973		return invalidParams
15974	}
15975	return nil
15976}
15977
15978// SetApiKey sets the ApiKey field's value.
15979func (s *GetApiKeyInput) SetApiKey(v string) *GetApiKeyInput {
15980	s.ApiKey = &v
15981	return s
15982}
15983
15984// SetIncludeValue sets the IncludeValue field's value.
15985func (s *GetApiKeyInput) SetIncludeValue(v bool) *GetApiKeyInput {
15986	s.IncludeValue = &v
15987	return s
15988}
15989
15990// A request to get information about the current ApiKeys resource.
15991type GetApiKeysInput struct {
15992	_ struct{} `type:"structure"`
15993
15994	// The identifier of a customer in AWS Marketplace or an external system, such
15995	// as a developer portal.
15996	CustomerId *string `location:"querystring" locationName:"customerId" type:"string"`
15997
15998	// A boolean flag to specify whether (true) or not (false) the result contains
15999	// key values.
16000	IncludeValues *bool `location:"querystring" locationName:"includeValues" type:"boolean"`
16001
16002	// The maximum number of returned results per page. The default value is 25
16003	// and the maximum value is 500.
16004	Limit *int64 `location:"querystring" locationName:"limit" type:"integer"`
16005
16006	// The name of queried API keys.
16007	NameQuery *string `location:"querystring" locationName:"name" type:"string"`
16008
16009	// The current pagination position in the paged result set.
16010	Position *string `location:"querystring" locationName:"position" type:"string"`
16011}
16012
16013// String returns the string representation
16014func (s GetApiKeysInput) String() string {
16015	return awsutil.Prettify(s)
16016}
16017
16018// GoString returns the string representation
16019func (s GetApiKeysInput) GoString() string {
16020	return s.String()
16021}
16022
16023// SetCustomerId sets the CustomerId field's value.
16024func (s *GetApiKeysInput) SetCustomerId(v string) *GetApiKeysInput {
16025	s.CustomerId = &v
16026	return s
16027}
16028
16029// SetIncludeValues sets the IncludeValues field's value.
16030func (s *GetApiKeysInput) SetIncludeValues(v bool) *GetApiKeysInput {
16031	s.IncludeValues = &v
16032	return s
16033}
16034
16035// SetLimit sets the Limit field's value.
16036func (s *GetApiKeysInput) SetLimit(v int64) *GetApiKeysInput {
16037	s.Limit = &v
16038	return s
16039}
16040
16041// SetNameQuery sets the NameQuery field's value.
16042func (s *GetApiKeysInput) SetNameQuery(v string) *GetApiKeysInput {
16043	s.NameQuery = &v
16044	return s
16045}
16046
16047// SetPosition sets the Position field's value.
16048func (s *GetApiKeysInput) SetPosition(v string) *GetApiKeysInput {
16049	s.Position = &v
16050	return s
16051}
16052
16053// Represents a collection of API keys as represented by an ApiKeys resource.
16054//
16055// Use API Keys (https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-api-keys.html)
16056type GetApiKeysOutput struct {
16057	_ struct{} `type:"structure"`
16058
16059	// The current page of elements from this collection.
16060	Items []*ApiKey `locationName:"item" type:"list"`
16061
16062	Position *string `locationName:"position" type:"string"`
16063
16064	// A list of warning messages logged during the import of API keys when the
16065	// failOnWarnings option is set to true.
16066	Warnings []*string `locationName:"warnings" type:"list"`
16067}
16068
16069// String returns the string representation
16070func (s GetApiKeysOutput) String() string {
16071	return awsutil.Prettify(s)
16072}
16073
16074// GoString returns the string representation
16075func (s GetApiKeysOutput) GoString() string {
16076	return s.String()
16077}
16078
16079// SetItems sets the Items field's value.
16080func (s *GetApiKeysOutput) SetItems(v []*ApiKey) *GetApiKeysOutput {
16081	s.Items = v
16082	return s
16083}
16084
16085// SetPosition sets the Position field's value.
16086func (s *GetApiKeysOutput) SetPosition(v string) *GetApiKeysOutput {
16087	s.Position = &v
16088	return s
16089}
16090
16091// SetWarnings sets the Warnings field's value.
16092func (s *GetApiKeysOutput) SetWarnings(v []*string) *GetApiKeysOutput {
16093	s.Warnings = v
16094	return s
16095}
16096
16097// Request to describe an existing Authorizer resource.
16098type GetAuthorizerInput struct {
16099	_ struct{} `type:"structure"`
16100
16101	// [Required] The identifier of the Authorizer resource.
16102	//
16103	// AuthorizerId is a required field
16104	AuthorizerId *string `location:"uri" locationName:"authorizer_id" type:"string" required:"true"`
16105
16106	// [Required] The string identifier of the associated RestApi.
16107	//
16108	// RestApiId is a required field
16109	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
16110}
16111
16112// String returns the string representation
16113func (s GetAuthorizerInput) String() string {
16114	return awsutil.Prettify(s)
16115}
16116
16117// GoString returns the string representation
16118func (s GetAuthorizerInput) GoString() string {
16119	return s.String()
16120}
16121
16122// Validate inspects the fields of the type to determine if they are valid.
16123func (s *GetAuthorizerInput) Validate() error {
16124	invalidParams := request.ErrInvalidParams{Context: "GetAuthorizerInput"}
16125	if s.AuthorizerId == nil {
16126		invalidParams.Add(request.NewErrParamRequired("AuthorizerId"))
16127	}
16128	if s.AuthorizerId != nil && len(*s.AuthorizerId) < 1 {
16129		invalidParams.Add(request.NewErrParamMinLen("AuthorizerId", 1))
16130	}
16131	if s.RestApiId == nil {
16132		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
16133	}
16134	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
16135		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
16136	}
16137
16138	if invalidParams.Len() > 0 {
16139		return invalidParams
16140	}
16141	return nil
16142}
16143
16144// SetAuthorizerId sets the AuthorizerId field's value.
16145func (s *GetAuthorizerInput) SetAuthorizerId(v string) *GetAuthorizerInput {
16146	s.AuthorizerId = &v
16147	return s
16148}
16149
16150// SetRestApiId sets the RestApiId field's value.
16151func (s *GetAuthorizerInput) SetRestApiId(v string) *GetAuthorizerInput {
16152	s.RestApiId = &v
16153	return s
16154}
16155
16156// Request to describe an existing Authorizers resource.
16157type GetAuthorizersInput struct {
16158	_ struct{} `type:"structure"`
16159
16160	// The maximum number of returned results per page. The default value is 25
16161	// and the maximum value is 500.
16162	Limit *int64 `location:"querystring" locationName:"limit" type:"integer"`
16163
16164	// The current pagination position in the paged result set.
16165	Position *string `location:"querystring" locationName:"position" type:"string"`
16166
16167	// [Required] The string identifier of the associated RestApi.
16168	//
16169	// RestApiId is a required field
16170	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
16171}
16172
16173// String returns the string representation
16174func (s GetAuthorizersInput) String() string {
16175	return awsutil.Prettify(s)
16176}
16177
16178// GoString returns the string representation
16179func (s GetAuthorizersInput) GoString() string {
16180	return s.String()
16181}
16182
16183// Validate inspects the fields of the type to determine if they are valid.
16184func (s *GetAuthorizersInput) Validate() error {
16185	invalidParams := request.ErrInvalidParams{Context: "GetAuthorizersInput"}
16186	if s.RestApiId == nil {
16187		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
16188	}
16189	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
16190		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
16191	}
16192
16193	if invalidParams.Len() > 0 {
16194		return invalidParams
16195	}
16196	return nil
16197}
16198
16199// SetLimit sets the Limit field's value.
16200func (s *GetAuthorizersInput) SetLimit(v int64) *GetAuthorizersInput {
16201	s.Limit = &v
16202	return s
16203}
16204
16205// SetPosition sets the Position field's value.
16206func (s *GetAuthorizersInput) SetPosition(v string) *GetAuthorizersInput {
16207	s.Position = &v
16208	return s
16209}
16210
16211// SetRestApiId sets the RestApiId field's value.
16212func (s *GetAuthorizersInput) SetRestApiId(v string) *GetAuthorizersInput {
16213	s.RestApiId = &v
16214	return s
16215}
16216
16217// Represents a collection of Authorizer resources.
16218//
16219// Use Lambda Function as Authorizer (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-use-lambda-authorizer.html)
16220// Use Cognito User Pool as Authorizer (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-integrate-with-cognito.html)
16221type GetAuthorizersOutput struct {
16222	_ struct{} `type:"structure"`
16223
16224	// The current page of elements from this collection.
16225	Items []*Authorizer `locationName:"item" type:"list"`
16226
16227	Position *string `locationName:"position" type:"string"`
16228}
16229
16230// String returns the string representation
16231func (s GetAuthorizersOutput) String() string {
16232	return awsutil.Prettify(s)
16233}
16234
16235// GoString returns the string representation
16236func (s GetAuthorizersOutput) GoString() string {
16237	return s.String()
16238}
16239
16240// SetItems sets the Items field's value.
16241func (s *GetAuthorizersOutput) SetItems(v []*Authorizer) *GetAuthorizersOutput {
16242	s.Items = v
16243	return s
16244}
16245
16246// SetPosition sets the Position field's value.
16247func (s *GetAuthorizersOutput) SetPosition(v string) *GetAuthorizersOutput {
16248	s.Position = &v
16249	return s
16250}
16251
16252// Request to describe a BasePathMapping resource.
16253type GetBasePathMappingInput struct {
16254	_ struct{} `type:"structure"`
16255
16256	// [Required] The base path name that callers of the API must provide as part
16257	// of the URL after the domain name. This value must be unique for all of the
16258	// mappings across a single API. Specify '(none)' if you do not want callers
16259	// to specify any base path name after the domain name.
16260	//
16261	// BasePath is a required field
16262	BasePath *string `location:"uri" locationName:"base_path" type:"string" required:"true"`
16263
16264	// [Required] The domain name of the BasePathMapping resource to be described.
16265	//
16266	// DomainName is a required field
16267	DomainName *string `location:"uri" locationName:"domain_name" type:"string" required:"true"`
16268}
16269
16270// String returns the string representation
16271func (s GetBasePathMappingInput) String() string {
16272	return awsutil.Prettify(s)
16273}
16274
16275// GoString returns the string representation
16276func (s GetBasePathMappingInput) GoString() string {
16277	return s.String()
16278}
16279
16280// Validate inspects the fields of the type to determine if they are valid.
16281func (s *GetBasePathMappingInput) Validate() error {
16282	invalidParams := request.ErrInvalidParams{Context: "GetBasePathMappingInput"}
16283	if s.BasePath == nil {
16284		invalidParams.Add(request.NewErrParamRequired("BasePath"))
16285	}
16286	if s.BasePath != nil && len(*s.BasePath) < 1 {
16287		invalidParams.Add(request.NewErrParamMinLen("BasePath", 1))
16288	}
16289	if s.DomainName == nil {
16290		invalidParams.Add(request.NewErrParamRequired("DomainName"))
16291	}
16292	if s.DomainName != nil && len(*s.DomainName) < 1 {
16293		invalidParams.Add(request.NewErrParamMinLen("DomainName", 1))
16294	}
16295
16296	if invalidParams.Len() > 0 {
16297		return invalidParams
16298	}
16299	return nil
16300}
16301
16302// SetBasePath sets the BasePath field's value.
16303func (s *GetBasePathMappingInput) SetBasePath(v string) *GetBasePathMappingInput {
16304	s.BasePath = &v
16305	return s
16306}
16307
16308// SetDomainName sets the DomainName field's value.
16309func (s *GetBasePathMappingInput) SetDomainName(v string) *GetBasePathMappingInput {
16310	s.DomainName = &v
16311	return s
16312}
16313
16314// A request to get information about a collection of BasePathMapping resources.
16315type GetBasePathMappingsInput struct {
16316	_ struct{} `type:"structure"`
16317
16318	// [Required] The domain name of a BasePathMapping resource.
16319	//
16320	// DomainName is a required field
16321	DomainName *string `location:"uri" locationName:"domain_name" type:"string" required:"true"`
16322
16323	// The maximum number of returned results per page. The default value is 25
16324	// and the maximum value is 500.
16325	Limit *int64 `location:"querystring" locationName:"limit" type:"integer"`
16326
16327	// The current pagination position in the paged result set.
16328	Position *string `location:"querystring" locationName:"position" type:"string"`
16329}
16330
16331// String returns the string representation
16332func (s GetBasePathMappingsInput) String() string {
16333	return awsutil.Prettify(s)
16334}
16335
16336// GoString returns the string representation
16337func (s GetBasePathMappingsInput) GoString() string {
16338	return s.String()
16339}
16340
16341// Validate inspects the fields of the type to determine if they are valid.
16342func (s *GetBasePathMappingsInput) Validate() error {
16343	invalidParams := request.ErrInvalidParams{Context: "GetBasePathMappingsInput"}
16344	if s.DomainName == nil {
16345		invalidParams.Add(request.NewErrParamRequired("DomainName"))
16346	}
16347	if s.DomainName != nil && len(*s.DomainName) < 1 {
16348		invalidParams.Add(request.NewErrParamMinLen("DomainName", 1))
16349	}
16350
16351	if invalidParams.Len() > 0 {
16352		return invalidParams
16353	}
16354	return nil
16355}
16356
16357// SetDomainName sets the DomainName field's value.
16358func (s *GetBasePathMappingsInput) SetDomainName(v string) *GetBasePathMappingsInput {
16359	s.DomainName = &v
16360	return s
16361}
16362
16363// SetLimit sets the Limit field's value.
16364func (s *GetBasePathMappingsInput) SetLimit(v int64) *GetBasePathMappingsInput {
16365	s.Limit = &v
16366	return s
16367}
16368
16369// SetPosition sets the Position field's value.
16370func (s *GetBasePathMappingsInput) SetPosition(v string) *GetBasePathMappingsInput {
16371	s.Position = &v
16372	return s
16373}
16374
16375// Represents a collection of BasePathMapping resources.
16376//
16377// Use Custom Domain Names (https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-custom-domains.html)
16378type GetBasePathMappingsOutput struct {
16379	_ struct{} `type:"structure"`
16380
16381	// The current page of elements from this collection.
16382	Items []*BasePathMapping `locationName:"item" type:"list"`
16383
16384	Position *string `locationName:"position" type:"string"`
16385}
16386
16387// String returns the string representation
16388func (s GetBasePathMappingsOutput) String() string {
16389	return awsutil.Prettify(s)
16390}
16391
16392// GoString returns the string representation
16393func (s GetBasePathMappingsOutput) GoString() string {
16394	return s.String()
16395}
16396
16397// SetItems sets the Items field's value.
16398func (s *GetBasePathMappingsOutput) SetItems(v []*BasePathMapping) *GetBasePathMappingsOutput {
16399	s.Items = v
16400	return s
16401}
16402
16403// SetPosition sets the Position field's value.
16404func (s *GetBasePathMappingsOutput) SetPosition(v string) *GetBasePathMappingsOutput {
16405	s.Position = &v
16406	return s
16407}
16408
16409// A request to get information about the current ClientCertificate resource.
16410type GetClientCertificateInput struct {
16411	_ struct{} `type:"structure"`
16412
16413	// [Required] The identifier of the ClientCertificate resource to be described.
16414	//
16415	// ClientCertificateId is a required field
16416	ClientCertificateId *string `location:"uri" locationName:"clientcertificate_id" type:"string" required:"true"`
16417}
16418
16419// String returns the string representation
16420func (s GetClientCertificateInput) String() string {
16421	return awsutil.Prettify(s)
16422}
16423
16424// GoString returns the string representation
16425func (s GetClientCertificateInput) GoString() string {
16426	return s.String()
16427}
16428
16429// Validate inspects the fields of the type to determine if they are valid.
16430func (s *GetClientCertificateInput) Validate() error {
16431	invalidParams := request.ErrInvalidParams{Context: "GetClientCertificateInput"}
16432	if s.ClientCertificateId == nil {
16433		invalidParams.Add(request.NewErrParamRequired("ClientCertificateId"))
16434	}
16435	if s.ClientCertificateId != nil && len(*s.ClientCertificateId) < 1 {
16436		invalidParams.Add(request.NewErrParamMinLen("ClientCertificateId", 1))
16437	}
16438
16439	if invalidParams.Len() > 0 {
16440		return invalidParams
16441	}
16442	return nil
16443}
16444
16445// SetClientCertificateId sets the ClientCertificateId field's value.
16446func (s *GetClientCertificateInput) SetClientCertificateId(v string) *GetClientCertificateInput {
16447	s.ClientCertificateId = &v
16448	return s
16449}
16450
16451// A request to get information about a collection of ClientCertificate resources.
16452type GetClientCertificatesInput struct {
16453	_ struct{} `type:"structure"`
16454
16455	// The maximum number of returned results per page. The default value is 25
16456	// and the maximum value is 500.
16457	Limit *int64 `location:"querystring" locationName:"limit" type:"integer"`
16458
16459	// The current pagination position in the paged result set.
16460	Position *string `location:"querystring" locationName:"position" type:"string"`
16461}
16462
16463// String returns the string representation
16464func (s GetClientCertificatesInput) String() string {
16465	return awsutil.Prettify(s)
16466}
16467
16468// GoString returns the string representation
16469func (s GetClientCertificatesInput) GoString() string {
16470	return s.String()
16471}
16472
16473// SetLimit sets the Limit field's value.
16474func (s *GetClientCertificatesInput) SetLimit(v int64) *GetClientCertificatesInput {
16475	s.Limit = &v
16476	return s
16477}
16478
16479// SetPosition sets the Position field's value.
16480func (s *GetClientCertificatesInput) SetPosition(v string) *GetClientCertificatesInput {
16481	s.Position = &v
16482	return s
16483}
16484
16485// Represents a collection of ClientCertificate resources.
16486//
16487// Use Client-Side Certificate (https://docs.aws.amazon.com/apigateway/latest/developerguide/getting-started-client-side-ssl-authentication.html)
16488type GetClientCertificatesOutput struct {
16489	_ struct{} `type:"structure"`
16490
16491	// The current page of elements from this collection.
16492	Items []*ClientCertificate `locationName:"item" type:"list"`
16493
16494	Position *string `locationName:"position" type:"string"`
16495}
16496
16497// String returns the string representation
16498func (s GetClientCertificatesOutput) String() string {
16499	return awsutil.Prettify(s)
16500}
16501
16502// GoString returns the string representation
16503func (s GetClientCertificatesOutput) GoString() string {
16504	return s.String()
16505}
16506
16507// SetItems sets the Items field's value.
16508func (s *GetClientCertificatesOutput) SetItems(v []*ClientCertificate) *GetClientCertificatesOutput {
16509	s.Items = v
16510	return s
16511}
16512
16513// SetPosition sets the Position field's value.
16514func (s *GetClientCertificatesOutput) SetPosition(v string) *GetClientCertificatesOutput {
16515	s.Position = &v
16516	return s
16517}
16518
16519// Requests API Gateway to get information about a Deployment resource.
16520type GetDeploymentInput struct {
16521	_ struct{} `type:"structure"`
16522
16523	// [Required] The identifier of the Deployment resource to get information about.
16524	//
16525	// DeploymentId is a required field
16526	DeploymentId *string `location:"uri" locationName:"deployment_id" type:"string" required:"true"`
16527
16528	// A query parameter to retrieve the specified embedded resources of the returned
16529	// Deployment resource in the response. In a REST API call, this embed parameter
16530	// value is a list of comma-separated strings, as in GET /restapis/{restapi_id}/deployments/{deployment_id}?embed=var1,var2.
16531	// The SDK and other platform-dependent libraries might use a different format
16532	// for the list. Currently, this request supports only retrieval of the embedded
16533	// API summary this way. Hence, the parameter value must be a single-valued
16534	// list containing only the "apisummary" string. For example, GET /restapis/{restapi_id}/deployments/{deployment_id}?embed=apisummary.
16535	Embed []*string `location:"querystring" locationName:"embed" type:"list"`
16536
16537	// [Required] The string identifier of the associated RestApi.
16538	//
16539	// RestApiId is a required field
16540	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
16541}
16542
16543// String returns the string representation
16544func (s GetDeploymentInput) String() string {
16545	return awsutil.Prettify(s)
16546}
16547
16548// GoString returns the string representation
16549func (s GetDeploymentInput) GoString() string {
16550	return s.String()
16551}
16552
16553// Validate inspects the fields of the type to determine if they are valid.
16554func (s *GetDeploymentInput) Validate() error {
16555	invalidParams := request.ErrInvalidParams{Context: "GetDeploymentInput"}
16556	if s.DeploymentId == nil {
16557		invalidParams.Add(request.NewErrParamRequired("DeploymentId"))
16558	}
16559	if s.DeploymentId != nil && len(*s.DeploymentId) < 1 {
16560		invalidParams.Add(request.NewErrParamMinLen("DeploymentId", 1))
16561	}
16562	if s.RestApiId == nil {
16563		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
16564	}
16565	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
16566		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
16567	}
16568
16569	if invalidParams.Len() > 0 {
16570		return invalidParams
16571	}
16572	return nil
16573}
16574
16575// SetDeploymentId sets the DeploymentId field's value.
16576func (s *GetDeploymentInput) SetDeploymentId(v string) *GetDeploymentInput {
16577	s.DeploymentId = &v
16578	return s
16579}
16580
16581// SetEmbed sets the Embed field's value.
16582func (s *GetDeploymentInput) SetEmbed(v []*string) *GetDeploymentInput {
16583	s.Embed = v
16584	return s
16585}
16586
16587// SetRestApiId sets the RestApiId field's value.
16588func (s *GetDeploymentInput) SetRestApiId(v string) *GetDeploymentInput {
16589	s.RestApiId = &v
16590	return s
16591}
16592
16593// Requests API Gateway to get information about a Deployments collection.
16594type GetDeploymentsInput struct {
16595	_ struct{} `type:"structure"`
16596
16597	// The maximum number of returned results per page. The default value is 25
16598	// and the maximum value is 500.
16599	Limit *int64 `location:"querystring" locationName:"limit" type:"integer"`
16600
16601	// The current pagination position in the paged result set.
16602	Position *string `location:"querystring" locationName:"position" type:"string"`
16603
16604	// [Required] The string identifier of the associated RestApi.
16605	//
16606	// RestApiId is a required field
16607	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
16608}
16609
16610// String returns the string representation
16611func (s GetDeploymentsInput) String() string {
16612	return awsutil.Prettify(s)
16613}
16614
16615// GoString returns the string representation
16616func (s GetDeploymentsInput) GoString() string {
16617	return s.String()
16618}
16619
16620// Validate inspects the fields of the type to determine if they are valid.
16621func (s *GetDeploymentsInput) Validate() error {
16622	invalidParams := request.ErrInvalidParams{Context: "GetDeploymentsInput"}
16623	if s.RestApiId == nil {
16624		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
16625	}
16626	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
16627		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
16628	}
16629
16630	if invalidParams.Len() > 0 {
16631		return invalidParams
16632	}
16633	return nil
16634}
16635
16636// SetLimit sets the Limit field's value.
16637func (s *GetDeploymentsInput) SetLimit(v int64) *GetDeploymentsInput {
16638	s.Limit = &v
16639	return s
16640}
16641
16642// SetPosition sets the Position field's value.
16643func (s *GetDeploymentsInput) SetPosition(v string) *GetDeploymentsInput {
16644	s.Position = &v
16645	return s
16646}
16647
16648// SetRestApiId sets the RestApiId field's value.
16649func (s *GetDeploymentsInput) SetRestApiId(v string) *GetDeploymentsInput {
16650	s.RestApiId = &v
16651	return s
16652}
16653
16654// Represents a collection resource that contains zero or more references to
16655// your existing deployments, and links that guide you on how to interact with
16656// your collection. The collection offers a paginated view of the contained
16657// deployments.
16658//
16659// To create a new deployment of a RestApi, make a POST request against this
16660// resource. To view, update, or delete an existing deployment, make a GET,
16661// PATCH, or DELETE request, respectively, on a specified Deployment resource.
16662//
16663// Deploying an API (https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-deploy-api.html),
16664// AWS CLI (https://docs.aws.amazon.com/cli/latest/reference/apigateway/get-deployment.html),
16665// AWS SDKs (https://aws.amazon.com/tools/)
16666type GetDeploymentsOutput struct {
16667	_ struct{} `type:"structure"`
16668
16669	// The current page of elements from this collection.
16670	Items []*Deployment `locationName:"item" type:"list"`
16671
16672	Position *string `locationName:"position" type:"string"`
16673}
16674
16675// String returns the string representation
16676func (s GetDeploymentsOutput) String() string {
16677	return awsutil.Prettify(s)
16678}
16679
16680// GoString returns the string representation
16681func (s GetDeploymentsOutput) GoString() string {
16682	return s.String()
16683}
16684
16685// SetItems sets the Items field's value.
16686func (s *GetDeploymentsOutput) SetItems(v []*Deployment) *GetDeploymentsOutput {
16687	s.Items = v
16688	return s
16689}
16690
16691// SetPosition sets the Position field's value.
16692func (s *GetDeploymentsOutput) SetPosition(v string) *GetDeploymentsOutput {
16693	s.Position = &v
16694	return s
16695}
16696
16697// Gets a specified documentation part of a given API.
16698type GetDocumentationPartInput struct {
16699	_ struct{} `type:"structure"`
16700
16701	// [Required] The string identifier of the associated RestApi.
16702	//
16703	// DocumentationPartId is a required field
16704	DocumentationPartId *string `location:"uri" locationName:"part_id" type:"string" required:"true"`
16705
16706	// [Required] The string identifier of the associated RestApi.
16707	//
16708	// RestApiId is a required field
16709	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
16710}
16711
16712// String returns the string representation
16713func (s GetDocumentationPartInput) String() string {
16714	return awsutil.Prettify(s)
16715}
16716
16717// GoString returns the string representation
16718func (s GetDocumentationPartInput) GoString() string {
16719	return s.String()
16720}
16721
16722// Validate inspects the fields of the type to determine if they are valid.
16723func (s *GetDocumentationPartInput) Validate() error {
16724	invalidParams := request.ErrInvalidParams{Context: "GetDocumentationPartInput"}
16725	if s.DocumentationPartId == nil {
16726		invalidParams.Add(request.NewErrParamRequired("DocumentationPartId"))
16727	}
16728	if s.DocumentationPartId != nil && len(*s.DocumentationPartId) < 1 {
16729		invalidParams.Add(request.NewErrParamMinLen("DocumentationPartId", 1))
16730	}
16731	if s.RestApiId == nil {
16732		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
16733	}
16734	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
16735		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
16736	}
16737
16738	if invalidParams.Len() > 0 {
16739		return invalidParams
16740	}
16741	return nil
16742}
16743
16744// SetDocumentationPartId sets the DocumentationPartId field's value.
16745func (s *GetDocumentationPartInput) SetDocumentationPartId(v string) *GetDocumentationPartInput {
16746	s.DocumentationPartId = &v
16747	return s
16748}
16749
16750// SetRestApiId sets the RestApiId field's value.
16751func (s *GetDocumentationPartInput) SetRestApiId(v string) *GetDocumentationPartInput {
16752	s.RestApiId = &v
16753	return s
16754}
16755
16756// Gets the documentation parts of an API. The result may be filtered by the
16757// type, name, or path of API entities (targets).
16758type GetDocumentationPartsInput struct {
16759	_ struct{} `type:"structure"`
16760
16761	// The maximum number of returned results per page. The default value is 25
16762	// and the maximum value is 500.
16763	Limit *int64 `location:"querystring" locationName:"limit" type:"integer"`
16764
16765	// The status of the API documentation parts to retrieve. Valid values are DOCUMENTED
16766	// for retrieving DocumentationPart resources with content and UNDOCUMENTED
16767	// for DocumentationPart resources without content.
16768	LocationStatus *string `location:"querystring" locationName:"locationStatus" type:"string" enum:"LocationStatusType"`
16769
16770	// The name of API entities of the to-be-retrieved documentation parts.
16771	NameQuery *string `location:"querystring" locationName:"name" type:"string"`
16772
16773	// The path of API entities of the to-be-retrieved documentation parts.
16774	Path *string `location:"querystring" locationName:"path" type:"string"`
16775
16776	// The current pagination position in the paged result set.
16777	Position *string `location:"querystring" locationName:"position" type:"string"`
16778
16779	// [Required] The string identifier of the associated RestApi.
16780	//
16781	// RestApiId is a required field
16782	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
16783
16784	// The type of API entities of the to-be-retrieved documentation parts.
16785	Type *string `location:"querystring" locationName:"type" type:"string" enum:"DocumentationPartType"`
16786}
16787
16788// String returns the string representation
16789func (s GetDocumentationPartsInput) String() string {
16790	return awsutil.Prettify(s)
16791}
16792
16793// GoString returns the string representation
16794func (s GetDocumentationPartsInput) GoString() string {
16795	return s.String()
16796}
16797
16798// Validate inspects the fields of the type to determine if they are valid.
16799func (s *GetDocumentationPartsInput) Validate() error {
16800	invalidParams := request.ErrInvalidParams{Context: "GetDocumentationPartsInput"}
16801	if s.RestApiId == nil {
16802		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
16803	}
16804	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
16805		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
16806	}
16807
16808	if invalidParams.Len() > 0 {
16809		return invalidParams
16810	}
16811	return nil
16812}
16813
16814// SetLimit sets the Limit field's value.
16815func (s *GetDocumentationPartsInput) SetLimit(v int64) *GetDocumentationPartsInput {
16816	s.Limit = &v
16817	return s
16818}
16819
16820// SetLocationStatus sets the LocationStatus field's value.
16821func (s *GetDocumentationPartsInput) SetLocationStatus(v string) *GetDocumentationPartsInput {
16822	s.LocationStatus = &v
16823	return s
16824}
16825
16826// SetNameQuery sets the NameQuery field's value.
16827func (s *GetDocumentationPartsInput) SetNameQuery(v string) *GetDocumentationPartsInput {
16828	s.NameQuery = &v
16829	return s
16830}
16831
16832// SetPath sets the Path field's value.
16833func (s *GetDocumentationPartsInput) SetPath(v string) *GetDocumentationPartsInput {
16834	s.Path = &v
16835	return s
16836}
16837
16838// SetPosition sets the Position field's value.
16839func (s *GetDocumentationPartsInput) SetPosition(v string) *GetDocumentationPartsInput {
16840	s.Position = &v
16841	return s
16842}
16843
16844// SetRestApiId sets the RestApiId field's value.
16845func (s *GetDocumentationPartsInput) SetRestApiId(v string) *GetDocumentationPartsInput {
16846	s.RestApiId = &v
16847	return s
16848}
16849
16850// SetType sets the Type field's value.
16851func (s *GetDocumentationPartsInput) SetType(v string) *GetDocumentationPartsInput {
16852	s.Type = &v
16853	return s
16854}
16855
16856// The collection of documentation parts of an API.
16857//
16858// Documenting an API (https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-documenting-api.html),
16859// DocumentationPart
16860type GetDocumentationPartsOutput struct {
16861	_ struct{} `type:"structure"`
16862
16863	// The current page of elements from this collection.
16864	Items []*DocumentationPart `locationName:"item" type:"list"`
16865
16866	Position *string `locationName:"position" type:"string"`
16867}
16868
16869// String returns the string representation
16870func (s GetDocumentationPartsOutput) String() string {
16871	return awsutil.Prettify(s)
16872}
16873
16874// GoString returns the string representation
16875func (s GetDocumentationPartsOutput) GoString() string {
16876	return s.String()
16877}
16878
16879// SetItems sets the Items field's value.
16880func (s *GetDocumentationPartsOutput) SetItems(v []*DocumentationPart) *GetDocumentationPartsOutput {
16881	s.Items = v
16882	return s
16883}
16884
16885// SetPosition sets the Position field's value.
16886func (s *GetDocumentationPartsOutput) SetPosition(v string) *GetDocumentationPartsOutput {
16887	s.Position = &v
16888	return s
16889}
16890
16891// Gets a documentation snapshot of an API.
16892type GetDocumentationVersionInput struct {
16893	_ struct{} `type:"structure"`
16894
16895	// [Required] The version identifier of the to-be-retrieved documentation snapshot.
16896	//
16897	// DocumentationVersion is a required field
16898	DocumentationVersion *string `location:"uri" locationName:"doc_version" type:"string" required:"true"`
16899
16900	// [Required] The string identifier of the associated RestApi.
16901	//
16902	// RestApiId is a required field
16903	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
16904}
16905
16906// String returns the string representation
16907func (s GetDocumentationVersionInput) String() string {
16908	return awsutil.Prettify(s)
16909}
16910
16911// GoString returns the string representation
16912func (s GetDocumentationVersionInput) GoString() string {
16913	return s.String()
16914}
16915
16916// Validate inspects the fields of the type to determine if they are valid.
16917func (s *GetDocumentationVersionInput) Validate() error {
16918	invalidParams := request.ErrInvalidParams{Context: "GetDocumentationVersionInput"}
16919	if s.DocumentationVersion == nil {
16920		invalidParams.Add(request.NewErrParamRequired("DocumentationVersion"))
16921	}
16922	if s.DocumentationVersion != nil && len(*s.DocumentationVersion) < 1 {
16923		invalidParams.Add(request.NewErrParamMinLen("DocumentationVersion", 1))
16924	}
16925	if s.RestApiId == nil {
16926		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
16927	}
16928	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
16929		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
16930	}
16931
16932	if invalidParams.Len() > 0 {
16933		return invalidParams
16934	}
16935	return nil
16936}
16937
16938// SetDocumentationVersion sets the DocumentationVersion field's value.
16939func (s *GetDocumentationVersionInput) SetDocumentationVersion(v string) *GetDocumentationVersionInput {
16940	s.DocumentationVersion = &v
16941	return s
16942}
16943
16944// SetRestApiId sets the RestApiId field's value.
16945func (s *GetDocumentationVersionInput) SetRestApiId(v string) *GetDocumentationVersionInput {
16946	s.RestApiId = &v
16947	return s
16948}
16949
16950// Gets the documentation versions of an API.
16951type GetDocumentationVersionsInput struct {
16952	_ struct{} `type:"structure"`
16953
16954	// The maximum number of returned results per page. The default value is 25
16955	// and the maximum value is 500.
16956	Limit *int64 `location:"querystring" locationName:"limit" type:"integer"`
16957
16958	// The current pagination position in the paged result set.
16959	Position *string `location:"querystring" locationName:"position" type:"string"`
16960
16961	// [Required] The string identifier of the associated RestApi.
16962	//
16963	// RestApiId is a required field
16964	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
16965}
16966
16967// String returns the string representation
16968func (s GetDocumentationVersionsInput) String() string {
16969	return awsutil.Prettify(s)
16970}
16971
16972// GoString returns the string representation
16973func (s GetDocumentationVersionsInput) GoString() string {
16974	return s.String()
16975}
16976
16977// Validate inspects the fields of the type to determine if they are valid.
16978func (s *GetDocumentationVersionsInput) Validate() error {
16979	invalidParams := request.ErrInvalidParams{Context: "GetDocumentationVersionsInput"}
16980	if s.RestApiId == nil {
16981		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
16982	}
16983	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
16984		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
16985	}
16986
16987	if invalidParams.Len() > 0 {
16988		return invalidParams
16989	}
16990	return nil
16991}
16992
16993// SetLimit sets the Limit field's value.
16994func (s *GetDocumentationVersionsInput) SetLimit(v int64) *GetDocumentationVersionsInput {
16995	s.Limit = &v
16996	return s
16997}
16998
16999// SetPosition sets the Position field's value.
17000func (s *GetDocumentationVersionsInput) SetPosition(v string) *GetDocumentationVersionsInput {
17001	s.Position = &v
17002	return s
17003}
17004
17005// SetRestApiId sets the RestApiId field's value.
17006func (s *GetDocumentationVersionsInput) SetRestApiId(v string) *GetDocumentationVersionsInput {
17007	s.RestApiId = &v
17008	return s
17009}
17010
17011// The collection of documentation snapshots of an API.
17012//
17013// Use the DocumentationVersions to manage documentation snapshots associated
17014// with various API stages.
17015//
17016// Documenting an API (https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-documenting-api.html),
17017// DocumentationPart, DocumentationVersion
17018type GetDocumentationVersionsOutput struct {
17019	_ struct{} `type:"structure"`
17020
17021	// The current page of elements from this collection.
17022	Items []*DocumentationVersion `locationName:"item" type:"list"`
17023
17024	Position *string `locationName:"position" type:"string"`
17025}
17026
17027// String returns the string representation
17028func (s GetDocumentationVersionsOutput) String() string {
17029	return awsutil.Prettify(s)
17030}
17031
17032// GoString returns the string representation
17033func (s GetDocumentationVersionsOutput) GoString() string {
17034	return s.String()
17035}
17036
17037// SetItems sets the Items field's value.
17038func (s *GetDocumentationVersionsOutput) SetItems(v []*DocumentationVersion) *GetDocumentationVersionsOutput {
17039	s.Items = v
17040	return s
17041}
17042
17043// SetPosition sets the Position field's value.
17044func (s *GetDocumentationVersionsOutput) SetPosition(v string) *GetDocumentationVersionsOutput {
17045	s.Position = &v
17046	return s
17047}
17048
17049// Request to get the name of a DomainName resource.
17050type GetDomainNameInput struct {
17051	_ struct{} `type:"structure"`
17052
17053	// [Required] The name of the DomainName resource.
17054	//
17055	// DomainName is a required field
17056	DomainName *string `location:"uri" locationName:"domain_name" type:"string" required:"true"`
17057}
17058
17059// String returns the string representation
17060func (s GetDomainNameInput) String() string {
17061	return awsutil.Prettify(s)
17062}
17063
17064// GoString returns the string representation
17065func (s GetDomainNameInput) GoString() string {
17066	return s.String()
17067}
17068
17069// Validate inspects the fields of the type to determine if they are valid.
17070func (s *GetDomainNameInput) Validate() error {
17071	invalidParams := request.ErrInvalidParams{Context: "GetDomainNameInput"}
17072	if s.DomainName == nil {
17073		invalidParams.Add(request.NewErrParamRequired("DomainName"))
17074	}
17075	if s.DomainName != nil && len(*s.DomainName) < 1 {
17076		invalidParams.Add(request.NewErrParamMinLen("DomainName", 1))
17077	}
17078
17079	if invalidParams.Len() > 0 {
17080		return invalidParams
17081	}
17082	return nil
17083}
17084
17085// SetDomainName sets the DomainName field's value.
17086func (s *GetDomainNameInput) SetDomainName(v string) *GetDomainNameInput {
17087	s.DomainName = &v
17088	return s
17089}
17090
17091// Request to describe a collection of DomainName resources.
17092type GetDomainNamesInput struct {
17093	_ struct{} `type:"structure"`
17094
17095	// The maximum number of returned results per page. The default value is 25
17096	// and the maximum value is 500.
17097	Limit *int64 `location:"querystring" locationName:"limit" type:"integer"`
17098
17099	// The current pagination position in the paged result set.
17100	Position *string `location:"querystring" locationName:"position" type:"string"`
17101}
17102
17103// String returns the string representation
17104func (s GetDomainNamesInput) String() string {
17105	return awsutil.Prettify(s)
17106}
17107
17108// GoString returns the string representation
17109func (s GetDomainNamesInput) GoString() string {
17110	return s.String()
17111}
17112
17113// SetLimit sets the Limit field's value.
17114func (s *GetDomainNamesInput) SetLimit(v int64) *GetDomainNamesInput {
17115	s.Limit = &v
17116	return s
17117}
17118
17119// SetPosition sets the Position field's value.
17120func (s *GetDomainNamesInput) SetPosition(v string) *GetDomainNamesInput {
17121	s.Position = &v
17122	return s
17123}
17124
17125// Represents a collection of DomainName resources.
17126//
17127// Use Client-Side Certificate (https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-custom-domains.html)
17128type GetDomainNamesOutput struct {
17129	_ struct{} `type:"structure"`
17130
17131	// The current page of elements from this collection.
17132	Items []*DomainName `locationName:"item" type:"list"`
17133
17134	Position *string `locationName:"position" type:"string"`
17135}
17136
17137// String returns the string representation
17138func (s GetDomainNamesOutput) String() string {
17139	return awsutil.Prettify(s)
17140}
17141
17142// GoString returns the string representation
17143func (s GetDomainNamesOutput) GoString() string {
17144	return s.String()
17145}
17146
17147// SetItems sets the Items field's value.
17148func (s *GetDomainNamesOutput) SetItems(v []*DomainName) *GetDomainNamesOutput {
17149	s.Items = v
17150	return s
17151}
17152
17153// SetPosition sets the Position field's value.
17154func (s *GetDomainNamesOutput) SetPosition(v string) *GetDomainNamesOutput {
17155	s.Position = &v
17156	return s
17157}
17158
17159// Request a new export of a RestApi for a particular Stage.
17160type GetExportInput struct {
17161	_ struct{} `type:"structure"`
17162
17163	// The content-type of the export, for example application/json. Currently application/json
17164	// and application/yaml are supported for exportType ofoas30 and swagger. This
17165	// should be specified in the Accept header for direct API requests.
17166	Accepts *string `location:"header" locationName:"Accept" type:"string"`
17167
17168	// [Required] The type of export. Acceptable values are 'oas30' for OpenAPI
17169	// 3.0.x and 'swagger' for Swagger/OpenAPI 2.0.
17170	//
17171	// ExportType is a required field
17172	ExportType *string `location:"uri" locationName:"export_type" type:"string" required:"true"`
17173
17174	// A key-value map of query string parameters that specify properties of the
17175	// export, depending on the requested exportType. For exportType oas30 and swagger,
17176	// any combination of the following parameters are supported: extensions='integrations'
17177	// or extensions='apigateway' will export the API with x-amazon-apigateway-integration
17178	// extensions. extensions='authorizers' will export the API with x-amazon-apigateway-authorizer
17179	// extensions. postman will export the API with Postman extensions, allowing
17180	// for import to the Postman tool
17181	Parameters map[string]*string `location:"querystring" locationName:"parameters" type:"map"`
17182
17183	// [Required] The string identifier of the associated RestApi.
17184	//
17185	// RestApiId is a required field
17186	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
17187
17188	// [Required] The name of the Stage that will be exported.
17189	//
17190	// StageName is a required field
17191	StageName *string `location:"uri" locationName:"stage_name" type:"string" required:"true"`
17192}
17193
17194// String returns the string representation
17195func (s GetExportInput) String() string {
17196	return awsutil.Prettify(s)
17197}
17198
17199// GoString returns the string representation
17200func (s GetExportInput) GoString() string {
17201	return s.String()
17202}
17203
17204// Validate inspects the fields of the type to determine if they are valid.
17205func (s *GetExportInput) Validate() error {
17206	invalidParams := request.ErrInvalidParams{Context: "GetExportInput"}
17207	if s.ExportType == nil {
17208		invalidParams.Add(request.NewErrParamRequired("ExportType"))
17209	}
17210	if s.ExportType != nil && len(*s.ExportType) < 1 {
17211		invalidParams.Add(request.NewErrParamMinLen("ExportType", 1))
17212	}
17213	if s.RestApiId == nil {
17214		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
17215	}
17216	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
17217		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
17218	}
17219	if s.StageName == nil {
17220		invalidParams.Add(request.NewErrParamRequired("StageName"))
17221	}
17222	if s.StageName != nil && len(*s.StageName) < 1 {
17223		invalidParams.Add(request.NewErrParamMinLen("StageName", 1))
17224	}
17225
17226	if invalidParams.Len() > 0 {
17227		return invalidParams
17228	}
17229	return nil
17230}
17231
17232// SetAccepts sets the Accepts field's value.
17233func (s *GetExportInput) SetAccepts(v string) *GetExportInput {
17234	s.Accepts = &v
17235	return s
17236}
17237
17238// SetExportType sets the ExportType field's value.
17239func (s *GetExportInput) SetExportType(v string) *GetExportInput {
17240	s.ExportType = &v
17241	return s
17242}
17243
17244// SetParameters sets the Parameters field's value.
17245func (s *GetExportInput) SetParameters(v map[string]*string) *GetExportInput {
17246	s.Parameters = v
17247	return s
17248}
17249
17250// SetRestApiId sets the RestApiId field's value.
17251func (s *GetExportInput) SetRestApiId(v string) *GetExportInput {
17252	s.RestApiId = &v
17253	return s
17254}
17255
17256// SetStageName sets the StageName field's value.
17257func (s *GetExportInput) SetStageName(v string) *GetExportInput {
17258	s.StageName = &v
17259	return s
17260}
17261
17262// The binary blob response to GetExport, which contains the generated SDK.
17263type GetExportOutput struct {
17264	_ struct{} `type:"structure" payload:"Body"`
17265
17266	// The binary blob response to GetExport, which contains the export.
17267	Body []byte `locationName:"body" type:"blob"`
17268
17269	// The content-disposition header value in the HTTP response.
17270	ContentDisposition *string `location:"header" locationName:"Content-Disposition" type:"string"`
17271
17272	// The content-type header value in the HTTP response. This will correspond
17273	// to a valid 'accept' type in the request.
17274	ContentType *string `location:"header" locationName:"Content-Type" type:"string"`
17275}
17276
17277// String returns the string representation
17278func (s GetExportOutput) String() string {
17279	return awsutil.Prettify(s)
17280}
17281
17282// GoString returns the string representation
17283func (s GetExportOutput) GoString() string {
17284	return s.String()
17285}
17286
17287// SetBody sets the Body field's value.
17288func (s *GetExportOutput) SetBody(v []byte) *GetExportOutput {
17289	s.Body = v
17290	return s
17291}
17292
17293// SetContentDisposition sets the ContentDisposition field's value.
17294func (s *GetExportOutput) SetContentDisposition(v string) *GetExportOutput {
17295	s.ContentDisposition = &v
17296	return s
17297}
17298
17299// SetContentType sets the ContentType field's value.
17300func (s *GetExportOutput) SetContentType(v string) *GetExportOutput {
17301	s.ContentType = &v
17302	return s
17303}
17304
17305// Gets a GatewayResponse of a specified response type on the given RestApi.
17306type GetGatewayResponseInput struct {
17307	_ struct{} `type:"structure"`
17308
17309	// [Required]
17310	// The response type of the associated GatewayResponse. Valid values are
17311	//    * ACCESS_DENIED
17312	//
17313	//    * API_CONFIGURATION_ERROR
17314	//
17315	//    * AUTHORIZER_FAILURE
17316	//
17317	//    * AUTHORIZER_CONFIGURATION_ERROR
17318	//
17319	//    * BAD_REQUEST_PARAMETERS
17320	//
17321	//    * BAD_REQUEST_BODY
17322	//
17323	//    * DEFAULT_4XX
17324	//
17325	//    * DEFAULT_5XX
17326	//
17327	//    * EXPIRED_TOKEN
17328	//
17329	//    * INVALID_SIGNATURE
17330	//
17331	//    * INTEGRATION_FAILURE
17332	//
17333	//    * INTEGRATION_TIMEOUT
17334	//
17335	//    * INVALID_API_KEY
17336	//
17337	//    * MISSING_AUTHENTICATION_TOKEN
17338	//
17339	//    * QUOTA_EXCEEDED
17340	//
17341	//    * REQUEST_TOO_LARGE
17342	//
17343	//    * RESOURCE_NOT_FOUND
17344	//
17345	//    * THROTTLED
17346	//
17347	//    * UNAUTHORIZED
17348	//
17349	//    * UNSUPPORTED_MEDIA_TYPE
17350	//
17351	// ResponseType is a required field
17352	ResponseType *string `location:"uri" locationName:"response_type" type:"string" required:"true" enum:"GatewayResponseType"`
17353
17354	// [Required] The string identifier of the associated RestApi.
17355	//
17356	// RestApiId is a required field
17357	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
17358}
17359
17360// String returns the string representation
17361func (s GetGatewayResponseInput) String() string {
17362	return awsutil.Prettify(s)
17363}
17364
17365// GoString returns the string representation
17366func (s GetGatewayResponseInput) GoString() string {
17367	return s.String()
17368}
17369
17370// Validate inspects the fields of the type to determine if they are valid.
17371func (s *GetGatewayResponseInput) Validate() error {
17372	invalidParams := request.ErrInvalidParams{Context: "GetGatewayResponseInput"}
17373	if s.ResponseType == nil {
17374		invalidParams.Add(request.NewErrParamRequired("ResponseType"))
17375	}
17376	if s.ResponseType != nil && len(*s.ResponseType) < 1 {
17377		invalidParams.Add(request.NewErrParamMinLen("ResponseType", 1))
17378	}
17379	if s.RestApiId == nil {
17380		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
17381	}
17382	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
17383		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
17384	}
17385
17386	if invalidParams.Len() > 0 {
17387		return invalidParams
17388	}
17389	return nil
17390}
17391
17392// SetResponseType sets the ResponseType field's value.
17393func (s *GetGatewayResponseInput) SetResponseType(v string) *GetGatewayResponseInput {
17394	s.ResponseType = &v
17395	return s
17396}
17397
17398// SetRestApiId sets the RestApiId field's value.
17399func (s *GetGatewayResponseInput) SetRestApiId(v string) *GetGatewayResponseInput {
17400	s.RestApiId = &v
17401	return s
17402}
17403
17404// Gets the GatewayResponses collection on the given RestApi. If an API developer
17405// has not added any definitions for gateway responses, the result will be the
17406// API Gateway-generated default GatewayResponses collection for the supported
17407// response types.
17408type GetGatewayResponsesInput struct {
17409	_ struct{} `type:"structure"`
17410
17411	// The maximum number of returned results per page. The default value is 25
17412	// and the maximum value is 500. The GatewayResponses collection does not support
17413	// pagination and the limit does not apply here.
17414	Limit *int64 `location:"querystring" locationName:"limit" type:"integer"`
17415
17416	// The current pagination position in the paged result set. The GatewayResponse
17417	// collection does not support pagination and the position does not apply here.
17418	Position *string `location:"querystring" locationName:"position" type:"string"`
17419
17420	// [Required] The string identifier of the associated RestApi.
17421	//
17422	// RestApiId is a required field
17423	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
17424}
17425
17426// String returns the string representation
17427func (s GetGatewayResponsesInput) String() string {
17428	return awsutil.Prettify(s)
17429}
17430
17431// GoString returns the string representation
17432func (s GetGatewayResponsesInput) GoString() string {
17433	return s.String()
17434}
17435
17436// Validate inspects the fields of the type to determine if they are valid.
17437func (s *GetGatewayResponsesInput) Validate() error {
17438	invalidParams := request.ErrInvalidParams{Context: "GetGatewayResponsesInput"}
17439	if s.RestApiId == nil {
17440		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
17441	}
17442	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
17443		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
17444	}
17445
17446	if invalidParams.Len() > 0 {
17447		return invalidParams
17448	}
17449	return nil
17450}
17451
17452// SetLimit sets the Limit field's value.
17453func (s *GetGatewayResponsesInput) SetLimit(v int64) *GetGatewayResponsesInput {
17454	s.Limit = &v
17455	return s
17456}
17457
17458// SetPosition sets the Position field's value.
17459func (s *GetGatewayResponsesInput) SetPosition(v string) *GetGatewayResponsesInput {
17460	s.Position = &v
17461	return s
17462}
17463
17464// SetRestApiId sets the RestApiId field's value.
17465func (s *GetGatewayResponsesInput) SetRestApiId(v string) *GetGatewayResponsesInput {
17466	s.RestApiId = &v
17467	return s
17468}
17469
17470// The collection of the GatewayResponse instances of a RestApi as a responseType-to-GatewayResponse
17471// object map of key-value pairs. As such, pagination is not supported for querying
17472// this collection.
17473//
17474// For more information about valid gateway response types, see Gateway Response
17475// Types Supported by API Gateway (https://docs.aws.amazon.com/apigateway/latest/developerguide/supported-gateway-response-types.html)
17476//
17477// Example: Get the collection of gateway responses of an API
17478//
17479// Request
17480//
17481// This example request shows how to retrieve the GatewayResponses collection
17482// from an API.
17483//  GET /restapis/o81lxisefl/gatewayresponses HTTP/1.1 Host: beta-apigateway.us-east-1.amazonaws.com
17484//  Content-Type: application/json X-Amz-Date: 20170503T220604Z Authorization:
17485//  AWS4-HMAC-SHA256 Credential={access-key-id}/20170503/us-east-1/apigateway/aws4_request,
17486//  SignedHeaders=content-type;host;x-amz-date, Signature=59b42fe54a76a5de8adf2c67baa6d39206f8e9ad49a1d77ccc6a5da3103a398a
17487//  Cache-Control: no-cache Postman-Token: 5637af27-dc29-fc5c-9dfe-0645d52cb515
17488// Response
17489//
17490// The successful operation returns the 200 OK status code and a payload similar
17491// to the following:
17492//  { "_links": { "curies": { "href": "http://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-gatewayresponse-{rel}.html",
17493//  "name": "gatewayresponse", "templated": true }, "self": { "href": "/restapis/o81lxisefl/gatewayresponses"
17494//  }, "first": { "href": "/restapis/o81lxisefl/gatewayresponses" }, "gatewayresponse:by-type":
17495//  { "href": "/restapis/o81lxisefl/gatewayresponses/{response_type}", "templated":
17496//  true }, "item": [ { "href": "/restapis/o81lxisefl/gatewayresponses/INTEGRATION_FAILURE"
17497//  }, { "href": "/restapis/o81lxisefl/gatewayresponses/RESOURCE_NOT_FOUND"
17498//  }, { "href": "/restapis/o81lxisefl/gatewayresponses/REQUEST_TOO_LARGE" },
17499//  { "href": "/restapis/o81lxisefl/gatewayresponses/THROTTLED" }, { "href":
17500//  "/restapis/o81lxisefl/gatewayresponses/UNSUPPORTED_MEDIA_TYPE" }, { "href":
17501//  "/restapis/o81lxisefl/gatewayresponses/AUTHORIZER_CONFIGURATION_ERROR" },
17502//  { "href": "/restapis/o81lxisefl/gatewayresponses/DEFAULT_5XX" }, { "href":
17503//  "/restapis/o81lxisefl/gatewayresponses/DEFAULT_4XX" }, { "href": "/restapis/o81lxisefl/gatewayresponses/BAD_REQUEST_PARAMETERS"
17504//  }, { "href": "/restapis/o81lxisefl/gatewayresponses/BAD_REQUEST_BODY" },
17505//  { "href": "/restapis/o81lxisefl/gatewayresponses/EXPIRED_TOKEN" }, { "href":
17506//  "/restapis/o81lxisefl/gatewayresponses/ACCESS_DENIED" }, { "href": "/restapis/o81lxisefl/gatewayresponses/INVALID_API_KEY"
17507//  }, { "href": "/restapis/o81lxisefl/gatewayresponses/UNAUTHORIZED" }, { "href":
17508//  "/restapis/o81lxisefl/gatewayresponses/API_CONFIGURATION_ERROR" }, { "href":
17509//  "/restapis/o81lxisefl/gatewayresponses/QUOTA_EXCEEDED" }, { "href": "/restapis/o81lxisefl/gatewayresponses/INTEGRATION_TIMEOUT"
17510//  }, { "href": "/restapis/o81lxisefl/gatewayresponses/MISSING_AUTHENTICATION_TOKEN"
17511//  }, { "href": "/restapis/o81lxisefl/gatewayresponses/INVALID_SIGNATURE" },
17512//  { "href": "/restapis/o81lxisefl/gatewayresponses/AUTHORIZER_FAILURE" } ]
17513//  }, "_embedded": { "item": [ { "_links": { "self": { "href": "/restapis/o81lxisefl/gatewayresponses/INTEGRATION_FAILURE"
17514//  }, "gatewayresponse:put": { "href": "/restapis/o81lxisefl/gatewayresponses/{response_type}",
17515//  "templated": true }, "gatewayresponse:update": { "href": "/restapis/o81lxisefl/gatewayresponses/INTEGRATION_FAILURE"
17516//  } }, "defaultResponse": true, "responseParameters": {}, "responseTemplates":
17517//  { "application/json": "{\"message\":$context.error.messageString}" }, "responseType":
17518//  "INTEGRATION_FAILURE", "statusCode": "504" }, { "_links": { "self": { "href":
17519//  "/restapis/o81lxisefl/gatewayresponses/RESOURCE_NOT_FOUND" }, "gatewayresponse:put":
17520//  { "href": "/restapis/o81lxisefl/gatewayresponses/{response_type}", "templated":
17521//  true }, "gatewayresponse:update": { "href": "/restapis/o81lxisefl/gatewayresponses/RESOURCE_NOT_FOUND"
17522//  } }, "defaultResponse": true, "responseParameters": {}, "responseTemplates":
17523//  { "application/json": "{\"message\":$context.error.messageString}" }, "responseType":
17524//  "RESOURCE_NOT_FOUND", "statusCode": "404" }, { "_links": { "self": { "href":
17525//  "/restapis/o81lxisefl/gatewayresponses/REQUEST_TOO_LARGE" }, "gatewayresponse:put":
17526//  { "href": "/restapis/o81lxisefl/gatewayresponses/{response_type}", "templated":
17527//  true }, "gatewayresponse:update": { "href": "/restapis/o81lxisefl/gatewayresponses/REQUEST_TOO_LARGE"
17528//  } }, "defaultResponse": true, "responseParameters": {}, "responseTemplates":
17529//  { "application/json": "{\"message\":$context.error.messageString}" }, "responseType":
17530//  "REQUEST_TOO_LARGE", "statusCode": "413" }, { "_links": { "self": { "href":
17531//  "/restapis/o81lxisefl/gatewayresponses/THROTTLED" }, "gatewayresponse:put":
17532//  { "href": "/restapis/o81lxisefl/gatewayresponses/{response_type}", "templated":
17533//  true }, "gatewayresponse:update": { "href": "/restapis/o81lxisefl/gatewayresponses/THROTTLED"
17534//  } }, "defaultResponse": true, "responseParameters": {}, "responseTemplates":
17535//  { "application/json": "{\"message\":$context.error.messageString}" }, "responseType":
17536//  "THROTTLED", "statusCode": "429" }, { "_links": { "self": { "href": "/restapis/o81lxisefl/gatewayresponses/UNSUPPORTED_MEDIA_TYPE"
17537//  }, "gatewayresponse:put": { "href": "/restapis/o81lxisefl/gatewayresponses/{response_type}",
17538//  "templated": true }, "gatewayresponse:update": { "href": "/restapis/o81lxisefl/gatewayresponses/UNSUPPORTED_MEDIA_TYPE"
17539//  } }, "defaultResponse": true, "responseParameters": {}, "responseTemplates":
17540//  { "application/json": "{\"message\":$context.error.messageString}" }, "responseType":
17541//  "UNSUPPORTED_MEDIA_TYPE", "statusCode": "415" }, { "_links": { "self": {
17542//  "href": "/restapis/o81lxisefl/gatewayresponses/AUTHORIZER_CONFIGURATION_ERROR"
17543//  }, "gatewayresponse:put": { "href": "/restapis/o81lxisefl/gatewayresponses/{response_type}",
17544//  "templated": true }, "gatewayresponse:update": { "href": "/restapis/o81lxisefl/gatewayresponses/AUTHORIZER_CONFIGURATION_ERROR"
17545//  } }, "defaultResponse": true, "responseParameters": {}, "responseTemplates":
17546//  { "application/json": "{\"message\":$context.error.messageString}" }, "responseType":
17547//  "AUTHORIZER_CONFIGURATION_ERROR", "statusCode": "500" }, { "_links": { "self":
17548//  { "href": "/restapis/o81lxisefl/gatewayresponses/DEFAULT_5XX" }, "gatewayresponse:put":
17549//  { "href": "/restapis/o81lxisefl/gatewayresponses/{response_type}", "templated":
17550//  true }, "gatewayresponse:update": { "href": "/restapis/o81lxisefl/gatewayresponses/DEFAULT_5XX"
17551//  } }, "defaultResponse": true, "responseParameters": {}, "responseTemplates":
17552//  { "application/json": "{\"message\":$context.error.messageString}" }, "responseType":
17553//  "DEFAULT_5XX" }, { "_links": { "self": { "href": "/restapis/o81lxisefl/gatewayresponses/DEFAULT_4XX"
17554//  }, "gatewayresponse:put": { "href": "/restapis/o81lxisefl/gatewayresponses/{response_type}",
17555//  "templated": true }, "gatewayresponse:update": { "href": "/restapis/o81lxisefl/gatewayresponses/DEFAULT_4XX"
17556//  } }, "defaultResponse": true, "responseParameters": {}, "responseTemplates":
17557//  { "application/json": "{\"message\":$context.error.messageString}" }, "responseType":
17558//  "DEFAULT_4XX" }, { "_links": { "self": { "href": "/restapis/o81lxisefl/gatewayresponses/BAD_REQUEST_PARAMETERS"
17559//  }, "gatewayresponse:put": { "href": "/restapis/o81lxisefl/gatewayresponses/{response_type}",
17560//  "templated": true }, "gatewayresponse:update": { "href": "/restapis/o81lxisefl/gatewayresponses/BAD_REQUEST_PARAMETERS"
17561//  } }, "defaultResponse": true, "responseParameters": {}, "responseTemplates":
17562//  { "application/json": "{\"message\":$context.error.messageString}" }, "responseType":
17563//  "BAD_REQUEST_PARAMETERS", "statusCode": "400" }, { "_links": { "self": {
17564//  "href": "/restapis/o81lxisefl/gatewayresponses/BAD_REQUEST_BODY" }, "gatewayresponse:put":
17565//  { "href": "/restapis/o81lxisefl/gatewayresponses/{response_type}", "templated":
17566//  true }, "gatewayresponse:update": { "href": "/restapis/o81lxisefl/gatewayresponses/BAD_REQUEST_BODY"
17567//  } }, "defaultResponse": true, "responseParameters": {}, "responseTemplates":
17568//  { "application/json": "{\"message\":$context.error.messageString}" }, "responseType":
17569//  "BAD_REQUEST_BODY", "statusCode": "400" }, { "_links": { "self": { "href":
17570//  "/restapis/o81lxisefl/gatewayresponses/EXPIRED_TOKEN" }, "gatewayresponse:put":
17571//  { "href": "/restapis/o81lxisefl/gatewayresponses/{response_type}", "templated":
17572//  true }, "gatewayresponse:update": { "href": "/restapis/o81lxisefl/gatewayresponses/EXPIRED_TOKEN"
17573//  } }, "defaultResponse": true, "responseParameters": {}, "responseTemplates":
17574//  { "application/json": "{\"message\":$context.error.messageString}" }, "responseType":
17575//  "EXPIRED_TOKEN", "statusCode": "403" }, { "_links": { "self": { "href":
17576//  "/restapis/o81lxisefl/gatewayresponses/ACCESS_DENIED" }, "gatewayresponse:put":
17577//  { "href": "/restapis/o81lxisefl/gatewayresponses/{response_type}", "templated":
17578//  true }, "gatewayresponse:update": { "href": "/restapis/o81lxisefl/gatewayresponses/ACCESS_DENIED"
17579//  } }, "defaultResponse": true, "responseParameters": {}, "responseTemplates":
17580//  { "application/json": "{\"message\":$context.error.messageString}" }, "responseType":
17581//  "ACCESS_DENIED", "statusCode": "403" }, { "_links": { "self": { "href":
17582//  "/restapis/o81lxisefl/gatewayresponses/INVALID_API_KEY" }, "gatewayresponse:put":
17583//  { "href": "/restapis/o81lxisefl/gatewayresponses/{response_type}", "templated":
17584//  true }, "gatewayresponse:update": { "href": "/restapis/o81lxisefl/gatewayresponses/INVALID_API_KEY"
17585//  } }, "defaultResponse": true, "responseParameters": {}, "responseTemplates":
17586//  { "application/json": "{\"message\":$context.error.messageString}" }, "responseType":
17587//  "INVALID_API_KEY", "statusCode": "403" }, { "_links": { "self": { "href":
17588//  "/restapis/o81lxisefl/gatewayresponses/UNAUTHORIZED" }, "gatewayresponse:put":
17589//  { "href": "/restapis/o81lxisefl/gatewayresponses/{response_type}", "templated":
17590//  true }, "gatewayresponse:update": { "href": "/restapis/o81lxisefl/gatewayresponses/UNAUTHORIZED"
17591//  } }, "defaultResponse": true, "responseParameters": {}, "responseTemplates":
17592//  { "application/json": "{\"message\":$context.error.messageString}" }, "responseType":
17593//  "UNAUTHORIZED", "statusCode": "401" }, { "_links": { "self": { "href": "/restapis/o81lxisefl/gatewayresponses/API_CONFIGURATION_ERROR"
17594//  }, "gatewayresponse:put": { "href": "/restapis/o81lxisefl/gatewayresponses/{response_type}",
17595//  "templated": true }, "gatewayresponse:update": { "href": "/restapis/o81lxisefl/gatewayresponses/API_CONFIGURATION_ERROR"
17596//  } }, "defaultResponse": true, "responseParameters": {}, "responseTemplates":
17597//  { "application/json": "{\"message\":$context.error.messageString}" }, "responseType":
17598//  "API_CONFIGURATION_ERROR", "statusCode": "500" }, { "_links": { "self":
17599//  { "href": "/restapis/o81lxisefl/gatewayresponses/QUOTA_EXCEEDED" }, "gatewayresponse:put":
17600//  { "href": "/restapis/o81lxisefl/gatewayresponses/{response_type}", "templated":
17601//  true }, "gatewayresponse:update": { "href": "/restapis/o81lxisefl/gatewayresponses/QUOTA_EXCEEDED"
17602//  } }, "defaultResponse": true, "responseParameters": {}, "responseTemplates":
17603//  { "application/json": "{\"message\":$context.error.messageString}" }, "responseType":
17604//  "QUOTA_EXCEEDED", "statusCode": "429" }, { "_links": { "self": { "href":
17605//  "/restapis/o81lxisefl/gatewayresponses/INTEGRATION_TIMEOUT" }, "gatewayresponse:put":
17606//  { "href": "/restapis/o81lxisefl/gatewayresponses/{response_type}", "templated":
17607//  true }, "gatewayresponse:update": { "href": "/restapis/o81lxisefl/gatewayresponses/INTEGRATION_TIMEOUT"
17608//  } }, "defaultResponse": true, "responseParameters": {}, "responseTemplates":
17609//  { "application/json": "{\"message\":$context.error.messageString}" }, "responseType":
17610//  "INTEGRATION_TIMEOUT", "statusCode": "504" }, { "_links": { "self": { "href":
17611//  "/restapis/o81lxisefl/gatewayresponses/MISSING_AUTHENTICATION_TOKEN" },
17612//  "gatewayresponse:put": { "href": "/restapis/o81lxisefl/gatewayresponses/{response_type}",
17613//  "templated": true }, "gatewayresponse:update": { "href": "/restapis/o81lxisefl/gatewayresponses/MISSING_AUTHENTICATION_TOKEN"
17614//  } }, "defaultResponse": true, "responseParameters": {}, "responseTemplates":
17615//  { "application/json": "{\"message\":$context.error.messageString}" }, "responseType":
17616//  "MISSING_AUTHENTICATION_TOKEN", "statusCode": "403" }, { "_links": { "self":
17617//  { "href": "/restapis/o81lxisefl/gatewayresponses/INVALID_SIGNATURE" }, "gatewayresponse:put":
17618//  { "href": "/restapis/o81lxisefl/gatewayresponses/{response_type}", "templated":
17619//  true }, "gatewayresponse:update": { "href": "/restapis/o81lxisefl/gatewayresponses/INVALID_SIGNATURE"
17620//  } }, "defaultResponse": true, "responseParameters": {}, "responseTemplates":
17621//  { "application/json": "{\"message\":$context.error.messageString}" }, "responseType":
17622//  "INVALID_SIGNATURE", "statusCode": "403" }, { "_links": { "self": { "href":
17623//  "/restapis/o81lxisefl/gatewayresponses/AUTHORIZER_FAILURE" }, "gatewayresponse:put":
17624//  { "href": "/restapis/o81lxisefl/gatewayresponses/{response_type}", "templated":
17625//  true }, "gatewayresponse:update": { "href": "/restapis/o81lxisefl/gatewayresponses/AUTHORIZER_FAILURE"
17626//  } }, "defaultResponse": true, "responseParameters": {}, "responseTemplates":
17627//  { "application/json": "{\"message\":$context.error.messageString}" }, "responseType":
17628//  "AUTHORIZER_FAILURE", "statusCode": "500" } ] } }
17629//
17630// Customize Gateway Responses (https://docs.aws.amazon.com/apigateway/latest/developerguide/customize-gateway-responses.html)
17631type GetGatewayResponsesOutput struct {
17632	_ struct{} `type:"structure"`
17633
17634	// Returns the entire collection, because of no pagination support.
17635	Items []*UpdateGatewayResponseOutput `locationName:"item" type:"list"`
17636
17637	Position *string `locationName:"position" type:"string"`
17638}
17639
17640// String returns the string representation
17641func (s GetGatewayResponsesOutput) String() string {
17642	return awsutil.Prettify(s)
17643}
17644
17645// GoString returns the string representation
17646func (s GetGatewayResponsesOutput) GoString() string {
17647	return s.String()
17648}
17649
17650// SetItems sets the Items field's value.
17651func (s *GetGatewayResponsesOutput) SetItems(v []*UpdateGatewayResponseOutput) *GetGatewayResponsesOutput {
17652	s.Items = v
17653	return s
17654}
17655
17656// SetPosition sets the Position field's value.
17657func (s *GetGatewayResponsesOutput) SetPosition(v string) *GetGatewayResponsesOutput {
17658	s.Position = &v
17659	return s
17660}
17661
17662// Represents a request to get the integration configuration.
17663type GetIntegrationInput struct {
17664	_ struct{} `type:"structure"`
17665
17666	// [Required] Specifies a get integration request's HTTP method.
17667	//
17668	// HttpMethod is a required field
17669	HttpMethod *string `location:"uri" locationName:"http_method" type:"string" required:"true"`
17670
17671	// [Required] Specifies a get integration request's resource identifier
17672	//
17673	// ResourceId is a required field
17674	ResourceId *string `location:"uri" locationName:"resource_id" type:"string" required:"true"`
17675
17676	// [Required] The string identifier of the associated RestApi.
17677	//
17678	// RestApiId is a required field
17679	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
17680}
17681
17682// String returns the string representation
17683func (s GetIntegrationInput) String() string {
17684	return awsutil.Prettify(s)
17685}
17686
17687// GoString returns the string representation
17688func (s GetIntegrationInput) GoString() string {
17689	return s.String()
17690}
17691
17692// Validate inspects the fields of the type to determine if they are valid.
17693func (s *GetIntegrationInput) Validate() error {
17694	invalidParams := request.ErrInvalidParams{Context: "GetIntegrationInput"}
17695	if s.HttpMethod == nil {
17696		invalidParams.Add(request.NewErrParamRequired("HttpMethod"))
17697	}
17698	if s.HttpMethod != nil && len(*s.HttpMethod) < 1 {
17699		invalidParams.Add(request.NewErrParamMinLen("HttpMethod", 1))
17700	}
17701	if s.ResourceId == nil {
17702		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
17703	}
17704	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
17705		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
17706	}
17707	if s.RestApiId == nil {
17708		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
17709	}
17710	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
17711		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
17712	}
17713
17714	if invalidParams.Len() > 0 {
17715		return invalidParams
17716	}
17717	return nil
17718}
17719
17720// SetHttpMethod sets the HttpMethod field's value.
17721func (s *GetIntegrationInput) SetHttpMethod(v string) *GetIntegrationInput {
17722	s.HttpMethod = &v
17723	return s
17724}
17725
17726// SetResourceId sets the ResourceId field's value.
17727func (s *GetIntegrationInput) SetResourceId(v string) *GetIntegrationInput {
17728	s.ResourceId = &v
17729	return s
17730}
17731
17732// SetRestApiId sets the RestApiId field's value.
17733func (s *GetIntegrationInput) SetRestApiId(v string) *GetIntegrationInput {
17734	s.RestApiId = &v
17735	return s
17736}
17737
17738// Represents a get integration response request.
17739type GetIntegrationResponseInput struct {
17740	_ struct{} `type:"structure"`
17741
17742	// [Required] Specifies a get integration response request's HTTP method.
17743	//
17744	// HttpMethod is a required field
17745	HttpMethod *string `location:"uri" locationName:"http_method" type:"string" required:"true"`
17746
17747	// [Required] Specifies a get integration response request's resource identifier.
17748	//
17749	// ResourceId is a required field
17750	ResourceId *string `location:"uri" locationName:"resource_id" type:"string" required:"true"`
17751
17752	// [Required] The string identifier of the associated RestApi.
17753	//
17754	// RestApiId is a required field
17755	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
17756
17757	// [Required] Specifies a get integration response request's status code.
17758	//
17759	// StatusCode is a required field
17760	StatusCode *string `location:"uri" locationName:"status_code" type:"string" required:"true"`
17761}
17762
17763// String returns the string representation
17764func (s GetIntegrationResponseInput) String() string {
17765	return awsutil.Prettify(s)
17766}
17767
17768// GoString returns the string representation
17769func (s GetIntegrationResponseInput) GoString() string {
17770	return s.String()
17771}
17772
17773// Validate inspects the fields of the type to determine if they are valid.
17774func (s *GetIntegrationResponseInput) Validate() error {
17775	invalidParams := request.ErrInvalidParams{Context: "GetIntegrationResponseInput"}
17776	if s.HttpMethod == nil {
17777		invalidParams.Add(request.NewErrParamRequired("HttpMethod"))
17778	}
17779	if s.HttpMethod != nil && len(*s.HttpMethod) < 1 {
17780		invalidParams.Add(request.NewErrParamMinLen("HttpMethod", 1))
17781	}
17782	if s.ResourceId == nil {
17783		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
17784	}
17785	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
17786		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
17787	}
17788	if s.RestApiId == nil {
17789		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
17790	}
17791	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
17792		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
17793	}
17794	if s.StatusCode == nil {
17795		invalidParams.Add(request.NewErrParamRequired("StatusCode"))
17796	}
17797	if s.StatusCode != nil && len(*s.StatusCode) < 1 {
17798		invalidParams.Add(request.NewErrParamMinLen("StatusCode", 1))
17799	}
17800
17801	if invalidParams.Len() > 0 {
17802		return invalidParams
17803	}
17804	return nil
17805}
17806
17807// SetHttpMethod sets the HttpMethod field's value.
17808func (s *GetIntegrationResponseInput) SetHttpMethod(v string) *GetIntegrationResponseInput {
17809	s.HttpMethod = &v
17810	return s
17811}
17812
17813// SetResourceId sets the ResourceId field's value.
17814func (s *GetIntegrationResponseInput) SetResourceId(v string) *GetIntegrationResponseInput {
17815	s.ResourceId = &v
17816	return s
17817}
17818
17819// SetRestApiId sets the RestApiId field's value.
17820func (s *GetIntegrationResponseInput) SetRestApiId(v string) *GetIntegrationResponseInput {
17821	s.RestApiId = &v
17822	return s
17823}
17824
17825// SetStatusCode sets the StatusCode field's value.
17826func (s *GetIntegrationResponseInput) SetStatusCode(v string) *GetIntegrationResponseInput {
17827	s.StatusCode = &v
17828	return s
17829}
17830
17831// Request to describe an existing Method resource.
17832type GetMethodInput struct {
17833	_ struct{} `type:"structure"`
17834
17835	// [Required] Specifies the method request's HTTP method type.
17836	//
17837	// HttpMethod is a required field
17838	HttpMethod *string `location:"uri" locationName:"http_method" type:"string" required:"true"`
17839
17840	// [Required] The Resource identifier for the Method resource.
17841	//
17842	// ResourceId is a required field
17843	ResourceId *string `location:"uri" locationName:"resource_id" type:"string" required:"true"`
17844
17845	// [Required] The string identifier of the associated RestApi.
17846	//
17847	// RestApiId is a required field
17848	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
17849}
17850
17851// String returns the string representation
17852func (s GetMethodInput) String() string {
17853	return awsutil.Prettify(s)
17854}
17855
17856// GoString returns the string representation
17857func (s GetMethodInput) GoString() string {
17858	return s.String()
17859}
17860
17861// Validate inspects the fields of the type to determine if they are valid.
17862func (s *GetMethodInput) Validate() error {
17863	invalidParams := request.ErrInvalidParams{Context: "GetMethodInput"}
17864	if s.HttpMethod == nil {
17865		invalidParams.Add(request.NewErrParamRequired("HttpMethod"))
17866	}
17867	if s.HttpMethod != nil && len(*s.HttpMethod) < 1 {
17868		invalidParams.Add(request.NewErrParamMinLen("HttpMethod", 1))
17869	}
17870	if s.ResourceId == nil {
17871		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
17872	}
17873	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
17874		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
17875	}
17876	if s.RestApiId == nil {
17877		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
17878	}
17879	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
17880		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
17881	}
17882
17883	if invalidParams.Len() > 0 {
17884		return invalidParams
17885	}
17886	return nil
17887}
17888
17889// SetHttpMethod sets the HttpMethod field's value.
17890func (s *GetMethodInput) SetHttpMethod(v string) *GetMethodInput {
17891	s.HttpMethod = &v
17892	return s
17893}
17894
17895// SetResourceId sets the ResourceId field's value.
17896func (s *GetMethodInput) SetResourceId(v string) *GetMethodInput {
17897	s.ResourceId = &v
17898	return s
17899}
17900
17901// SetRestApiId sets the RestApiId field's value.
17902func (s *GetMethodInput) SetRestApiId(v string) *GetMethodInput {
17903	s.RestApiId = &v
17904	return s
17905}
17906
17907// Request to describe a MethodResponse resource.
17908type GetMethodResponseInput struct {
17909	_ struct{} `type:"structure"`
17910
17911	// [Required] The HTTP verb of the Method resource.
17912	//
17913	// HttpMethod is a required field
17914	HttpMethod *string `location:"uri" locationName:"http_method" type:"string" required:"true"`
17915
17916	// [Required] The Resource identifier for the MethodResponse resource.
17917	//
17918	// ResourceId is a required field
17919	ResourceId *string `location:"uri" locationName:"resource_id" type:"string" required:"true"`
17920
17921	// [Required] The string identifier of the associated RestApi.
17922	//
17923	// RestApiId is a required field
17924	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
17925
17926	// [Required] The status code for the MethodResponse resource.
17927	//
17928	// StatusCode is a required field
17929	StatusCode *string `location:"uri" locationName:"status_code" type:"string" required:"true"`
17930}
17931
17932// String returns the string representation
17933func (s GetMethodResponseInput) String() string {
17934	return awsutil.Prettify(s)
17935}
17936
17937// GoString returns the string representation
17938func (s GetMethodResponseInput) GoString() string {
17939	return s.String()
17940}
17941
17942// Validate inspects the fields of the type to determine if they are valid.
17943func (s *GetMethodResponseInput) Validate() error {
17944	invalidParams := request.ErrInvalidParams{Context: "GetMethodResponseInput"}
17945	if s.HttpMethod == nil {
17946		invalidParams.Add(request.NewErrParamRequired("HttpMethod"))
17947	}
17948	if s.HttpMethod != nil && len(*s.HttpMethod) < 1 {
17949		invalidParams.Add(request.NewErrParamMinLen("HttpMethod", 1))
17950	}
17951	if s.ResourceId == nil {
17952		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
17953	}
17954	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
17955		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
17956	}
17957	if s.RestApiId == nil {
17958		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
17959	}
17960	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
17961		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
17962	}
17963	if s.StatusCode == nil {
17964		invalidParams.Add(request.NewErrParamRequired("StatusCode"))
17965	}
17966	if s.StatusCode != nil && len(*s.StatusCode) < 1 {
17967		invalidParams.Add(request.NewErrParamMinLen("StatusCode", 1))
17968	}
17969
17970	if invalidParams.Len() > 0 {
17971		return invalidParams
17972	}
17973	return nil
17974}
17975
17976// SetHttpMethod sets the HttpMethod field's value.
17977func (s *GetMethodResponseInput) SetHttpMethod(v string) *GetMethodResponseInput {
17978	s.HttpMethod = &v
17979	return s
17980}
17981
17982// SetResourceId sets the ResourceId field's value.
17983func (s *GetMethodResponseInput) SetResourceId(v string) *GetMethodResponseInput {
17984	s.ResourceId = &v
17985	return s
17986}
17987
17988// SetRestApiId sets the RestApiId field's value.
17989func (s *GetMethodResponseInput) SetRestApiId(v string) *GetMethodResponseInput {
17990	s.RestApiId = &v
17991	return s
17992}
17993
17994// SetStatusCode sets the StatusCode field's value.
17995func (s *GetMethodResponseInput) SetStatusCode(v string) *GetMethodResponseInput {
17996	s.StatusCode = &v
17997	return s
17998}
17999
18000// Request to list information about a model in an existing RestApi resource.
18001type GetModelInput struct {
18002	_ struct{} `type:"structure"`
18003
18004	// A query parameter of a Boolean value to resolve (true) all external model
18005	// references and returns a flattened model schema or not (false) The default
18006	// is false.
18007	Flatten *bool `location:"querystring" locationName:"flatten" type:"boolean"`
18008
18009	// [Required] The name of the model as an identifier.
18010	//
18011	// ModelName is a required field
18012	ModelName *string `location:"uri" locationName:"model_name" type:"string" required:"true"`
18013
18014	// [Required] The RestApi identifier under which the Model exists.
18015	//
18016	// RestApiId is a required field
18017	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
18018}
18019
18020// String returns the string representation
18021func (s GetModelInput) String() string {
18022	return awsutil.Prettify(s)
18023}
18024
18025// GoString returns the string representation
18026func (s GetModelInput) GoString() string {
18027	return s.String()
18028}
18029
18030// Validate inspects the fields of the type to determine if they are valid.
18031func (s *GetModelInput) Validate() error {
18032	invalidParams := request.ErrInvalidParams{Context: "GetModelInput"}
18033	if s.ModelName == nil {
18034		invalidParams.Add(request.NewErrParamRequired("ModelName"))
18035	}
18036	if s.ModelName != nil && len(*s.ModelName) < 1 {
18037		invalidParams.Add(request.NewErrParamMinLen("ModelName", 1))
18038	}
18039	if s.RestApiId == nil {
18040		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
18041	}
18042	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
18043		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
18044	}
18045
18046	if invalidParams.Len() > 0 {
18047		return invalidParams
18048	}
18049	return nil
18050}
18051
18052// SetFlatten sets the Flatten field's value.
18053func (s *GetModelInput) SetFlatten(v bool) *GetModelInput {
18054	s.Flatten = &v
18055	return s
18056}
18057
18058// SetModelName sets the ModelName field's value.
18059func (s *GetModelInput) SetModelName(v string) *GetModelInput {
18060	s.ModelName = &v
18061	return s
18062}
18063
18064// SetRestApiId sets the RestApiId field's value.
18065func (s *GetModelInput) SetRestApiId(v string) *GetModelInput {
18066	s.RestApiId = &v
18067	return s
18068}
18069
18070// Request to generate a sample mapping template used to transform the payload.
18071type GetModelTemplateInput struct {
18072	_ struct{} `type:"structure"`
18073
18074	// [Required] The name of the model for which to generate a template.
18075	//
18076	// ModelName is a required field
18077	ModelName *string `location:"uri" locationName:"model_name" type:"string" required:"true"`
18078
18079	// [Required] The string identifier of the associated RestApi.
18080	//
18081	// RestApiId is a required field
18082	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
18083}
18084
18085// String returns the string representation
18086func (s GetModelTemplateInput) String() string {
18087	return awsutil.Prettify(s)
18088}
18089
18090// GoString returns the string representation
18091func (s GetModelTemplateInput) GoString() string {
18092	return s.String()
18093}
18094
18095// Validate inspects the fields of the type to determine if they are valid.
18096func (s *GetModelTemplateInput) Validate() error {
18097	invalidParams := request.ErrInvalidParams{Context: "GetModelTemplateInput"}
18098	if s.ModelName == nil {
18099		invalidParams.Add(request.NewErrParamRequired("ModelName"))
18100	}
18101	if s.ModelName != nil && len(*s.ModelName) < 1 {
18102		invalidParams.Add(request.NewErrParamMinLen("ModelName", 1))
18103	}
18104	if s.RestApiId == nil {
18105		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
18106	}
18107	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
18108		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
18109	}
18110
18111	if invalidParams.Len() > 0 {
18112		return invalidParams
18113	}
18114	return nil
18115}
18116
18117// SetModelName sets the ModelName field's value.
18118func (s *GetModelTemplateInput) SetModelName(v string) *GetModelTemplateInput {
18119	s.ModelName = &v
18120	return s
18121}
18122
18123// SetRestApiId sets the RestApiId field's value.
18124func (s *GetModelTemplateInput) SetRestApiId(v string) *GetModelTemplateInput {
18125	s.RestApiId = &v
18126	return s
18127}
18128
18129// Represents a mapping template used to transform a payload.
18130//
18131// Mapping Templates (https://docs.aws.amazon.com/apigateway/latest/developerguide/models-mappings.html#models-mappings-mappings)
18132type GetModelTemplateOutput struct {
18133	_ struct{} `type:"structure"`
18134
18135	// The Apache Velocity Template Language (VTL) (https://velocity.apache.org/engine/devel/vtl-reference.html)
18136	// template content used for the template resource.
18137	Value *string `locationName:"value" type:"string"`
18138}
18139
18140// String returns the string representation
18141func (s GetModelTemplateOutput) String() string {
18142	return awsutil.Prettify(s)
18143}
18144
18145// GoString returns the string representation
18146func (s GetModelTemplateOutput) GoString() string {
18147	return s.String()
18148}
18149
18150// SetValue sets the Value field's value.
18151func (s *GetModelTemplateOutput) SetValue(v string) *GetModelTemplateOutput {
18152	s.Value = &v
18153	return s
18154}
18155
18156// Request to list existing Models defined for a RestApi resource.
18157type GetModelsInput struct {
18158	_ struct{} `type:"structure"`
18159
18160	// The maximum number of returned results per page. The default value is 25
18161	// and the maximum value is 500.
18162	Limit *int64 `location:"querystring" locationName:"limit" type:"integer"`
18163
18164	// The current pagination position in the paged result set.
18165	Position *string `location:"querystring" locationName:"position" type:"string"`
18166
18167	// [Required] The string identifier of the associated RestApi.
18168	//
18169	// RestApiId is a required field
18170	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
18171}
18172
18173// String returns the string representation
18174func (s GetModelsInput) String() string {
18175	return awsutil.Prettify(s)
18176}
18177
18178// GoString returns the string representation
18179func (s GetModelsInput) GoString() string {
18180	return s.String()
18181}
18182
18183// Validate inspects the fields of the type to determine if they are valid.
18184func (s *GetModelsInput) Validate() error {
18185	invalidParams := request.ErrInvalidParams{Context: "GetModelsInput"}
18186	if s.RestApiId == nil {
18187		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
18188	}
18189	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
18190		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
18191	}
18192
18193	if invalidParams.Len() > 0 {
18194		return invalidParams
18195	}
18196	return nil
18197}
18198
18199// SetLimit sets the Limit field's value.
18200func (s *GetModelsInput) SetLimit(v int64) *GetModelsInput {
18201	s.Limit = &v
18202	return s
18203}
18204
18205// SetPosition sets the Position field's value.
18206func (s *GetModelsInput) SetPosition(v string) *GetModelsInput {
18207	s.Position = &v
18208	return s
18209}
18210
18211// SetRestApiId sets the RestApiId field's value.
18212func (s *GetModelsInput) SetRestApiId(v string) *GetModelsInput {
18213	s.RestApiId = &v
18214	return s
18215}
18216
18217// Represents a collection of Model resources.
18218//
18219// Method, MethodResponse, Models and Mappings (https://docs.aws.amazon.com/apigateway/latest/developerguide/models-mappings.html)
18220type GetModelsOutput struct {
18221	_ struct{} `type:"structure"`
18222
18223	// The current page of elements from this collection.
18224	Items []*Model `locationName:"item" type:"list"`
18225
18226	Position *string `locationName:"position" type:"string"`
18227}
18228
18229// String returns the string representation
18230func (s GetModelsOutput) String() string {
18231	return awsutil.Prettify(s)
18232}
18233
18234// GoString returns the string representation
18235func (s GetModelsOutput) GoString() string {
18236	return s.String()
18237}
18238
18239// SetItems sets the Items field's value.
18240func (s *GetModelsOutput) SetItems(v []*Model) *GetModelsOutput {
18241	s.Items = v
18242	return s
18243}
18244
18245// SetPosition sets the Position field's value.
18246func (s *GetModelsOutput) SetPosition(v string) *GetModelsOutput {
18247	s.Position = &v
18248	return s
18249}
18250
18251// Gets a RequestValidator of a given RestApi.
18252type GetRequestValidatorInput struct {
18253	_ struct{} `type:"structure"`
18254
18255	// [Required] The identifier of the RequestValidator to be retrieved.
18256	//
18257	// RequestValidatorId is a required field
18258	RequestValidatorId *string `location:"uri" locationName:"requestvalidator_id" type:"string" required:"true"`
18259
18260	// [Required] The string identifier of the associated RestApi.
18261	//
18262	// RestApiId is a required field
18263	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
18264}
18265
18266// String returns the string representation
18267func (s GetRequestValidatorInput) String() string {
18268	return awsutil.Prettify(s)
18269}
18270
18271// GoString returns the string representation
18272func (s GetRequestValidatorInput) GoString() string {
18273	return s.String()
18274}
18275
18276// Validate inspects the fields of the type to determine if they are valid.
18277func (s *GetRequestValidatorInput) Validate() error {
18278	invalidParams := request.ErrInvalidParams{Context: "GetRequestValidatorInput"}
18279	if s.RequestValidatorId == nil {
18280		invalidParams.Add(request.NewErrParamRequired("RequestValidatorId"))
18281	}
18282	if s.RequestValidatorId != nil && len(*s.RequestValidatorId) < 1 {
18283		invalidParams.Add(request.NewErrParamMinLen("RequestValidatorId", 1))
18284	}
18285	if s.RestApiId == nil {
18286		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
18287	}
18288	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
18289		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
18290	}
18291
18292	if invalidParams.Len() > 0 {
18293		return invalidParams
18294	}
18295	return nil
18296}
18297
18298// SetRequestValidatorId sets the RequestValidatorId field's value.
18299func (s *GetRequestValidatorInput) SetRequestValidatorId(v string) *GetRequestValidatorInput {
18300	s.RequestValidatorId = &v
18301	return s
18302}
18303
18304// SetRestApiId sets the RestApiId field's value.
18305func (s *GetRequestValidatorInput) SetRestApiId(v string) *GetRequestValidatorInput {
18306	s.RestApiId = &v
18307	return s
18308}
18309
18310// Gets the RequestValidators collection of a given RestApi.
18311type GetRequestValidatorsInput struct {
18312	_ struct{} `type:"structure"`
18313
18314	// The maximum number of returned results per page. The default value is 25
18315	// and the maximum value is 500.
18316	Limit *int64 `location:"querystring" locationName:"limit" type:"integer"`
18317
18318	// The current pagination position in the paged result set.
18319	Position *string `location:"querystring" locationName:"position" type:"string"`
18320
18321	// [Required] The string identifier of the associated RestApi.
18322	//
18323	// RestApiId is a required field
18324	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
18325}
18326
18327// String returns the string representation
18328func (s GetRequestValidatorsInput) String() string {
18329	return awsutil.Prettify(s)
18330}
18331
18332// GoString returns the string representation
18333func (s GetRequestValidatorsInput) GoString() string {
18334	return s.String()
18335}
18336
18337// Validate inspects the fields of the type to determine if they are valid.
18338func (s *GetRequestValidatorsInput) Validate() error {
18339	invalidParams := request.ErrInvalidParams{Context: "GetRequestValidatorsInput"}
18340	if s.RestApiId == nil {
18341		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
18342	}
18343	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
18344		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
18345	}
18346
18347	if invalidParams.Len() > 0 {
18348		return invalidParams
18349	}
18350	return nil
18351}
18352
18353// SetLimit sets the Limit field's value.
18354func (s *GetRequestValidatorsInput) SetLimit(v int64) *GetRequestValidatorsInput {
18355	s.Limit = &v
18356	return s
18357}
18358
18359// SetPosition sets the Position field's value.
18360func (s *GetRequestValidatorsInput) SetPosition(v string) *GetRequestValidatorsInput {
18361	s.Position = &v
18362	return s
18363}
18364
18365// SetRestApiId sets the RestApiId field's value.
18366func (s *GetRequestValidatorsInput) SetRestApiId(v string) *GetRequestValidatorsInput {
18367	s.RestApiId = &v
18368	return s
18369}
18370
18371// A collection of RequestValidator resources of a given RestApi.
18372//
18373// In OpenAPI, the RequestValidators of an API is defined by the x-amazon-apigateway-request-validators
18374// (https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions.html#api-gateway-swagger-extensions-request-validators.html)
18375// extension.
18376//
18377// Enable Basic Request Validation in API Gateway (https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-method-request-validation.html)
18378type GetRequestValidatorsOutput struct {
18379	_ struct{} `type:"structure"`
18380
18381	// The current page of elements from this collection.
18382	Items []*UpdateRequestValidatorOutput `locationName:"item" type:"list"`
18383
18384	Position *string `locationName:"position" type:"string"`
18385}
18386
18387// String returns the string representation
18388func (s GetRequestValidatorsOutput) String() string {
18389	return awsutil.Prettify(s)
18390}
18391
18392// GoString returns the string representation
18393func (s GetRequestValidatorsOutput) GoString() string {
18394	return s.String()
18395}
18396
18397// SetItems sets the Items field's value.
18398func (s *GetRequestValidatorsOutput) SetItems(v []*UpdateRequestValidatorOutput) *GetRequestValidatorsOutput {
18399	s.Items = v
18400	return s
18401}
18402
18403// SetPosition sets the Position field's value.
18404func (s *GetRequestValidatorsOutput) SetPosition(v string) *GetRequestValidatorsOutput {
18405	s.Position = &v
18406	return s
18407}
18408
18409// Request to list information about a resource.
18410type GetResourceInput struct {
18411	_ struct{} `type:"structure"`
18412
18413	// A query parameter to retrieve the specified resources embedded in the returned
18414	// Resource representation in the response. This embed parameter value is a
18415	// list of comma-separated strings. Currently, the request supports only retrieval
18416	// of the embedded Method resources this way. The query parameter value must
18417	// be a single-valued list and contain the "methods" string. For example, GET
18418	// /restapis/{restapi_id}/resources/{resource_id}?embed=methods.
18419	Embed []*string `location:"querystring" locationName:"embed" type:"list"`
18420
18421	// [Required] The identifier for the Resource resource.
18422	//
18423	// ResourceId is a required field
18424	ResourceId *string `location:"uri" locationName:"resource_id" type:"string" required:"true"`
18425
18426	// [Required] The string identifier of the associated RestApi.
18427	//
18428	// RestApiId is a required field
18429	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
18430}
18431
18432// String returns the string representation
18433func (s GetResourceInput) String() string {
18434	return awsutil.Prettify(s)
18435}
18436
18437// GoString returns the string representation
18438func (s GetResourceInput) GoString() string {
18439	return s.String()
18440}
18441
18442// Validate inspects the fields of the type to determine if they are valid.
18443func (s *GetResourceInput) Validate() error {
18444	invalidParams := request.ErrInvalidParams{Context: "GetResourceInput"}
18445	if s.ResourceId == nil {
18446		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
18447	}
18448	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
18449		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
18450	}
18451	if s.RestApiId == nil {
18452		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
18453	}
18454	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
18455		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
18456	}
18457
18458	if invalidParams.Len() > 0 {
18459		return invalidParams
18460	}
18461	return nil
18462}
18463
18464// SetEmbed sets the Embed field's value.
18465func (s *GetResourceInput) SetEmbed(v []*string) *GetResourceInput {
18466	s.Embed = v
18467	return s
18468}
18469
18470// SetResourceId sets the ResourceId field's value.
18471func (s *GetResourceInput) SetResourceId(v string) *GetResourceInput {
18472	s.ResourceId = &v
18473	return s
18474}
18475
18476// SetRestApiId sets the RestApiId field's value.
18477func (s *GetResourceInput) SetRestApiId(v string) *GetResourceInput {
18478	s.RestApiId = &v
18479	return s
18480}
18481
18482// Request to list information about a collection of resources.
18483type GetResourcesInput struct {
18484	_ struct{} `type:"structure"`
18485
18486	// A query parameter used to retrieve the specified resources embedded in the
18487	// returned Resources resource in the response. This embed parameter value is
18488	// a list of comma-separated strings. Currently, the request supports only retrieval
18489	// of the embedded Method resources this way. The query parameter value must
18490	// be a single-valued list and contain the "methods" string. For example, GET
18491	// /restapis/{restapi_id}/resources?embed=methods.
18492	Embed []*string `location:"querystring" locationName:"embed" type:"list"`
18493
18494	// The maximum number of returned results per page. The default value is 25
18495	// and the maximum value is 500.
18496	Limit *int64 `location:"querystring" locationName:"limit" type:"integer"`
18497
18498	// The current pagination position in the paged result set.
18499	Position *string `location:"querystring" locationName:"position" type:"string"`
18500
18501	// [Required] The string identifier of the associated RestApi.
18502	//
18503	// RestApiId is a required field
18504	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
18505}
18506
18507// String returns the string representation
18508func (s GetResourcesInput) String() string {
18509	return awsutil.Prettify(s)
18510}
18511
18512// GoString returns the string representation
18513func (s GetResourcesInput) GoString() string {
18514	return s.String()
18515}
18516
18517// Validate inspects the fields of the type to determine if they are valid.
18518func (s *GetResourcesInput) Validate() error {
18519	invalidParams := request.ErrInvalidParams{Context: "GetResourcesInput"}
18520	if s.RestApiId == nil {
18521		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
18522	}
18523	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
18524		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
18525	}
18526
18527	if invalidParams.Len() > 0 {
18528		return invalidParams
18529	}
18530	return nil
18531}
18532
18533// SetEmbed sets the Embed field's value.
18534func (s *GetResourcesInput) SetEmbed(v []*string) *GetResourcesInput {
18535	s.Embed = v
18536	return s
18537}
18538
18539// SetLimit sets the Limit field's value.
18540func (s *GetResourcesInput) SetLimit(v int64) *GetResourcesInput {
18541	s.Limit = &v
18542	return s
18543}
18544
18545// SetPosition sets the Position field's value.
18546func (s *GetResourcesInput) SetPosition(v string) *GetResourcesInput {
18547	s.Position = &v
18548	return s
18549}
18550
18551// SetRestApiId sets the RestApiId field's value.
18552func (s *GetResourcesInput) SetRestApiId(v string) *GetResourcesInput {
18553	s.RestApiId = &v
18554	return s
18555}
18556
18557// Represents a collection of Resource resources.
18558//
18559// Create an API (https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-create-api.html)
18560type GetResourcesOutput struct {
18561	_ struct{} `type:"structure"`
18562
18563	// The current page of elements from this collection.
18564	Items []*Resource `locationName:"item" type:"list"`
18565
18566	Position *string `locationName:"position" type:"string"`
18567}
18568
18569// String returns the string representation
18570func (s GetResourcesOutput) String() string {
18571	return awsutil.Prettify(s)
18572}
18573
18574// GoString returns the string representation
18575func (s GetResourcesOutput) GoString() string {
18576	return s.String()
18577}
18578
18579// SetItems sets the Items field's value.
18580func (s *GetResourcesOutput) SetItems(v []*Resource) *GetResourcesOutput {
18581	s.Items = v
18582	return s
18583}
18584
18585// SetPosition sets the Position field's value.
18586func (s *GetResourcesOutput) SetPosition(v string) *GetResourcesOutput {
18587	s.Position = &v
18588	return s
18589}
18590
18591// The GET request to list an existing RestApi defined for your collection.
18592type GetRestApiInput struct {
18593	_ struct{} `type:"structure"`
18594
18595	// [Required] The string identifier of the associated RestApi.
18596	//
18597	// RestApiId is a required field
18598	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
18599}
18600
18601// String returns the string representation
18602func (s GetRestApiInput) String() string {
18603	return awsutil.Prettify(s)
18604}
18605
18606// GoString returns the string representation
18607func (s GetRestApiInput) GoString() string {
18608	return s.String()
18609}
18610
18611// Validate inspects the fields of the type to determine if they are valid.
18612func (s *GetRestApiInput) Validate() error {
18613	invalidParams := request.ErrInvalidParams{Context: "GetRestApiInput"}
18614	if s.RestApiId == nil {
18615		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
18616	}
18617	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
18618		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
18619	}
18620
18621	if invalidParams.Len() > 0 {
18622		return invalidParams
18623	}
18624	return nil
18625}
18626
18627// SetRestApiId sets the RestApiId field's value.
18628func (s *GetRestApiInput) SetRestApiId(v string) *GetRestApiInput {
18629	s.RestApiId = &v
18630	return s
18631}
18632
18633// The GET request to list existing RestApis defined for your collection.
18634type GetRestApisInput struct {
18635	_ struct{} `type:"structure"`
18636
18637	// The maximum number of returned results per page. The default value is 25
18638	// and the maximum value is 500.
18639	Limit *int64 `location:"querystring" locationName:"limit" type:"integer"`
18640
18641	// The current pagination position in the paged result set.
18642	Position *string `location:"querystring" locationName:"position" type:"string"`
18643}
18644
18645// String returns the string representation
18646func (s GetRestApisInput) String() string {
18647	return awsutil.Prettify(s)
18648}
18649
18650// GoString returns the string representation
18651func (s GetRestApisInput) GoString() string {
18652	return s.String()
18653}
18654
18655// SetLimit sets the Limit field's value.
18656func (s *GetRestApisInput) SetLimit(v int64) *GetRestApisInput {
18657	s.Limit = &v
18658	return s
18659}
18660
18661// SetPosition sets the Position field's value.
18662func (s *GetRestApisInput) SetPosition(v string) *GetRestApisInput {
18663	s.Position = &v
18664	return s
18665}
18666
18667// Contains references to your APIs and links that guide you in how to interact
18668// with your collection. A collection offers a paginated view of your APIs.
18669//
18670// Create an API (https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-create-api.html)
18671type GetRestApisOutput struct {
18672	_ struct{} `type:"structure"`
18673
18674	// The current page of elements from this collection.
18675	Items []*RestApi `locationName:"item" type:"list"`
18676
18677	Position *string `locationName:"position" type:"string"`
18678}
18679
18680// String returns the string representation
18681func (s GetRestApisOutput) String() string {
18682	return awsutil.Prettify(s)
18683}
18684
18685// GoString returns the string representation
18686func (s GetRestApisOutput) GoString() string {
18687	return s.String()
18688}
18689
18690// SetItems sets the Items field's value.
18691func (s *GetRestApisOutput) SetItems(v []*RestApi) *GetRestApisOutput {
18692	s.Items = v
18693	return s
18694}
18695
18696// SetPosition sets the Position field's value.
18697func (s *GetRestApisOutput) SetPosition(v string) *GetRestApisOutput {
18698	s.Position = &v
18699	return s
18700}
18701
18702// Request a new generated client SDK for a RestApi and Stage.
18703type GetSdkInput struct {
18704	_ struct{} `type:"structure"`
18705
18706	// A string-to-string key-value map of query parameters sdkType-dependent properties
18707	// of the SDK. For sdkType of objectivec or swift, a parameter named classPrefix
18708	// is required. For sdkType of android, parameters named groupId, artifactId,
18709	// artifactVersion, and invokerPackage are required. For sdkType of java, parameters
18710	// named serviceName and javaPackageName are required.
18711	Parameters map[string]*string `location:"querystring" locationName:"parameters" type:"map"`
18712
18713	// [Required] The string identifier of the associated RestApi.
18714	//
18715	// RestApiId is a required field
18716	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
18717
18718	// [Required] The language for the generated SDK. Currently java, javascript,
18719	// android, objectivec (for iOS), swift (for iOS), and ruby are supported.
18720	//
18721	// SdkType is a required field
18722	SdkType *string `location:"uri" locationName:"sdk_type" type:"string" required:"true"`
18723
18724	// [Required] The name of the Stage that the SDK will use.
18725	//
18726	// StageName is a required field
18727	StageName *string `location:"uri" locationName:"stage_name" type:"string" required:"true"`
18728}
18729
18730// String returns the string representation
18731func (s GetSdkInput) String() string {
18732	return awsutil.Prettify(s)
18733}
18734
18735// GoString returns the string representation
18736func (s GetSdkInput) GoString() string {
18737	return s.String()
18738}
18739
18740// Validate inspects the fields of the type to determine if they are valid.
18741func (s *GetSdkInput) Validate() error {
18742	invalidParams := request.ErrInvalidParams{Context: "GetSdkInput"}
18743	if s.RestApiId == nil {
18744		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
18745	}
18746	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
18747		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
18748	}
18749	if s.SdkType == nil {
18750		invalidParams.Add(request.NewErrParamRequired("SdkType"))
18751	}
18752	if s.SdkType != nil && len(*s.SdkType) < 1 {
18753		invalidParams.Add(request.NewErrParamMinLen("SdkType", 1))
18754	}
18755	if s.StageName == nil {
18756		invalidParams.Add(request.NewErrParamRequired("StageName"))
18757	}
18758	if s.StageName != nil && len(*s.StageName) < 1 {
18759		invalidParams.Add(request.NewErrParamMinLen("StageName", 1))
18760	}
18761
18762	if invalidParams.Len() > 0 {
18763		return invalidParams
18764	}
18765	return nil
18766}
18767
18768// SetParameters sets the Parameters field's value.
18769func (s *GetSdkInput) SetParameters(v map[string]*string) *GetSdkInput {
18770	s.Parameters = v
18771	return s
18772}
18773
18774// SetRestApiId sets the RestApiId field's value.
18775func (s *GetSdkInput) SetRestApiId(v string) *GetSdkInput {
18776	s.RestApiId = &v
18777	return s
18778}
18779
18780// SetSdkType sets the SdkType field's value.
18781func (s *GetSdkInput) SetSdkType(v string) *GetSdkInput {
18782	s.SdkType = &v
18783	return s
18784}
18785
18786// SetStageName sets the StageName field's value.
18787func (s *GetSdkInput) SetStageName(v string) *GetSdkInput {
18788	s.StageName = &v
18789	return s
18790}
18791
18792// The binary blob response to GetSdk, which contains the generated SDK.
18793type GetSdkOutput struct {
18794	_ struct{} `type:"structure" payload:"Body"`
18795
18796	// The binary blob response to GetSdk, which contains the generated SDK.
18797	Body []byte `locationName:"body" type:"blob"`
18798
18799	// The content-disposition header value in the HTTP response.
18800	ContentDisposition *string `location:"header" locationName:"Content-Disposition" type:"string"`
18801
18802	// The content-type header value in the HTTP response.
18803	ContentType *string `location:"header" locationName:"Content-Type" type:"string"`
18804}
18805
18806// String returns the string representation
18807func (s GetSdkOutput) String() string {
18808	return awsutil.Prettify(s)
18809}
18810
18811// GoString returns the string representation
18812func (s GetSdkOutput) GoString() string {
18813	return s.String()
18814}
18815
18816// SetBody sets the Body field's value.
18817func (s *GetSdkOutput) SetBody(v []byte) *GetSdkOutput {
18818	s.Body = v
18819	return s
18820}
18821
18822// SetContentDisposition sets the ContentDisposition field's value.
18823func (s *GetSdkOutput) SetContentDisposition(v string) *GetSdkOutput {
18824	s.ContentDisposition = &v
18825	return s
18826}
18827
18828// SetContentType sets the ContentType field's value.
18829func (s *GetSdkOutput) SetContentType(v string) *GetSdkOutput {
18830	s.ContentType = &v
18831	return s
18832}
18833
18834// Get an SdkType instance.
18835type GetSdkTypeInput struct {
18836	_ struct{} `type:"structure"`
18837
18838	// [Required] The identifier of the queried SdkType instance.
18839	//
18840	// Id is a required field
18841	Id *string `location:"uri" locationName:"sdktype_id" type:"string" required:"true"`
18842}
18843
18844// String returns the string representation
18845func (s GetSdkTypeInput) String() string {
18846	return awsutil.Prettify(s)
18847}
18848
18849// GoString returns the string representation
18850func (s GetSdkTypeInput) GoString() string {
18851	return s.String()
18852}
18853
18854// Validate inspects the fields of the type to determine if they are valid.
18855func (s *GetSdkTypeInput) Validate() error {
18856	invalidParams := request.ErrInvalidParams{Context: "GetSdkTypeInput"}
18857	if s.Id == nil {
18858		invalidParams.Add(request.NewErrParamRequired("Id"))
18859	}
18860	if s.Id != nil && len(*s.Id) < 1 {
18861		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
18862	}
18863
18864	if invalidParams.Len() > 0 {
18865		return invalidParams
18866	}
18867	return nil
18868}
18869
18870// SetId sets the Id field's value.
18871func (s *GetSdkTypeInput) SetId(v string) *GetSdkTypeInput {
18872	s.Id = &v
18873	return s
18874}
18875
18876// Get the SdkTypes collection.
18877type GetSdkTypesInput struct {
18878	_ struct{} `type:"structure"`
18879
18880	// The maximum number of returned results per page. The default value is 25
18881	// and the maximum value is 500.
18882	Limit *int64 `location:"querystring" locationName:"limit" type:"integer"`
18883
18884	// The current pagination position in the paged result set.
18885	Position *string `location:"querystring" locationName:"position" type:"string"`
18886}
18887
18888// String returns the string representation
18889func (s GetSdkTypesInput) String() string {
18890	return awsutil.Prettify(s)
18891}
18892
18893// GoString returns the string representation
18894func (s GetSdkTypesInput) GoString() string {
18895	return s.String()
18896}
18897
18898// SetLimit sets the Limit field's value.
18899func (s *GetSdkTypesInput) SetLimit(v int64) *GetSdkTypesInput {
18900	s.Limit = &v
18901	return s
18902}
18903
18904// SetPosition sets the Position field's value.
18905func (s *GetSdkTypesInput) SetPosition(v string) *GetSdkTypesInput {
18906	s.Position = &v
18907	return s
18908}
18909
18910// The collection of SdkType instances.
18911type GetSdkTypesOutput struct {
18912	_ struct{} `type:"structure"`
18913
18914	// The current page of elements from this collection.
18915	Items []*SdkType `locationName:"item" type:"list"`
18916
18917	Position *string `locationName:"position" type:"string"`
18918}
18919
18920// String returns the string representation
18921func (s GetSdkTypesOutput) String() string {
18922	return awsutil.Prettify(s)
18923}
18924
18925// GoString returns the string representation
18926func (s GetSdkTypesOutput) GoString() string {
18927	return s.String()
18928}
18929
18930// SetItems sets the Items field's value.
18931func (s *GetSdkTypesOutput) SetItems(v []*SdkType) *GetSdkTypesOutput {
18932	s.Items = v
18933	return s
18934}
18935
18936// SetPosition sets the Position field's value.
18937func (s *GetSdkTypesOutput) SetPosition(v string) *GetSdkTypesOutput {
18938	s.Position = &v
18939	return s
18940}
18941
18942// Requests API Gateway to get information about a Stage resource.
18943type GetStageInput struct {
18944	_ struct{} `type:"structure"`
18945
18946	// [Required] The string identifier of the associated RestApi.
18947	//
18948	// RestApiId is a required field
18949	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
18950
18951	// [Required] The name of the Stage resource to get information about.
18952	//
18953	// StageName is a required field
18954	StageName *string `location:"uri" locationName:"stage_name" type:"string" required:"true"`
18955}
18956
18957// String returns the string representation
18958func (s GetStageInput) String() string {
18959	return awsutil.Prettify(s)
18960}
18961
18962// GoString returns the string representation
18963func (s GetStageInput) GoString() string {
18964	return s.String()
18965}
18966
18967// Validate inspects the fields of the type to determine if they are valid.
18968func (s *GetStageInput) Validate() error {
18969	invalidParams := request.ErrInvalidParams{Context: "GetStageInput"}
18970	if s.RestApiId == nil {
18971		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
18972	}
18973	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
18974		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
18975	}
18976	if s.StageName == nil {
18977		invalidParams.Add(request.NewErrParamRequired("StageName"))
18978	}
18979	if s.StageName != nil && len(*s.StageName) < 1 {
18980		invalidParams.Add(request.NewErrParamMinLen("StageName", 1))
18981	}
18982
18983	if invalidParams.Len() > 0 {
18984		return invalidParams
18985	}
18986	return nil
18987}
18988
18989// SetRestApiId sets the RestApiId field's value.
18990func (s *GetStageInput) SetRestApiId(v string) *GetStageInput {
18991	s.RestApiId = &v
18992	return s
18993}
18994
18995// SetStageName sets the StageName field's value.
18996func (s *GetStageInput) SetStageName(v string) *GetStageInput {
18997	s.StageName = &v
18998	return s
18999}
19000
19001// Requests API Gateway to get information about one or more Stage resources.
19002type GetStagesInput struct {
19003	_ struct{} `type:"structure"`
19004
19005	// The stages' deployment identifiers.
19006	DeploymentId *string `location:"querystring" locationName:"deploymentId" type:"string"`
19007
19008	// [Required] The string identifier of the associated RestApi.
19009	//
19010	// RestApiId is a required field
19011	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
19012}
19013
19014// String returns the string representation
19015func (s GetStagesInput) String() string {
19016	return awsutil.Prettify(s)
19017}
19018
19019// GoString returns the string representation
19020func (s GetStagesInput) GoString() string {
19021	return s.String()
19022}
19023
19024// Validate inspects the fields of the type to determine if they are valid.
19025func (s *GetStagesInput) Validate() error {
19026	invalidParams := request.ErrInvalidParams{Context: "GetStagesInput"}
19027	if s.RestApiId == nil {
19028		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
19029	}
19030	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
19031		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
19032	}
19033
19034	if invalidParams.Len() > 0 {
19035		return invalidParams
19036	}
19037	return nil
19038}
19039
19040// SetDeploymentId sets the DeploymentId field's value.
19041func (s *GetStagesInput) SetDeploymentId(v string) *GetStagesInput {
19042	s.DeploymentId = &v
19043	return s
19044}
19045
19046// SetRestApiId sets the RestApiId field's value.
19047func (s *GetStagesInput) SetRestApiId(v string) *GetStagesInput {
19048	s.RestApiId = &v
19049	return s
19050}
19051
19052// A list of Stage resources that are associated with the ApiKey resource.
19053//
19054// Deploying API in Stages (https://docs.aws.amazon.com/apigateway/latest/developerguide/stages.html)
19055type GetStagesOutput struct {
19056	_ struct{} `type:"structure"`
19057
19058	// The current page of elements from this collection.
19059	Item []*Stage `locationName:"item" type:"list"`
19060}
19061
19062// String returns the string representation
19063func (s GetStagesOutput) String() string {
19064	return awsutil.Prettify(s)
19065}
19066
19067// GoString returns the string representation
19068func (s GetStagesOutput) GoString() string {
19069	return s.String()
19070}
19071
19072// SetItem sets the Item field's value.
19073func (s *GetStagesOutput) SetItem(v []*Stage) *GetStagesOutput {
19074	s.Item = v
19075	return s
19076}
19077
19078// Gets the Tags collection for a given resource.
19079type GetTagsInput struct {
19080	_ struct{} `type:"structure"`
19081
19082	// (Not currently supported) The maximum number of returned results per page.
19083	// The default value is 25 and the maximum value is 500.
19084	Limit *int64 `location:"querystring" locationName:"limit" type:"integer"`
19085
19086	// (Not currently supported) The current pagination position in the paged result
19087	// set.
19088	Position *string `location:"querystring" locationName:"position" type:"string"`
19089
19090	// [Required] The ARN of a resource that can be tagged.
19091	//
19092	// ResourceArn is a required field
19093	ResourceArn *string `location:"uri" locationName:"resource_arn" type:"string" required:"true"`
19094}
19095
19096// String returns the string representation
19097func (s GetTagsInput) String() string {
19098	return awsutil.Prettify(s)
19099}
19100
19101// GoString returns the string representation
19102func (s GetTagsInput) GoString() string {
19103	return s.String()
19104}
19105
19106// Validate inspects the fields of the type to determine if they are valid.
19107func (s *GetTagsInput) Validate() error {
19108	invalidParams := request.ErrInvalidParams{Context: "GetTagsInput"}
19109	if s.ResourceArn == nil {
19110		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
19111	}
19112	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
19113		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
19114	}
19115
19116	if invalidParams.Len() > 0 {
19117		return invalidParams
19118	}
19119	return nil
19120}
19121
19122// SetLimit sets the Limit field's value.
19123func (s *GetTagsInput) SetLimit(v int64) *GetTagsInput {
19124	s.Limit = &v
19125	return s
19126}
19127
19128// SetPosition sets the Position field's value.
19129func (s *GetTagsInput) SetPosition(v string) *GetTagsInput {
19130	s.Position = &v
19131	return s
19132}
19133
19134// SetResourceArn sets the ResourceArn field's value.
19135func (s *GetTagsInput) SetResourceArn(v string) *GetTagsInput {
19136	s.ResourceArn = &v
19137	return s
19138}
19139
19140// The collection of tags. Each tag element is associated with a given resource.
19141type GetTagsOutput struct {
19142	_ struct{} `type:"structure"`
19143
19144	// The collection of tags. Each tag element is associated with a given resource.
19145	Tags map[string]*string `locationName:"tags" type:"map"`
19146}
19147
19148// String returns the string representation
19149func (s GetTagsOutput) String() string {
19150	return awsutil.Prettify(s)
19151}
19152
19153// GoString returns the string representation
19154func (s GetTagsOutput) GoString() string {
19155	return s.String()
19156}
19157
19158// SetTags sets the Tags field's value.
19159func (s *GetTagsOutput) SetTags(v map[string]*string) *GetTagsOutput {
19160	s.Tags = v
19161	return s
19162}
19163
19164// The GET request to get the usage data of a usage plan in a specified time
19165// interval.
19166type GetUsageInput struct {
19167	_ struct{} `type:"structure"`
19168
19169	// [Required] The ending date (e.g., 2016-12-31) of the usage data.
19170	//
19171	// EndDate is a required field
19172	EndDate *string `location:"querystring" locationName:"endDate" type:"string" required:"true"`
19173
19174	// The Id of the API key associated with the resultant usage data.
19175	KeyId *string `location:"querystring" locationName:"keyId" type:"string"`
19176
19177	// The maximum number of returned results per page. The default value is 25
19178	// and the maximum value is 500.
19179	Limit *int64 `location:"querystring" locationName:"limit" type:"integer"`
19180
19181	// The current pagination position in the paged result set.
19182	Position *string `location:"querystring" locationName:"position" type:"string"`
19183
19184	// [Required] The starting date (e.g., 2016-01-01) of the usage data.
19185	//
19186	// StartDate is a required field
19187	StartDate *string `location:"querystring" locationName:"startDate" type:"string" required:"true"`
19188
19189	// [Required] The Id of the usage plan associated with the usage data.
19190	//
19191	// UsagePlanId is a required field
19192	UsagePlanId *string `location:"uri" locationName:"usageplanId" type:"string" required:"true"`
19193}
19194
19195// String returns the string representation
19196func (s GetUsageInput) String() string {
19197	return awsutil.Prettify(s)
19198}
19199
19200// GoString returns the string representation
19201func (s GetUsageInput) GoString() string {
19202	return s.String()
19203}
19204
19205// Validate inspects the fields of the type to determine if they are valid.
19206func (s *GetUsageInput) Validate() error {
19207	invalidParams := request.ErrInvalidParams{Context: "GetUsageInput"}
19208	if s.EndDate == nil {
19209		invalidParams.Add(request.NewErrParamRequired("EndDate"))
19210	}
19211	if s.StartDate == nil {
19212		invalidParams.Add(request.NewErrParamRequired("StartDate"))
19213	}
19214	if s.UsagePlanId == nil {
19215		invalidParams.Add(request.NewErrParamRequired("UsagePlanId"))
19216	}
19217	if s.UsagePlanId != nil && len(*s.UsagePlanId) < 1 {
19218		invalidParams.Add(request.NewErrParamMinLen("UsagePlanId", 1))
19219	}
19220
19221	if invalidParams.Len() > 0 {
19222		return invalidParams
19223	}
19224	return nil
19225}
19226
19227// SetEndDate sets the EndDate field's value.
19228func (s *GetUsageInput) SetEndDate(v string) *GetUsageInput {
19229	s.EndDate = &v
19230	return s
19231}
19232
19233// SetKeyId sets the KeyId field's value.
19234func (s *GetUsageInput) SetKeyId(v string) *GetUsageInput {
19235	s.KeyId = &v
19236	return s
19237}
19238
19239// SetLimit sets the Limit field's value.
19240func (s *GetUsageInput) SetLimit(v int64) *GetUsageInput {
19241	s.Limit = &v
19242	return s
19243}
19244
19245// SetPosition sets the Position field's value.
19246func (s *GetUsageInput) SetPosition(v string) *GetUsageInput {
19247	s.Position = &v
19248	return s
19249}
19250
19251// SetStartDate sets the StartDate field's value.
19252func (s *GetUsageInput) SetStartDate(v string) *GetUsageInput {
19253	s.StartDate = &v
19254	return s
19255}
19256
19257// SetUsagePlanId sets the UsagePlanId field's value.
19258func (s *GetUsageInput) SetUsagePlanId(v string) *GetUsageInput {
19259	s.UsagePlanId = &v
19260	return s
19261}
19262
19263// The GET request to get a usage plan of a given plan identifier.
19264type GetUsagePlanInput struct {
19265	_ struct{} `type:"structure"`
19266
19267	// [Required] The identifier of the UsagePlan resource to be retrieved.
19268	//
19269	// UsagePlanId is a required field
19270	UsagePlanId *string `location:"uri" locationName:"usageplanId" type:"string" required:"true"`
19271}
19272
19273// String returns the string representation
19274func (s GetUsagePlanInput) String() string {
19275	return awsutil.Prettify(s)
19276}
19277
19278// GoString returns the string representation
19279func (s GetUsagePlanInput) GoString() string {
19280	return s.String()
19281}
19282
19283// Validate inspects the fields of the type to determine if they are valid.
19284func (s *GetUsagePlanInput) Validate() error {
19285	invalidParams := request.ErrInvalidParams{Context: "GetUsagePlanInput"}
19286	if s.UsagePlanId == nil {
19287		invalidParams.Add(request.NewErrParamRequired("UsagePlanId"))
19288	}
19289	if s.UsagePlanId != nil && len(*s.UsagePlanId) < 1 {
19290		invalidParams.Add(request.NewErrParamMinLen("UsagePlanId", 1))
19291	}
19292
19293	if invalidParams.Len() > 0 {
19294		return invalidParams
19295	}
19296	return nil
19297}
19298
19299// SetUsagePlanId sets the UsagePlanId field's value.
19300func (s *GetUsagePlanInput) SetUsagePlanId(v string) *GetUsagePlanInput {
19301	s.UsagePlanId = &v
19302	return s
19303}
19304
19305// The GET request to get a usage plan key of a given key identifier.
19306type GetUsagePlanKeyInput struct {
19307	_ struct{} `type:"structure"`
19308
19309	// [Required] The key Id of the to-be-retrieved UsagePlanKey resource representing
19310	// a plan customer.
19311	//
19312	// KeyId is a required field
19313	KeyId *string `location:"uri" locationName:"keyId" type:"string" required:"true"`
19314
19315	// [Required] The Id of the UsagePlan resource representing the usage plan containing
19316	// the to-be-retrieved UsagePlanKey resource representing a plan customer.
19317	//
19318	// UsagePlanId is a required field
19319	UsagePlanId *string `location:"uri" locationName:"usageplanId" type:"string" required:"true"`
19320}
19321
19322// String returns the string representation
19323func (s GetUsagePlanKeyInput) String() string {
19324	return awsutil.Prettify(s)
19325}
19326
19327// GoString returns the string representation
19328func (s GetUsagePlanKeyInput) GoString() string {
19329	return s.String()
19330}
19331
19332// Validate inspects the fields of the type to determine if they are valid.
19333func (s *GetUsagePlanKeyInput) Validate() error {
19334	invalidParams := request.ErrInvalidParams{Context: "GetUsagePlanKeyInput"}
19335	if s.KeyId == nil {
19336		invalidParams.Add(request.NewErrParamRequired("KeyId"))
19337	}
19338	if s.KeyId != nil && len(*s.KeyId) < 1 {
19339		invalidParams.Add(request.NewErrParamMinLen("KeyId", 1))
19340	}
19341	if s.UsagePlanId == nil {
19342		invalidParams.Add(request.NewErrParamRequired("UsagePlanId"))
19343	}
19344	if s.UsagePlanId != nil && len(*s.UsagePlanId) < 1 {
19345		invalidParams.Add(request.NewErrParamMinLen("UsagePlanId", 1))
19346	}
19347
19348	if invalidParams.Len() > 0 {
19349		return invalidParams
19350	}
19351	return nil
19352}
19353
19354// SetKeyId sets the KeyId field's value.
19355func (s *GetUsagePlanKeyInput) SetKeyId(v string) *GetUsagePlanKeyInput {
19356	s.KeyId = &v
19357	return s
19358}
19359
19360// SetUsagePlanId sets the UsagePlanId field's value.
19361func (s *GetUsagePlanKeyInput) SetUsagePlanId(v string) *GetUsagePlanKeyInput {
19362	s.UsagePlanId = &v
19363	return s
19364}
19365
19366// The GET request to get all the usage plan keys representing the API keys
19367// added to a specified usage plan.
19368type GetUsagePlanKeysInput struct {
19369	_ struct{} `type:"structure"`
19370
19371	// The maximum number of returned results per page. The default value is 25
19372	// and the maximum value is 500.
19373	Limit *int64 `location:"querystring" locationName:"limit" type:"integer"`
19374
19375	// A query parameter specifying the name of the to-be-returned usage plan keys.
19376	NameQuery *string `location:"querystring" locationName:"name" type:"string"`
19377
19378	// The current pagination position in the paged result set.
19379	Position *string `location:"querystring" locationName:"position" type:"string"`
19380
19381	// [Required] The Id of the UsagePlan resource representing the usage plan containing
19382	// the to-be-retrieved UsagePlanKey resource representing a plan customer.
19383	//
19384	// UsagePlanId is a required field
19385	UsagePlanId *string `location:"uri" locationName:"usageplanId" type:"string" required:"true"`
19386}
19387
19388// String returns the string representation
19389func (s GetUsagePlanKeysInput) String() string {
19390	return awsutil.Prettify(s)
19391}
19392
19393// GoString returns the string representation
19394func (s GetUsagePlanKeysInput) GoString() string {
19395	return s.String()
19396}
19397
19398// Validate inspects the fields of the type to determine if they are valid.
19399func (s *GetUsagePlanKeysInput) Validate() error {
19400	invalidParams := request.ErrInvalidParams{Context: "GetUsagePlanKeysInput"}
19401	if s.UsagePlanId == nil {
19402		invalidParams.Add(request.NewErrParamRequired("UsagePlanId"))
19403	}
19404	if s.UsagePlanId != nil && len(*s.UsagePlanId) < 1 {
19405		invalidParams.Add(request.NewErrParamMinLen("UsagePlanId", 1))
19406	}
19407
19408	if invalidParams.Len() > 0 {
19409		return invalidParams
19410	}
19411	return nil
19412}
19413
19414// SetLimit sets the Limit field's value.
19415func (s *GetUsagePlanKeysInput) SetLimit(v int64) *GetUsagePlanKeysInput {
19416	s.Limit = &v
19417	return s
19418}
19419
19420// SetNameQuery sets the NameQuery field's value.
19421func (s *GetUsagePlanKeysInput) SetNameQuery(v string) *GetUsagePlanKeysInput {
19422	s.NameQuery = &v
19423	return s
19424}
19425
19426// SetPosition sets the Position field's value.
19427func (s *GetUsagePlanKeysInput) SetPosition(v string) *GetUsagePlanKeysInput {
19428	s.Position = &v
19429	return s
19430}
19431
19432// SetUsagePlanId sets the UsagePlanId field's value.
19433func (s *GetUsagePlanKeysInput) SetUsagePlanId(v string) *GetUsagePlanKeysInput {
19434	s.UsagePlanId = &v
19435	return s
19436}
19437
19438// Represents the collection of usage plan keys added to usage plans for the
19439// associated API keys and, possibly, other types of keys.
19440//
19441// Create and Use Usage Plans (https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-api-usage-plans.html)
19442type GetUsagePlanKeysOutput struct {
19443	_ struct{} `type:"structure"`
19444
19445	// The current page of elements from this collection.
19446	Items []*UsagePlanKey `locationName:"item" type:"list"`
19447
19448	Position *string `locationName:"position" type:"string"`
19449}
19450
19451// String returns the string representation
19452func (s GetUsagePlanKeysOutput) String() string {
19453	return awsutil.Prettify(s)
19454}
19455
19456// GoString returns the string representation
19457func (s GetUsagePlanKeysOutput) GoString() string {
19458	return s.String()
19459}
19460
19461// SetItems sets the Items field's value.
19462func (s *GetUsagePlanKeysOutput) SetItems(v []*UsagePlanKey) *GetUsagePlanKeysOutput {
19463	s.Items = v
19464	return s
19465}
19466
19467// SetPosition sets the Position field's value.
19468func (s *GetUsagePlanKeysOutput) SetPosition(v string) *GetUsagePlanKeysOutput {
19469	s.Position = &v
19470	return s
19471}
19472
19473// The GET request to get all the usage plans of the caller's account.
19474type GetUsagePlansInput struct {
19475	_ struct{} `type:"structure"`
19476
19477	// The identifier of the API key associated with the usage plans.
19478	KeyId *string `location:"querystring" locationName:"keyId" type:"string"`
19479
19480	// The maximum number of returned results per page. The default value is 25
19481	// and the maximum value is 500.
19482	Limit *int64 `location:"querystring" locationName:"limit" type:"integer"`
19483
19484	// The current pagination position in the paged result set.
19485	Position *string `location:"querystring" locationName:"position" type:"string"`
19486}
19487
19488// String returns the string representation
19489func (s GetUsagePlansInput) String() string {
19490	return awsutil.Prettify(s)
19491}
19492
19493// GoString returns the string representation
19494func (s GetUsagePlansInput) GoString() string {
19495	return s.String()
19496}
19497
19498// SetKeyId sets the KeyId field's value.
19499func (s *GetUsagePlansInput) SetKeyId(v string) *GetUsagePlansInput {
19500	s.KeyId = &v
19501	return s
19502}
19503
19504// SetLimit sets the Limit field's value.
19505func (s *GetUsagePlansInput) SetLimit(v int64) *GetUsagePlansInput {
19506	s.Limit = &v
19507	return s
19508}
19509
19510// SetPosition sets the Position field's value.
19511func (s *GetUsagePlansInput) SetPosition(v string) *GetUsagePlansInput {
19512	s.Position = &v
19513	return s
19514}
19515
19516// Represents a collection of usage plans for an AWS account.
19517//
19518// Create and Use Usage Plans (https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-api-usage-plans.html)
19519type GetUsagePlansOutput struct {
19520	_ struct{} `type:"structure"`
19521
19522	// The current page of elements from this collection.
19523	Items []*UsagePlan `locationName:"item" type:"list"`
19524
19525	Position *string `locationName:"position" type:"string"`
19526}
19527
19528// String returns the string representation
19529func (s GetUsagePlansOutput) String() string {
19530	return awsutil.Prettify(s)
19531}
19532
19533// GoString returns the string representation
19534func (s GetUsagePlansOutput) GoString() string {
19535	return s.String()
19536}
19537
19538// SetItems sets the Items field's value.
19539func (s *GetUsagePlansOutput) SetItems(v []*UsagePlan) *GetUsagePlansOutput {
19540	s.Items = v
19541	return s
19542}
19543
19544// SetPosition sets the Position field's value.
19545func (s *GetUsagePlansOutput) SetPosition(v string) *GetUsagePlansOutput {
19546	s.Position = &v
19547	return s
19548}
19549
19550// Gets a specified VPC link under the caller's account in a region.
19551type GetVpcLinkInput struct {
19552	_ struct{} `type:"structure"`
19553
19554	// [Required] The identifier of the VpcLink. It is used in an Integration to
19555	// reference this VpcLink.
19556	//
19557	// VpcLinkId is a required field
19558	VpcLinkId *string `location:"uri" locationName:"vpclink_id" type:"string" required:"true"`
19559}
19560
19561// String returns the string representation
19562func (s GetVpcLinkInput) String() string {
19563	return awsutil.Prettify(s)
19564}
19565
19566// GoString returns the string representation
19567func (s GetVpcLinkInput) GoString() string {
19568	return s.String()
19569}
19570
19571// Validate inspects the fields of the type to determine if they are valid.
19572func (s *GetVpcLinkInput) Validate() error {
19573	invalidParams := request.ErrInvalidParams{Context: "GetVpcLinkInput"}
19574	if s.VpcLinkId == nil {
19575		invalidParams.Add(request.NewErrParamRequired("VpcLinkId"))
19576	}
19577	if s.VpcLinkId != nil && len(*s.VpcLinkId) < 1 {
19578		invalidParams.Add(request.NewErrParamMinLen("VpcLinkId", 1))
19579	}
19580
19581	if invalidParams.Len() > 0 {
19582		return invalidParams
19583	}
19584	return nil
19585}
19586
19587// SetVpcLinkId sets the VpcLinkId field's value.
19588func (s *GetVpcLinkInput) SetVpcLinkId(v string) *GetVpcLinkInput {
19589	s.VpcLinkId = &v
19590	return s
19591}
19592
19593// Gets the VpcLinks collection under the caller's account in a selected region.
19594type GetVpcLinksInput struct {
19595	_ struct{} `type:"structure"`
19596
19597	// The maximum number of returned results per page. The default value is 25
19598	// and the maximum value is 500.
19599	Limit *int64 `location:"querystring" locationName:"limit" type:"integer"`
19600
19601	// The current pagination position in the paged result set.
19602	Position *string `location:"querystring" locationName:"position" type:"string"`
19603}
19604
19605// String returns the string representation
19606func (s GetVpcLinksInput) String() string {
19607	return awsutil.Prettify(s)
19608}
19609
19610// GoString returns the string representation
19611func (s GetVpcLinksInput) GoString() string {
19612	return s.String()
19613}
19614
19615// SetLimit sets the Limit field's value.
19616func (s *GetVpcLinksInput) SetLimit(v int64) *GetVpcLinksInput {
19617	s.Limit = &v
19618	return s
19619}
19620
19621// SetPosition sets the Position field's value.
19622func (s *GetVpcLinksInput) SetPosition(v string) *GetVpcLinksInput {
19623	s.Position = &v
19624	return s
19625}
19626
19627// The collection of VPC links under the caller's account in a region.
19628//
19629// Getting Started with Private Integrations (https://docs.aws.amazon.com/apigateway/latest/developerguide/getting-started-with-private-integration.html),
19630// Set up Private Integrations (https://docs.aws.amazon.com/apigateway/latest/developerguide/set-up-private-integration.html)
19631type GetVpcLinksOutput struct {
19632	_ struct{} `type:"structure"`
19633
19634	// The current page of elements from this collection.
19635	Items []*UpdateVpcLinkOutput `locationName:"item" type:"list"`
19636
19637	Position *string `locationName:"position" type:"string"`
19638}
19639
19640// String returns the string representation
19641func (s GetVpcLinksOutput) String() string {
19642	return awsutil.Prettify(s)
19643}
19644
19645// GoString returns the string representation
19646func (s GetVpcLinksOutput) GoString() string {
19647	return s.String()
19648}
19649
19650// SetItems sets the Items field's value.
19651func (s *GetVpcLinksOutput) SetItems(v []*UpdateVpcLinkOutput) *GetVpcLinksOutput {
19652	s.Items = v
19653	return s
19654}
19655
19656// SetPosition sets the Position field's value.
19657func (s *GetVpcLinksOutput) SetPosition(v string) *GetVpcLinksOutput {
19658	s.Position = &v
19659	return s
19660}
19661
19662// The POST request to import API keys from an external source, such as a CSV-formatted
19663// file.
19664type ImportApiKeysInput struct {
19665	_ struct{} `type:"structure" payload:"Body"`
19666
19667	// The payload of the POST request to import API keys. For the payload format,
19668	// see API Key File Format (https://docs.aws.amazon.com/apigateway/latest/developerguide/api-key-file-format.html).
19669	//
19670	// Body is a required field
19671	Body []byte `locationName:"body" type:"blob" required:"true"`
19672
19673	// A query parameter to indicate whether to rollback ApiKey importation (true)
19674	// or not (false) when error is encountered.
19675	FailOnWarnings *bool `location:"querystring" locationName:"failonwarnings" type:"boolean"`
19676
19677	// A query parameter to specify the input format to imported API keys. Currently,
19678	// only the csv format is supported.
19679	//
19680	// Format is a required field
19681	Format *string `location:"querystring" locationName:"format" type:"string" required:"true" enum:"ApiKeysFormat"`
19682}
19683
19684// String returns the string representation
19685func (s ImportApiKeysInput) String() string {
19686	return awsutil.Prettify(s)
19687}
19688
19689// GoString returns the string representation
19690func (s ImportApiKeysInput) GoString() string {
19691	return s.String()
19692}
19693
19694// Validate inspects the fields of the type to determine if they are valid.
19695func (s *ImportApiKeysInput) Validate() error {
19696	invalidParams := request.ErrInvalidParams{Context: "ImportApiKeysInput"}
19697	if s.Body == nil {
19698		invalidParams.Add(request.NewErrParamRequired("Body"))
19699	}
19700	if s.Format == nil {
19701		invalidParams.Add(request.NewErrParamRequired("Format"))
19702	}
19703
19704	if invalidParams.Len() > 0 {
19705		return invalidParams
19706	}
19707	return nil
19708}
19709
19710// SetBody sets the Body field's value.
19711func (s *ImportApiKeysInput) SetBody(v []byte) *ImportApiKeysInput {
19712	s.Body = v
19713	return s
19714}
19715
19716// SetFailOnWarnings sets the FailOnWarnings field's value.
19717func (s *ImportApiKeysInput) SetFailOnWarnings(v bool) *ImportApiKeysInput {
19718	s.FailOnWarnings = &v
19719	return s
19720}
19721
19722// SetFormat sets the Format field's value.
19723func (s *ImportApiKeysInput) SetFormat(v string) *ImportApiKeysInput {
19724	s.Format = &v
19725	return s
19726}
19727
19728// The identifier of an ApiKey used in a UsagePlan.
19729type ImportApiKeysOutput struct {
19730	_ struct{} `type:"structure"`
19731
19732	// A list of all the ApiKey identifiers.
19733	Ids []*string `locationName:"ids" type:"list"`
19734
19735	// A list of warning messages.
19736	Warnings []*string `locationName:"warnings" type:"list"`
19737}
19738
19739// String returns the string representation
19740func (s ImportApiKeysOutput) String() string {
19741	return awsutil.Prettify(s)
19742}
19743
19744// GoString returns the string representation
19745func (s ImportApiKeysOutput) GoString() string {
19746	return s.String()
19747}
19748
19749// SetIds sets the Ids field's value.
19750func (s *ImportApiKeysOutput) SetIds(v []*string) *ImportApiKeysOutput {
19751	s.Ids = v
19752	return s
19753}
19754
19755// SetWarnings sets the Warnings field's value.
19756func (s *ImportApiKeysOutput) SetWarnings(v []*string) *ImportApiKeysOutput {
19757	s.Warnings = v
19758	return s
19759}
19760
19761// Import documentation parts from an external (e.g., OpenAPI) definition file.
19762type ImportDocumentationPartsInput struct {
19763	_ struct{} `type:"structure" payload:"Body"`
19764
19765	// [Required] Raw byte array representing the to-be-imported documentation parts.
19766	// To import from an OpenAPI file, this is a JSON object.
19767	//
19768	// Body is a required field
19769	Body []byte `locationName:"body" type:"blob" required:"true"`
19770
19771	// A query parameter to specify whether to rollback the documentation importation
19772	// (true) or not (false) when a warning is encountered. The default value is
19773	// false.
19774	FailOnWarnings *bool `location:"querystring" locationName:"failonwarnings" type:"boolean"`
19775
19776	// A query parameter to indicate whether to overwrite (OVERWRITE) any existing
19777	// DocumentationParts definition or to merge (MERGE) the new definition into
19778	// the existing one. The default value is MERGE.
19779	Mode *string `location:"querystring" locationName:"mode" type:"string" enum:"PutMode"`
19780
19781	// [Required] The string identifier of the associated RestApi.
19782	//
19783	// RestApiId is a required field
19784	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
19785}
19786
19787// String returns the string representation
19788func (s ImportDocumentationPartsInput) String() string {
19789	return awsutil.Prettify(s)
19790}
19791
19792// GoString returns the string representation
19793func (s ImportDocumentationPartsInput) GoString() string {
19794	return s.String()
19795}
19796
19797// Validate inspects the fields of the type to determine if they are valid.
19798func (s *ImportDocumentationPartsInput) Validate() error {
19799	invalidParams := request.ErrInvalidParams{Context: "ImportDocumentationPartsInput"}
19800	if s.Body == nil {
19801		invalidParams.Add(request.NewErrParamRequired("Body"))
19802	}
19803	if s.RestApiId == nil {
19804		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
19805	}
19806	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
19807		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
19808	}
19809
19810	if invalidParams.Len() > 0 {
19811		return invalidParams
19812	}
19813	return nil
19814}
19815
19816// SetBody sets the Body field's value.
19817func (s *ImportDocumentationPartsInput) SetBody(v []byte) *ImportDocumentationPartsInput {
19818	s.Body = v
19819	return s
19820}
19821
19822// SetFailOnWarnings sets the FailOnWarnings field's value.
19823func (s *ImportDocumentationPartsInput) SetFailOnWarnings(v bool) *ImportDocumentationPartsInput {
19824	s.FailOnWarnings = &v
19825	return s
19826}
19827
19828// SetMode sets the Mode field's value.
19829func (s *ImportDocumentationPartsInput) SetMode(v string) *ImportDocumentationPartsInput {
19830	s.Mode = &v
19831	return s
19832}
19833
19834// SetRestApiId sets the RestApiId field's value.
19835func (s *ImportDocumentationPartsInput) SetRestApiId(v string) *ImportDocumentationPartsInput {
19836	s.RestApiId = &v
19837	return s
19838}
19839
19840// A collection of the imported DocumentationPart identifiers.
19841//
19842// This is used to return the result when documentation parts in an external
19843// (e.g., OpenAPI) file are imported into API Gateway
19844//
19845// Documenting an API (https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-documenting-api.html),
19846// documentationpart:import (https://docs.aws.amazon.com/apigateway/api-reference/link-relation/documentationpart-import/),
19847// DocumentationPart
19848type ImportDocumentationPartsOutput struct {
19849	_ struct{} `type:"structure"`
19850
19851	// A list of the returned documentation part identifiers.
19852	Ids []*string `locationName:"ids" type:"list"`
19853
19854	// A list of warning messages reported during import of documentation parts.
19855	Warnings []*string `locationName:"warnings" type:"list"`
19856}
19857
19858// String returns the string representation
19859func (s ImportDocumentationPartsOutput) String() string {
19860	return awsutil.Prettify(s)
19861}
19862
19863// GoString returns the string representation
19864func (s ImportDocumentationPartsOutput) GoString() string {
19865	return s.String()
19866}
19867
19868// SetIds sets the Ids field's value.
19869func (s *ImportDocumentationPartsOutput) SetIds(v []*string) *ImportDocumentationPartsOutput {
19870	s.Ids = v
19871	return s
19872}
19873
19874// SetWarnings sets the Warnings field's value.
19875func (s *ImportDocumentationPartsOutput) SetWarnings(v []*string) *ImportDocumentationPartsOutput {
19876	s.Warnings = v
19877	return s
19878}
19879
19880// A POST request to import an API to API Gateway using an input of an API definition
19881// file.
19882type ImportRestApiInput struct {
19883	_ struct{} `type:"structure" payload:"Body"`
19884
19885	// [Required] The POST request body containing external API definitions. Currently,
19886	// only OpenAPI definition JSON/YAML files are supported. The maximum size of
19887	// the API definition file is 6MB.
19888	//
19889	// Body is a required field
19890	Body []byte `locationName:"body" type:"blob" required:"true"`
19891
19892	// A query parameter to indicate whether to rollback the API creation (true)
19893	// or not (false) when a warning is encountered. The default value is false.
19894	FailOnWarnings *bool `location:"querystring" locationName:"failonwarnings" type:"boolean"`
19895
19896	// A key-value map of context-specific query string parameters specifying the
19897	// behavior of different API importing operations. The following shows operation-specific
19898	// parameters and their supported values.
19899	//
19900	// To exclude DocumentationParts from the import, set parameters as ignore=documentation.
19901	//
19902	// To configure the endpoint type, set parameters as endpointConfigurationTypes=EDGE,
19903	// endpointConfigurationTypes=REGIONAL, or endpointConfigurationTypes=PRIVATE.
19904	// The default endpoint type is EDGE.
19905	//
19906	// To handle imported basepath, set parameters as basepath=ignore, basepath=prepend
19907	// or basepath=split.
19908	//
19909	// For example, the AWS CLI command to exclude documentation from the imported
19910	// API is:
19911	//
19912	//    aws apigateway import-rest-api --parameters ignore=documentation --body
19913	//    'file:///path/to/imported-api-body.json'
19914	//
19915	// The AWS CLI command to set the regional endpoint on the imported API is:
19916	//
19917	//    aws apigateway import-rest-api --parameters endpointConfigurationTypes=REGIONAL
19918	//    --body 'file:///path/to/imported-api-body.json'
19919	Parameters map[string]*string `location:"querystring" locationName:"parameters" type:"map"`
19920}
19921
19922// String returns the string representation
19923func (s ImportRestApiInput) String() string {
19924	return awsutil.Prettify(s)
19925}
19926
19927// GoString returns the string representation
19928func (s ImportRestApiInput) GoString() string {
19929	return s.String()
19930}
19931
19932// Validate inspects the fields of the type to determine if they are valid.
19933func (s *ImportRestApiInput) Validate() error {
19934	invalidParams := request.ErrInvalidParams{Context: "ImportRestApiInput"}
19935	if s.Body == nil {
19936		invalidParams.Add(request.NewErrParamRequired("Body"))
19937	}
19938
19939	if invalidParams.Len() > 0 {
19940		return invalidParams
19941	}
19942	return nil
19943}
19944
19945// SetBody sets the Body field's value.
19946func (s *ImportRestApiInput) SetBody(v []byte) *ImportRestApiInput {
19947	s.Body = v
19948	return s
19949}
19950
19951// SetFailOnWarnings sets the FailOnWarnings field's value.
19952func (s *ImportRestApiInput) SetFailOnWarnings(v bool) *ImportRestApiInput {
19953	s.FailOnWarnings = &v
19954	return s
19955}
19956
19957// SetParameters sets the Parameters field's value.
19958func (s *ImportRestApiInput) SetParameters(v map[string]*string) *ImportRestApiInput {
19959	s.Parameters = v
19960	return s
19961}
19962
19963// Represents an HTTP, HTTP_PROXY, AWS, AWS_PROXY, or Mock integration.
19964//
19965// In the API Gateway console, the built-in Lambda integration is an AWS integration.
19966//
19967// Creating an API (https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-create-api.html)
19968type Integration struct {
19969	_ struct{} `type:"structure"`
19970
19971	// A list of request parameters whose values API Gateway caches. To be valid
19972	// values for cacheKeyParameters, these parameters must also be specified for
19973	// Method requestParameters.
19974	CacheKeyParameters []*string `locationName:"cacheKeyParameters" type:"list"`
19975
19976	// Specifies a group of related cached parameters. By default, API Gateway uses
19977	// the resource ID as the cacheNamespace. You can specify the same cacheNamespace
19978	// across resources to return the same cached data for requests to different
19979	// resources.
19980	CacheNamespace *string `locationName:"cacheNamespace" type:"string"`
19981
19982	// The (id (https://docs.aws.amazon.com/apigateway/api-reference/resource/vpc-link/#id))
19983	// of the VpcLink used for the integration when connectionType=VPC_LINK and
19984	// undefined, otherwise.
19985	ConnectionId *string `locationName:"connectionId" type:"string"`
19986
19987	// The type of the network connection to the integration endpoint. The valid
19988	// value is INTERNET for connections through the public routable internet or
19989	// VPC_LINK for private connections between API Gateway and a network load balancer
19990	// in a VPC. The default value is INTERNET.
19991	ConnectionType *string `locationName:"connectionType" type:"string" enum:"ConnectionType"`
19992
19993	// Specifies how to handle request payload content type conversions. Supported
19994	// values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with the following behaviors:
19995	//
19996	//    * CONVERT_TO_BINARY: Converts a request payload from a Base64-encoded
19997	//    string to the corresponding binary blob.
19998	//
19999	//    * CONVERT_TO_TEXT: Converts a request payload from a binary blob to a
20000	//    Base64-encoded string.
20001	//
20002	// If this property is not defined, the request payload will be passed through
20003	// from the method request to integration request without modification, provided
20004	// that the passthroughBehavior is configured to support payload pass-through.
20005	ContentHandling *string `locationName:"contentHandling" type:"string" enum:"ContentHandlingStrategy"`
20006
20007	// Specifies the credentials required for the integration, if any. For AWS integrations,
20008	// three options are available. To specify an IAM Role for API Gateway to assume,
20009	// use the role's Amazon Resource Name (ARN). To require that the caller's identity
20010	// be passed through from the request, specify the string arn:aws:iam::\*:user/\*.
20011	// To use resource-based permissions on supported AWS services, specify null.
20012	Credentials *string `locationName:"credentials" type:"string"`
20013
20014	// Specifies the integration's HTTP method type.
20015	HttpMethod *string `locationName:"httpMethod" type:"string"`
20016
20017	// Specifies the integration's responses.
20018	//
20019	// Example: Get integration responses of a method
20020	//
20021	// Request
20022	//   GET /restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200
20023	//   HTTP/1.1 Content-Type: application/json Host: apigateway.us-east-1.amazonaws.com
20024	//   X-Amz-Date: 20160607T191449Z Authorization: AWS4-HMAC-SHA256 Credential={access_key_ID}/20160607/us-east-1/apigateway/aws4_request,
20025	//   SignedHeaders=content-type;host;x-amz-date, Signature={sig4_hash}
20026	// Response
20027	//
20028	// The successful response returns 200 OK status and a payload as follows:
20029	//  { "_links": { "curies": { "href": "https://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-integration-response-{rel}.html",
20030	//  "name": "integrationresponse", "templated": true }, "self": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200",
20031	//  "title": "200" }, "integrationresponse:delete": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200"
20032	//  }, "integrationresponse:update": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200"
20033	//  } }, "responseParameters": { "method.response.header.Content-Type": "'application/xml'"
20034	//  }, "responseTemplates": { "application/json": "$util.urlDecode(\"%3CkinesisStreams%3E#foreach($stream
20035	//  in $input.path('$.StreamNames'))%3Cstream%3E%3Cname%3E$stream%3C/name%3E%3C/stream%3E#end%3C/kinesisStreams%3E\")\n"
20036	//  }, "statusCode": "200" }
20037	//
20038	// Creating an API (https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-create-api.html)
20039	IntegrationResponses map[string]*IntegrationResponse `locationName:"integrationResponses" type:"map"`
20040
20041	// Specifies how the method request body of an unmapped content type will be
20042	// passed through the integration request to the back end without transformation.
20043	// A content type is unmapped if no mapping template is defined in the integration
20044	// or the content type does not match any of the mapped content types, as specified
20045	// in requestTemplates. The valid value is one of the following:
20046	//
20047	//    * WHEN_NO_MATCH: passes the method request body through the integration
20048	//    request to the back end without transformation when the method request
20049	//    content type does not match any content type associated with the mapping
20050	//    templates defined in the integration request.
20051	//
20052	//    * WHEN_NO_TEMPLATES: passes the method request body through the integration
20053	//    request to the back end without transformation when no mapping template
20054	//    is defined in the integration request. If a template is defined when this
20055	//    option is selected, the method request of an unmapped content-type will
20056	//    be rejected with an HTTP 415 Unsupported Media Type response.
20057	//
20058	//    * NEVER: rejects the method request with an HTTP 415 Unsupported Media
20059	//    Type response when either the method request content type does not match
20060	//    any content type associated with the mapping templates defined in the
20061	//    integration request or no mapping template is defined in the integration
20062	//    request.
20063	PassthroughBehavior *string `locationName:"passthroughBehavior" type:"string"`
20064
20065	// A key-value map specifying request parameters that are passed from the method
20066	// request to the back end. The key is an integration request parameter name
20067	// and the associated value is a method request parameter value or static value
20068	// that must be enclosed within single quotes and pre-encoded as required by
20069	// the back end. The method request parameter value must match the pattern of
20070	// method.request.{location}.{name}, where location is querystring, path, or
20071	// header and name must be a valid and unique method request parameter name.
20072	RequestParameters map[string]*string `locationName:"requestParameters" type:"map"`
20073
20074	// Represents a map of Velocity templates that are applied on the request payload
20075	// based on the value of the Content-Type header sent by the client. The content
20076	// type value is the key in this map, and the template (as a String) is the
20077	// value.
20078	RequestTemplates map[string]*string `locationName:"requestTemplates" type:"map"`
20079
20080	// Custom timeout between 50 and 29,000 milliseconds. The default value is 29,000
20081	// milliseconds or 29 seconds.
20082	TimeoutInMillis *int64 `locationName:"timeoutInMillis" type:"integer"`
20083
20084	// Specifies the TLS configuration for an integration.
20085	TlsConfig *TlsConfig `locationName:"tlsConfig" type:"structure"`
20086
20087	// Specifies an API method integration type. The valid value is one of the following:
20088	//
20089	//    * AWS: for integrating the API method request with an AWS service action,
20090	//    including the Lambda function-invoking action. With the Lambda function-invoking
20091	//    action, this is referred to as the Lambda custom integration. With any
20092	//    other AWS service action, this is known as AWS integration.
20093	//
20094	//    * AWS_PROXY: for integrating the API method request with the Lambda function-invoking
20095	//    action with the client request passed through as-is. This integration
20096	//    is also referred to as the Lambda proxy integration.
20097	//
20098	//    * HTTP: for integrating the API method request with an HTTP endpoint,
20099	//    including a private HTTP endpoint within a VPC. This integration is also
20100	//    referred to as the HTTP custom integration.
20101	//
20102	//    * HTTP_PROXY: for integrating the API method request with an HTTP endpoint,
20103	//    including a private HTTP endpoint within a VPC, with the client request
20104	//    passed through as-is. This is also referred to as the HTTP proxy integration.
20105	//
20106	//    * MOCK: for integrating the API method request with API Gateway as a "loop-back"
20107	//    endpoint without invoking any backend.
20108	//
20109	// For the HTTP and HTTP proxy integrations, each integration can specify a
20110	// protocol (http/https), port and path. Standard 80 and 443 ports are supported
20111	// as well as custom ports above 1024. An HTTP or HTTP proxy integration with
20112	// a connectionType of VPC_LINK is referred to as a private integration and
20113	// uses a VpcLink to connect API Gateway to a network load balancer of a VPC.
20114	Type *string `locationName:"type" type:"string" enum:"IntegrationType"`
20115
20116	// Specifies Uniform Resource Identifier (URI) of the integration endpoint.
20117	//
20118	//    * For HTTP or HTTP_PROXY integrations, the URI must be a fully formed,
20119	//    encoded HTTP(S) URL according to the RFC-3986 specification (https://en.wikipedia.org/wiki/Uniform_Resource_Identifier),
20120	//    for either standard integration, where connectionType is not VPC_LINK,
20121	//    or private integration, where connectionType is VPC_LINK. For a private
20122	//    HTTP integration, the URI is not used for routing.
20123	//
20124	//    * For AWS or AWS_PROXY integrations, the URI is of the form arn:aws:apigateway:{region}:{subdomain.service|service}:path|action/{service_api}.
20125	//    Here, {Region} is the API Gateway region (e.g., us-east-1); {service}
20126	//    is the name of the integrated AWS service (e.g., s3); and {subdomain}
20127	//    is a designated subdomain supported by certain AWS service for fast host-name
20128	//    lookup. action can be used for an AWS service action-based API, using
20129	//    an Action={name}&{p1}={v1}&p2={v2}... query string. The ensuing {service_api}
20130	//    refers to a supported action {name} plus any required input parameters.
20131	//    Alternatively, path can be used for an AWS service path-based API. The
20132	//    ensuing service_api refers to the path to an AWS service resource, including
20133	//    the region of the integrated AWS service, if applicable. For example,
20134	//    for integration with the S3 API of GetObject (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectGET.html),
20135	//    the uri can be either arn:aws:apigateway:us-west-2:s3:action/GetObject&Bucket={bucket}&Key={key}
20136	//    or arn:aws:apigateway:us-west-2:s3:path/{bucket}/{key}
20137	Uri *string `locationName:"uri" type:"string"`
20138}
20139
20140// String returns the string representation
20141func (s Integration) String() string {
20142	return awsutil.Prettify(s)
20143}
20144
20145// GoString returns the string representation
20146func (s Integration) GoString() string {
20147	return s.String()
20148}
20149
20150// SetCacheKeyParameters sets the CacheKeyParameters field's value.
20151func (s *Integration) SetCacheKeyParameters(v []*string) *Integration {
20152	s.CacheKeyParameters = v
20153	return s
20154}
20155
20156// SetCacheNamespace sets the CacheNamespace field's value.
20157func (s *Integration) SetCacheNamespace(v string) *Integration {
20158	s.CacheNamespace = &v
20159	return s
20160}
20161
20162// SetConnectionId sets the ConnectionId field's value.
20163func (s *Integration) SetConnectionId(v string) *Integration {
20164	s.ConnectionId = &v
20165	return s
20166}
20167
20168// SetConnectionType sets the ConnectionType field's value.
20169func (s *Integration) SetConnectionType(v string) *Integration {
20170	s.ConnectionType = &v
20171	return s
20172}
20173
20174// SetContentHandling sets the ContentHandling field's value.
20175func (s *Integration) SetContentHandling(v string) *Integration {
20176	s.ContentHandling = &v
20177	return s
20178}
20179
20180// SetCredentials sets the Credentials field's value.
20181func (s *Integration) SetCredentials(v string) *Integration {
20182	s.Credentials = &v
20183	return s
20184}
20185
20186// SetHttpMethod sets the HttpMethod field's value.
20187func (s *Integration) SetHttpMethod(v string) *Integration {
20188	s.HttpMethod = &v
20189	return s
20190}
20191
20192// SetIntegrationResponses sets the IntegrationResponses field's value.
20193func (s *Integration) SetIntegrationResponses(v map[string]*IntegrationResponse) *Integration {
20194	s.IntegrationResponses = v
20195	return s
20196}
20197
20198// SetPassthroughBehavior sets the PassthroughBehavior field's value.
20199func (s *Integration) SetPassthroughBehavior(v string) *Integration {
20200	s.PassthroughBehavior = &v
20201	return s
20202}
20203
20204// SetRequestParameters sets the RequestParameters field's value.
20205func (s *Integration) SetRequestParameters(v map[string]*string) *Integration {
20206	s.RequestParameters = v
20207	return s
20208}
20209
20210// SetRequestTemplates sets the RequestTemplates field's value.
20211func (s *Integration) SetRequestTemplates(v map[string]*string) *Integration {
20212	s.RequestTemplates = v
20213	return s
20214}
20215
20216// SetTimeoutInMillis sets the TimeoutInMillis field's value.
20217func (s *Integration) SetTimeoutInMillis(v int64) *Integration {
20218	s.TimeoutInMillis = &v
20219	return s
20220}
20221
20222// SetTlsConfig sets the TlsConfig field's value.
20223func (s *Integration) SetTlsConfig(v *TlsConfig) *Integration {
20224	s.TlsConfig = v
20225	return s
20226}
20227
20228// SetType sets the Type field's value.
20229func (s *Integration) SetType(v string) *Integration {
20230	s.Type = &v
20231	return s
20232}
20233
20234// SetUri sets the Uri field's value.
20235func (s *Integration) SetUri(v string) *Integration {
20236	s.Uri = &v
20237	return s
20238}
20239
20240// Represents an integration response. The status code must map to an existing
20241// MethodResponse, and parameters and templates can be used to transform the
20242// back-end response.
20243//
20244// Creating an API (https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-create-api.html)
20245type IntegrationResponse struct {
20246	_ struct{} `type:"structure"`
20247
20248	// Specifies how to handle response payload content type conversions. Supported
20249	// values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with the following behaviors:
20250	//
20251	//    * CONVERT_TO_BINARY: Converts a response payload from a Base64-encoded
20252	//    string to the corresponding binary blob.
20253	//
20254	//    * CONVERT_TO_TEXT: Converts a response payload from a binary blob to a
20255	//    Base64-encoded string.
20256	//
20257	// If this property is not defined, the response payload will be passed through
20258	// from the integration response to the method response without modification.
20259	ContentHandling *string `locationName:"contentHandling" type:"string" enum:"ContentHandlingStrategy"`
20260
20261	// A key-value map specifying response parameters that are passed to the method
20262	// response from the back end. The key is a method response header parameter
20263	// name and the mapped value is an integration response header value, a static
20264	// value enclosed within a pair of single quotes, or a JSON expression from
20265	// the integration response body. The mapping key must match the pattern of
20266	// method.response.header.{name}, where name is a valid and unique header name.
20267	// The mapped non-static value must match the pattern of integration.response.header.{name}
20268	// or integration.response.body.{JSON-expression}, where name is a valid and
20269	// unique response header name and JSON-expression is a valid JSON expression
20270	// without the $ prefix.
20271	ResponseParameters map[string]*string `locationName:"responseParameters" type:"map"`
20272
20273	// Specifies the templates used to transform the integration response body.
20274	// Response templates are represented as a key/value map, with a content-type
20275	// as the key and a template as the value.
20276	ResponseTemplates map[string]*string `locationName:"responseTemplates" type:"map"`
20277
20278	// Specifies the regular expression (regex) pattern used to choose an integration
20279	// response based on the response from the back end. For example, if the success
20280	// response returns nothing and the error response returns some string, you
20281	// could use the .+ regex to match error response. However, make sure that the
20282	// error response does not contain any newline (\n) character in such cases.
20283	// If the back end is an AWS Lambda function, the AWS Lambda function error
20284	// header is matched. For all other HTTP and AWS back ends, the HTTP status
20285	// code is matched.
20286	SelectionPattern *string `locationName:"selectionPattern" type:"string"`
20287
20288	// Specifies the status code that is used to map the integration response to
20289	// an existing MethodResponse.
20290	StatusCode *string `locationName:"statusCode" type:"string"`
20291}
20292
20293// String returns the string representation
20294func (s IntegrationResponse) String() string {
20295	return awsutil.Prettify(s)
20296}
20297
20298// GoString returns the string representation
20299func (s IntegrationResponse) GoString() string {
20300	return s.String()
20301}
20302
20303// SetContentHandling sets the ContentHandling field's value.
20304func (s *IntegrationResponse) SetContentHandling(v string) *IntegrationResponse {
20305	s.ContentHandling = &v
20306	return s
20307}
20308
20309// SetResponseParameters sets the ResponseParameters field's value.
20310func (s *IntegrationResponse) SetResponseParameters(v map[string]*string) *IntegrationResponse {
20311	s.ResponseParameters = v
20312	return s
20313}
20314
20315// SetResponseTemplates sets the ResponseTemplates field's value.
20316func (s *IntegrationResponse) SetResponseTemplates(v map[string]*string) *IntegrationResponse {
20317	s.ResponseTemplates = v
20318	return s
20319}
20320
20321// SetSelectionPattern sets the SelectionPattern field's value.
20322func (s *IntegrationResponse) SetSelectionPattern(v string) *IntegrationResponse {
20323	s.SelectionPattern = &v
20324	return s
20325}
20326
20327// SetStatusCode sets the StatusCode field's value.
20328func (s *IntegrationResponse) SetStatusCode(v string) *IntegrationResponse {
20329	s.StatusCode = &v
20330	return s
20331}
20332
20333// The request exceeded the rate limit. Retry after the specified time period.
20334type LimitExceededException struct {
20335	_            struct{}                  `type:"structure"`
20336	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
20337
20338	Message_ *string `locationName:"message" type:"string"`
20339
20340	RetryAfterSeconds *string `location:"header" locationName:"Retry-After" type:"string"`
20341}
20342
20343// String returns the string representation
20344func (s LimitExceededException) String() string {
20345	return awsutil.Prettify(s)
20346}
20347
20348// GoString returns the string representation
20349func (s LimitExceededException) GoString() string {
20350	return s.String()
20351}
20352
20353func newErrorLimitExceededException(v protocol.ResponseMetadata) error {
20354	return &LimitExceededException{
20355		RespMetadata: v,
20356	}
20357}
20358
20359// Code returns the exception type name.
20360func (s *LimitExceededException) Code() string {
20361	return "LimitExceededException"
20362}
20363
20364// Message returns the exception's message.
20365func (s *LimitExceededException) Message() string {
20366	if s.Message_ != nil {
20367		return *s.Message_
20368	}
20369	return ""
20370}
20371
20372// OrigErr always returns nil, satisfies awserr.Error interface.
20373func (s *LimitExceededException) OrigErr() error {
20374	return nil
20375}
20376
20377func (s *LimitExceededException) Error() string {
20378	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
20379}
20380
20381// Status code returns the HTTP status code for the request's response error.
20382func (s *LimitExceededException) StatusCode() int {
20383	return s.RespMetadata.StatusCode
20384}
20385
20386// RequestID returns the service's response RequestID for request.
20387func (s *LimitExceededException) RequestID() string {
20388	return s.RespMetadata.RequestID
20389}
20390
20391// Represents a client-facing interface by which the client calls the API to
20392// access back-end resources. A Method resource is integrated with an Integration
20393// resource. Both consist of a request and one or more responses. The method
20394// request takes the client input that is passed to the back end through the
20395// integration request. A method response returns the output from the back end
20396// to the client through an integration response. A method request is embodied
20397// in a Method resource, whereas an integration request is embodied in an Integration
20398// resource. On the other hand, a method response is represented by a MethodResponse
20399// resource, whereas an integration response is represented by an IntegrationResponse
20400// resource.
20401//
20402// Example: Retrive the GET method on a specified resource
20403//
20404// Request
20405//
20406// The following example request retrieves the information about the GET method
20407// on an API resource (3kzxbg5sa2) of an API (fugvjdxtri).
20408//  GET /restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET HTTP/1.1 Content-Type:
20409//  application/json Host: apigateway.us-east-1.amazonaws.com X-Amz-Date: 20160603T210259Z
20410//  Authorization: AWS4-HMAC-SHA256 Credential={access_key_ID}/20160603/us-east-1/apigateway/aws4_request,
20411//  SignedHeaders=content-type;host;x-amz-date, Signature={sig4_hash}
20412// Response
20413//
20414// The successful response returns a 200 OK status code and a payload similar
20415// to the following:
20416//  { "_links": { "curies": [ { "href": "https://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-integration-{rel}.html",
20417//  "name": "integration", "templated": true }, { "href": "https://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-integration-response-{rel}.html",
20418//  "name": "integrationresponse", "templated": true }, { "href": "https://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-method-{rel}.html",
20419//  "name": "method", "templated": true }, { "href": "https://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-method-response-{rel}.html",
20420//  "name": "methodresponse", "templated": true } ], "self": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET",
20421//  "name": "GET", "title": "GET" }, "integration:put": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration"
20422//  }, "method:delete": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET"
20423//  }, "method:integration": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration"
20424//  }, "method:responses": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/200",
20425//  "name": "200", "title": "200" }, "method:update": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET"
20426//  }, "methodresponse:put": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/{status_code}",
20427//  "templated": true } }, "apiKeyRequired": true, "authorizationType": "NONE",
20428//  "httpMethod": "GET", "_embedded": { "method:integration": { "_links": {
20429//  "self": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration"
20430//  }, "integration:delete": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration"
20431//  }, "integration:responses": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200",
20432//  "name": "200", "title": "200" }, "integration:update": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration"
20433//  }, "integrationresponse:put": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/{status_code}",
20434//  "templated": true } }, "cacheKeyParameters": [], "cacheNamespace": "3kzxbg5sa2",
20435//  "credentials": "arn:aws:iam::123456789012:role/apigAwsProxyRole", "httpMethod":
20436//  "POST", "passthroughBehavior": "WHEN_NO_MATCH", "requestParameters": { "integration.request.header.Content-Type":
20437//  "'application/x-amz-json-1.1'" }, "requestTemplates": { "application/json":
20438//  "{\n}" }, "type": "AWS", "uri": "arn:aws:apigateway:us-east-1:kinesis:action/ListStreams",
20439//  "_embedded": { "integration:responses": { "_links": { "self": { "href":
20440//  "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200",
20441//  "name": "200", "title": "200" }, "integrationresponse:delete": { "href":
20442//  "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200"
20443//  }, "integrationresponse:update": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200"
20444//  } }, "responseParameters": { "method.response.header.Content-Type": "'application/xml'"
20445//  }, "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\")"
20446//  }, "statusCode": "200" } } }, "method:responses": { "_links": { "self":
20447//  { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/200",
20448//  "name": "200", "title": "200" }, "methodresponse:delete": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/200"
20449//  }, "methodresponse:update": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/200"
20450//  } }, "responseModels": { "application/json": "Empty" }, "responseParameters":
20451//  { "method.response.header.Content-Type": false }, "statusCode": "200" }
20452//  } }
20453// In the example above, the response template for the 200 OK response maps
20454// the JSON output from the ListStreams action in the back end to an XML output.
20455// 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
20456// 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)
20457// helper function.
20458//
20459// MethodResponse, Integration, IntegrationResponse, Resource, Set up an API's
20460// method (https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-method-settings.html)
20461type Method struct {
20462	_ struct{} `type:"structure"`
20463
20464	// A boolean flag specifying whether a valid ApiKey is required to invoke this
20465	// method.
20466	ApiKeyRequired *bool `locationName:"apiKeyRequired" type:"boolean"`
20467
20468	// A list of authorization scopes configured on the method. The scopes are used
20469	// with a COGNITO_USER_POOLS authorizer to authorize the method invocation.
20470	// The authorization works by matching the method scopes against the scopes
20471	// parsed from the access token in the incoming request. The method invocation
20472	// is authorized if any method scopes matches a claimed scope in the access
20473	// token. Otherwise, the invocation is not authorized. When the method scope
20474	// is configured, the client must provide an access token instead of an identity
20475	// token for authorization purposes.
20476	AuthorizationScopes []*string `locationName:"authorizationScopes" type:"list"`
20477
20478	// The method's authorization type. Valid values are NONE for open access, AWS_IAM
20479	// for using AWS IAM permissions, CUSTOM for using a custom authorizer, or COGNITO_USER_POOLS
20480	// for using a Cognito user pool.
20481	AuthorizationType *string `locationName:"authorizationType" type:"string"`
20482
20483	// The identifier of an Authorizer to use on this method. The authorizationType
20484	// must be CUSTOM.
20485	AuthorizerId *string `locationName:"authorizerId" type:"string"`
20486
20487	// The method's HTTP verb.
20488	HttpMethod *string `locationName:"httpMethod" type:"string"`
20489
20490	// Gets the method's integration responsible for passing the client-submitted
20491	// request to the back end and performing necessary transformations to make
20492	// the request compliant with the back end.
20493	//
20494	// Example:
20495	//
20496	// Request
20497	//   GET /restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration HTTP/1.1
20498	//   Content-Type: application/json Host: apigateway.us-east-1.amazonaws.com
20499	//   Content-Length: 117 X-Amz-Date: 20160613T213210Z Authorization: AWS4-HMAC-SHA256
20500	//   Credential={access_key_ID}/20160613/us-east-1/apigateway/aws4_request,
20501	//   SignedHeaders=content-type;host;x-amz-date, Signature={sig4_hash}
20502	// Response
20503	//
20504	// The successful response returns a 200 OK status code and a payload similar
20505	// to the following:
20506	//  { "_links": { "curies": [ { "href": "https://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-integration-{rel}.html",
20507	//  "name": "integration", "templated": true }, { "href": "https://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-integration-response-{rel}.html",
20508	//  "name": "integrationresponse", "templated": true } ], "self": { "href":
20509	//  "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration" }, "integration:delete":
20510	//  { "href": "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration"
20511	//  }, "integration:responses": { "href": "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration/responses/200",
20512	//  "name": "200", "title": "200" }, "integration:update": { "href": "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration"
20513	//  }, "integrationresponse:put": { "href": "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration/responses/{status_code}",
20514	//  "templated": true } }, "cacheKeyParameters": [], "cacheNamespace": "0cjtch",
20515	//  "credentials": "arn:aws:iam::123456789012:role/apigAwsProxyRole", "httpMethod":
20516	//  "POST", "passthroughBehavior": "WHEN_NO_MATCH", "requestTemplates": { "application/json":
20517	//  "{\n \"a\": \"$input.params('operand1')\",\n \"b\": \"$input.params('operand2')\",
20518	//  \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",
20519	//  "_embedded": { "integration:responses": { "_links": { "self": { "href":
20520	//  "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration/responses/200",
20521	//  "name": "200", "title": "200" }, "integrationresponse:delete": { "href":
20522	//  "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration/responses/200"
20523	//  }, "integrationresponse:update": { "href": "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration/responses/200"
20524	//  } }, "responseParameters": { "method.response.header.operator": "integration.response.body.op",
20525	//  "method.response.header.operand_2": "integration.response.body.b", "method.response.header.operand_1":
20526	//  "integration.response.body.a" }, "responseTemplates": { "application/json":
20527	//  "#set($res = $input.path('$'))\n{\n \"result\": \"$res.a, $res.b, $res.op
20528	//  => $res.c\",\n \"a\" : \"$res.a\",\n \"b\" : \"$res.b\",\n \"op\" : \"$res.op\",\n
20529	//  \"c\" : \"$res.c\"\n}" }, "selectionPattern": "", "statusCode": "200" }
20530	//  } }
20531	//
20532	// AWS CLI (https://docs.aws.amazon.com/cli/latest/reference/apigateway/get-integration.html)
20533	MethodIntegration *Integration `locationName:"methodIntegration" type:"structure"`
20534
20535	// Gets a method response associated with a given HTTP status code.
20536	//
20537	// The collection of method responses are encapsulated in a key-value map, where
20538	// the key is a response's HTTP status code and the value is a MethodResponse
20539	// resource that specifies the response returned to the caller from the back
20540	// end through the integration response.
20541	//
20542	// Example: Get a 200 OK response of a GET method
20543	//
20544	// Request
20545	//   GET /restapis/uojnr9hd57/resources/0cjtch/methods/GET/responses/200 HTTP/1.1
20546	//   Content-Type: application/json Host: apigateway.us-east-1.amazonaws.com
20547	//   Content-Length: 117 X-Amz-Date: 20160613T215008Z Authorization: AWS4-HMAC-SHA256
20548	//   Credential={access_key_ID}/20160613/us-east-1/apigateway/aws4_request,
20549	//   SignedHeaders=content-type;host;x-amz-date, Signature={sig4_hash}
20550	// Response
20551	//
20552	// The successful response returns a 200 OK status code and a payload similar
20553	// to the following:
20554	//  { "_links": { "curies": { "href": "https://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-method-response-{rel}.html",
20555	//  "name": "methodresponse", "templated": true }, "self": { "href": "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/responses/200",
20556	//  "title": "200" }, "methodresponse:delete": { "href": "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/responses/200"
20557	//  }, "methodresponse:update": { "href": "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/responses/200"
20558	//  } }, "responseModels": { "application/json": "Empty" }, "responseParameters":
20559	//  { "method.response.header.operator": false, "method.response.header.operand_2":
20560	//  false, "method.response.header.operand_1": false }, "statusCode": "200"
20561	//  }
20562	//
20563	// AWS CLI (https://docs.aws.amazon.com/cli/latest/reference/apigateway/get-method-response.html)
20564	MethodResponses map[string]*MethodResponse `locationName:"methodResponses" type:"map"`
20565
20566	// A human-friendly operation identifier for the method. For example, you can
20567	// assign the operationName of ListPets for the GET /pets method in the PetStore
20568	// example.
20569	OperationName *string `locationName:"operationName" type:"string"`
20570
20571	// A key-value map specifying data schemas, represented by Model resources,
20572	// (as the mapped value) of the request payloads of given content types (as
20573	// the mapping key).
20574	RequestModels map[string]*string `locationName:"requestModels" type:"map"`
20575
20576	// A key-value map defining required or optional method request parameters that
20577	// can be accepted by API Gateway. A key is a method request parameter name
20578	// matching the pattern of method.request.{location}.{name}, where location
20579	// is querystring, path, or header and name is a valid and unique parameter
20580	// name. The value associated with the key is a Boolean flag indicating whether
20581	// the parameter is required (true) or optional (false). The method request
20582	// parameter names defined here are available in Integration to be mapped to
20583	// integration request parameters or templates.
20584	RequestParameters map[string]*bool `locationName:"requestParameters" type:"map"`
20585
20586	// The identifier of a RequestValidator for request validation.
20587	RequestValidatorId *string `locationName:"requestValidatorId" type:"string"`
20588}
20589
20590// String returns the string representation
20591func (s Method) String() string {
20592	return awsutil.Prettify(s)
20593}
20594
20595// GoString returns the string representation
20596func (s Method) GoString() string {
20597	return s.String()
20598}
20599
20600// SetApiKeyRequired sets the ApiKeyRequired field's value.
20601func (s *Method) SetApiKeyRequired(v bool) *Method {
20602	s.ApiKeyRequired = &v
20603	return s
20604}
20605
20606// SetAuthorizationScopes sets the AuthorizationScopes field's value.
20607func (s *Method) SetAuthorizationScopes(v []*string) *Method {
20608	s.AuthorizationScopes = v
20609	return s
20610}
20611
20612// SetAuthorizationType sets the AuthorizationType field's value.
20613func (s *Method) SetAuthorizationType(v string) *Method {
20614	s.AuthorizationType = &v
20615	return s
20616}
20617
20618// SetAuthorizerId sets the AuthorizerId field's value.
20619func (s *Method) SetAuthorizerId(v string) *Method {
20620	s.AuthorizerId = &v
20621	return s
20622}
20623
20624// SetHttpMethod sets the HttpMethod field's value.
20625func (s *Method) SetHttpMethod(v string) *Method {
20626	s.HttpMethod = &v
20627	return s
20628}
20629
20630// SetMethodIntegration sets the MethodIntegration field's value.
20631func (s *Method) SetMethodIntegration(v *Integration) *Method {
20632	s.MethodIntegration = v
20633	return s
20634}
20635
20636// SetMethodResponses sets the MethodResponses field's value.
20637func (s *Method) SetMethodResponses(v map[string]*MethodResponse) *Method {
20638	s.MethodResponses = v
20639	return s
20640}
20641
20642// SetOperationName sets the OperationName field's value.
20643func (s *Method) SetOperationName(v string) *Method {
20644	s.OperationName = &v
20645	return s
20646}
20647
20648// SetRequestModels sets the RequestModels field's value.
20649func (s *Method) SetRequestModels(v map[string]*string) *Method {
20650	s.RequestModels = v
20651	return s
20652}
20653
20654// SetRequestParameters sets the RequestParameters field's value.
20655func (s *Method) SetRequestParameters(v map[string]*bool) *Method {
20656	s.RequestParameters = v
20657	return s
20658}
20659
20660// SetRequestValidatorId sets the RequestValidatorId field's value.
20661func (s *Method) SetRequestValidatorId(v string) *Method {
20662	s.RequestValidatorId = &v
20663	return s
20664}
20665
20666// Represents a method response of a given HTTP status code returned to the
20667// client. The method response is passed from the back end through the associated
20668// integration response that can be transformed using a mapping template.
20669//
20670// Example: A MethodResponse instance of an API
20671//
20672// Request
20673//
20674// The example request retrieves a MethodResponse of the 200 status code.
20675//  GET /restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/200
20676//  HTTP/1.1 Content-Type: application/json Host: apigateway.us-east-1.amazonaws.com
20677//  X-Amz-Date: 20160603T222952Z Authorization: AWS4-HMAC-SHA256 Credential={access_key_ID}/20160603/us-east-1/apigateway/aws4_request,
20678//  SignedHeaders=content-type;host;x-amz-date, Signature={sig4_hash}
20679// Response
20680//
20681// The successful response returns 200 OK status and a payload as follows:
20682//  { "_links": { "curies": { "href": "https://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-method-response-{rel}.html",
20683//  "name": "methodresponse", "templated": true }, "self": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/200",
20684//  "title": "200" }, "methodresponse:delete": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/200"
20685//  }, "methodresponse:update": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/200"
20686//  } }, "responseModels": { "application/json": "Empty" }, "responseParameters":
20687//  { "method.response.header.Content-Type": false }, "statusCode": "200" }
20688//
20689// Method, IntegrationResponse, Integration Creating an API (https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-create-api.html)
20690type MethodResponse struct {
20691	_ struct{} `type:"structure"`
20692
20693	// Specifies the Model resources used for the response's content-type. Response
20694	// models are represented as a key/value map, with a content-type as the key
20695	// and a Model name as the value.
20696	ResponseModels map[string]*string `locationName:"responseModels" type:"map"`
20697
20698	// A key-value map specifying required or optional response parameters that
20699	// API Gateway can send back to the caller. A key defines a method response
20700	// header and the value specifies whether the associated method response header
20701	// is required or not. The expression of the key must match the pattern method.response.header.{name},
20702	// where name is a valid and unique header name. API Gateway passes certain
20703	// integration response data to the method response headers specified here according
20704	// to the mapping you prescribe in the API's IntegrationResponse. The integration
20705	// response data that can be mapped include an integration response header expressed
20706	// in integration.response.header.{name}, a static value enclosed within a pair
20707	// of single quotes (e.g., 'application/json'), or a JSON expression from the
20708	// back-end response payload in the form of integration.response.body.{JSON-expression},
20709	// where JSON-expression is a valid JSON expression without the $ prefix.)
20710	ResponseParameters map[string]*bool `locationName:"responseParameters" type:"map"`
20711
20712	// The method response's status code.
20713	StatusCode *string `locationName:"statusCode" type:"string"`
20714}
20715
20716// String returns the string representation
20717func (s MethodResponse) String() string {
20718	return awsutil.Prettify(s)
20719}
20720
20721// GoString returns the string representation
20722func (s MethodResponse) GoString() string {
20723	return s.String()
20724}
20725
20726// SetResponseModels sets the ResponseModels field's value.
20727func (s *MethodResponse) SetResponseModels(v map[string]*string) *MethodResponse {
20728	s.ResponseModels = v
20729	return s
20730}
20731
20732// SetResponseParameters sets the ResponseParameters field's value.
20733func (s *MethodResponse) SetResponseParameters(v map[string]*bool) *MethodResponse {
20734	s.ResponseParameters = v
20735	return s
20736}
20737
20738// SetStatusCode sets the StatusCode field's value.
20739func (s *MethodResponse) SetStatusCode(v string) *MethodResponse {
20740	s.StatusCode = &v
20741	return s
20742}
20743
20744// Specifies the method setting properties.
20745type MethodSetting struct {
20746	_ struct{} `type:"structure"`
20747
20748	// Specifies whether the cached responses are encrypted. The PATCH path for
20749	// this setting is /{method_setting_key}/caching/dataEncrypted, and the value
20750	// is a Boolean.
20751	CacheDataEncrypted *bool `locationName:"cacheDataEncrypted" type:"boolean"`
20752
20753	// Specifies the time to live (TTL), in seconds, for cached responses. The higher
20754	// the TTL, the longer the response will be cached. The PATCH path for this
20755	// setting is /{method_setting_key}/caching/ttlInSeconds, and the value is an
20756	// integer.
20757	CacheTtlInSeconds *int64 `locationName:"cacheTtlInSeconds" type:"integer"`
20758
20759	// Specifies whether responses should be cached and returned for requests. A
20760	// cache cluster must be enabled on the stage for responses to be cached. The
20761	// PATCH path for this setting is /{method_setting_key}/caching/enabled, and
20762	// the value is a Boolean.
20763	CachingEnabled *bool `locationName:"cachingEnabled" type:"boolean"`
20764
20765	// Specifies whether data trace logging is enabled for this method, which affects
20766	// the log entries pushed to Amazon CloudWatch Logs. The PATCH path for this
20767	// setting is /{method_setting_key}/logging/dataTrace, and the value is a Boolean.
20768	DataTraceEnabled *bool `locationName:"dataTraceEnabled" type:"boolean"`
20769
20770	// Specifies the logging level for this method, which affects the log entries
20771	// pushed to Amazon CloudWatch Logs. The PATCH path for this setting is /{method_setting_key}/logging/loglevel,
20772	// and the available levels are OFF, ERROR, and INFO. Choose ERROR to write
20773	// only error-level entries to CloudWatch Logs, or choose INFO to include all
20774	// ERROR events as well as extra informational events.
20775	LoggingLevel *string `locationName:"loggingLevel" type:"string"`
20776
20777	// Specifies whether Amazon CloudWatch metrics are enabled for this method.
20778	// The PATCH path for this setting is /{method_setting_key}/metrics/enabled,
20779	// and the value is a Boolean.
20780	MetricsEnabled *bool `locationName:"metricsEnabled" type:"boolean"`
20781
20782	// Specifies whether authorization is required for a cache invalidation request.
20783	// The PATCH path for this setting is /{method_setting_key}/caching/requireAuthorizationForCacheControl,
20784	// and the value is a Boolean.
20785	RequireAuthorizationForCacheControl *bool `locationName:"requireAuthorizationForCacheControl" type:"boolean"`
20786
20787	// Specifies the throttling burst limit. The PATCH path for this setting is
20788	// /{method_setting_key}/throttling/burstLimit, and the value is an integer.
20789	ThrottlingBurstLimit *int64 `locationName:"throttlingBurstLimit" type:"integer"`
20790
20791	// Specifies the throttling rate limit. The PATCH path for this setting is /{method_setting_key}/throttling/rateLimit,
20792	// and the value is a double.
20793	ThrottlingRateLimit *float64 `locationName:"throttlingRateLimit" type:"double"`
20794
20795	// Specifies how to handle unauthorized requests for cache invalidation. The
20796	// PATCH path for this setting is /{method_setting_key}/caching/unauthorizedCacheControlHeaderStrategy,
20797	// and the available values are FAIL_WITH_403, SUCCEED_WITH_RESPONSE_HEADER,
20798	// SUCCEED_WITHOUT_RESPONSE_HEADER.
20799	UnauthorizedCacheControlHeaderStrategy *string `locationName:"unauthorizedCacheControlHeaderStrategy" type:"string" enum:"UnauthorizedCacheControlHeaderStrategy"`
20800}
20801
20802// String returns the string representation
20803func (s MethodSetting) String() string {
20804	return awsutil.Prettify(s)
20805}
20806
20807// GoString returns the string representation
20808func (s MethodSetting) GoString() string {
20809	return s.String()
20810}
20811
20812// SetCacheDataEncrypted sets the CacheDataEncrypted field's value.
20813func (s *MethodSetting) SetCacheDataEncrypted(v bool) *MethodSetting {
20814	s.CacheDataEncrypted = &v
20815	return s
20816}
20817
20818// SetCacheTtlInSeconds sets the CacheTtlInSeconds field's value.
20819func (s *MethodSetting) SetCacheTtlInSeconds(v int64) *MethodSetting {
20820	s.CacheTtlInSeconds = &v
20821	return s
20822}
20823
20824// SetCachingEnabled sets the CachingEnabled field's value.
20825func (s *MethodSetting) SetCachingEnabled(v bool) *MethodSetting {
20826	s.CachingEnabled = &v
20827	return s
20828}
20829
20830// SetDataTraceEnabled sets the DataTraceEnabled field's value.
20831func (s *MethodSetting) SetDataTraceEnabled(v bool) *MethodSetting {
20832	s.DataTraceEnabled = &v
20833	return s
20834}
20835
20836// SetLoggingLevel sets the LoggingLevel field's value.
20837func (s *MethodSetting) SetLoggingLevel(v string) *MethodSetting {
20838	s.LoggingLevel = &v
20839	return s
20840}
20841
20842// SetMetricsEnabled sets the MetricsEnabled field's value.
20843func (s *MethodSetting) SetMetricsEnabled(v bool) *MethodSetting {
20844	s.MetricsEnabled = &v
20845	return s
20846}
20847
20848// SetRequireAuthorizationForCacheControl sets the RequireAuthorizationForCacheControl field's value.
20849func (s *MethodSetting) SetRequireAuthorizationForCacheControl(v bool) *MethodSetting {
20850	s.RequireAuthorizationForCacheControl = &v
20851	return s
20852}
20853
20854// SetThrottlingBurstLimit sets the ThrottlingBurstLimit field's value.
20855func (s *MethodSetting) SetThrottlingBurstLimit(v int64) *MethodSetting {
20856	s.ThrottlingBurstLimit = &v
20857	return s
20858}
20859
20860// SetThrottlingRateLimit sets the ThrottlingRateLimit field's value.
20861func (s *MethodSetting) SetThrottlingRateLimit(v float64) *MethodSetting {
20862	s.ThrottlingRateLimit = &v
20863	return s
20864}
20865
20866// SetUnauthorizedCacheControlHeaderStrategy sets the UnauthorizedCacheControlHeaderStrategy field's value.
20867func (s *MethodSetting) SetUnauthorizedCacheControlHeaderStrategy(v string) *MethodSetting {
20868	s.UnauthorizedCacheControlHeaderStrategy = &v
20869	return s
20870}
20871
20872// Represents a summary of a Method resource, given a particular date and time.
20873type MethodSnapshot struct {
20874	_ struct{} `type:"structure"`
20875
20876	// Specifies whether the method requires a valid ApiKey.
20877	ApiKeyRequired *bool `locationName:"apiKeyRequired" type:"boolean"`
20878
20879	// The method's authorization type. Valid values are NONE for open access, AWS_IAM
20880	// for using AWS IAM permissions, CUSTOM for using a custom authorizer, or COGNITO_USER_POOLS
20881	// for using a Cognito user pool.
20882	AuthorizationType *string `locationName:"authorizationType" type:"string"`
20883}
20884
20885// String returns the string representation
20886func (s MethodSnapshot) String() string {
20887	return awsutil.Prettify(s)
20888}
20889
20890// GoString returns the string representation
20891func (s MethodSnapshot) GoString() string {
20892	return s.String()
20893}
20894
20895// SetApiKeyRequired sets the ApiKeyRequired field's value.
20896func (s *MethodSnapshot) SetApiKeyRequired(v bool) *MethodSnapshot {
20897	s.ApiKeyRequired = &v
20898	return s
20899}
20900
20901// SetAuthorizationType sets the AuthorizationType field's value.
20902func (s *MethodSnapshot) SetAuthorizationType(v string) *MethodSnapshot {
20903	s.AuthorizationType = &v
20904	return s
20905}
20906
20907// Represents the data structure of a method's request or response payload.
20908//
20909// A request model defines the data structure of the client-supplied request
20910// payload. A response model defines the data structure of the response payload
20911// returned by the back end. Although not required, models are useful for mapping
20912// payloads between the front end and back end.
20913//
20914// A model is used for generating an API's SDK, validating the input request
20915// body, and creating a skeletal mapping template.
20916//
20917// Method, MethodResponse, Models and Mappings (https://docs.aws.amazon.com/apigateway/latest/developerguide/models-mappings.html)
20918type Model struct {
20919	_ struct{} `type:"structure"`
20920
20921	// The content-type for the model.
20922	ContentType *string `locationName:"contentType" type:"string"`
20923
20924	// The description of the model.
20925	Description *string `locationName:"description" type:"string"`
20926
20927	// The identifier for the model resource.
20928	Id *string `locationName:"id" type:"string"`
20929
20930	// The name of the model. Must be an alphanumeric string.
20931	Name *string `locationName:"name" type:"string"`
20932
20933	// The schema for the model. For application/json models, this should be JSON
20934	// schema draft 4 (https://tools.ietf.org/html/draft-zyp-json-schema-04) model.
20935	// Do not include "\*/" characters in the description of any properties because
20936	// such "\*/" characters may be interpreted as the closing marker for comments
20937	// in some languages, such as Java or JavaScript, causing the installation of
20938	// your API's SDK generated by API Gateway to fail.
20939	Schema *string `locationName:"schema" type:"string"`
20940}
20941
20942// String returns the string representation
20943func (s Model) String() string {
20944	return awsutil.Prettify(s)
20945}
20946
20947// GoString returns the string representation
20948func (s Model) GoString() string {
20949	return s.String()
20950}
20951
20952// SetContentType sets the ContentType field's value.
20953func (s *Model) SetContentType(v string) *Model {
20954	s.ContentType = &v
20955	return s
20956}
20957
20958// SetDescription sets the Description field's value.
20959func (s *Model) SetDescription(v string) *Model {
20960	s.Description = &v
20961	return s
20962}
20963
20964// SetId sets the Id field's value.
20965func (s *Model) SetId(v string) *Model {
20966	s.Id = &v
20967	return s
20968}
20969
20970// SetName sets the Name field's value.
20971func (s *Model) SetName(v string) *Model {
20972	s.Name = &v
20973	return s
20974}
20975
20976// SetSchema sets the Schema field's value.
20977func (s *Model) SetSchema(v string) *Model {
20978	s.Schema = &v
20979	return s
20980}
20981
20982// If specified, API Gateway performs two-way authentication between the client
20983// and the server. Clients must present a trusted certificate to access your
20984// custom domain name.
20985type MutualTlsAuthentication struct {
20986	_ struct{} `type:"structure"`
20987
20988	// An Amazon S3 URL that specifies the truststore for mutual TLS authentication,
20989	// for example s3://bucket-name/key-name. The truststore can contain certificates
20990	// from public or private certificate authorities. To update the truststore,
20991	// upload a new version to S3, and then update your custom domain name to use
20992	// the new version. To update the truststore, you must have permissions to access
20993	// the S3 object.
20994	TruststoreUri *string `locationName:"truststoreUri" type:"string"`
20995
20996	// The version of the S3 object that contains your truststore. To specify a
20997	// version, you must have versioning enabled for the S3 bucket.
20998	TruststoreVersion *string `locationName:"truststoreVersion" type:"string"`
20999
21000	// A list of warnings that API Gateway returns while processing your truststore.
21001	// Invalid certificates produce warnings. Mutual TLS is still enabled, but some
21002	// clients might not be able to access your API. To resolve warnings, upload
21003	// a new truststore to S3, and then update you domain name to use the new version.
21004	TruststoreWarnings []*string `locationName:"truststoreWarnings" type:"list"`
21005}
21006
21007// String returns the string representation
21008func (s MutualTlsAuthentication) String() string {
21009	return awsutil.Prettify(s)
21010}
21011
21012// GoString returns the string representation
21013func (s MutualTlsAuthentication) GoString() string {
21014	return s.String()
21015}
21016
21017// SetTruststoreUri sets the TruststoreUri field's value.
21018func (s *MutualTlsAuthentication) SetTruststoreUri(v string) *MutualTlsAuthentication {
21019	s.TruststoreUri = &v
21020	return s
21021}
21022
21023// SetTruststoreVersion sets the TruststoreVersion field's value.
21024func (s *MutualTlsAuthentication) SetTruststoreVersion(v string) *MutualTlsAuthentication {
21025	s.TruststoreVersion = &v
21026	return s
21027}
21028
21029// SetTruststoreWarnings sets the TruststoreWarnings field's value.
21030func (s *MutualTlsAuthentication) SetTruststoreWarnings(v []*string) *MutualTlsAuthentication {
21031	s.TruststoreWarnings = v
21032	return s
21033}
21034
21035// If specified, API Gateway performs two-way authentication between the client
21036// and the server. Clients must present a trusted certificate to access your
21037// custom domain name.
21038type MutualTlsAuthenticationInput struct {
21039	_ struct{} `type:"structure"`
21040
21041	// An Amazon S3 resource ARN that specifies the truststore for mutual TLS authentication,
21042	// for example, s3://bucket-name/key-name. The truststore can contain certificates
21043	// from public or private certificate authorities. To update the truststore,
21044	// upload a new version to S3, and then update your custom domain name to use
21045	// the new version. To update the truststore, you must have permissions to access
21046	// the S3 object.
21047	TruststoreUri *string `locationName:"truststoreUri" type:"string"`
21048
21049	// The version of the S3 object that contains your truststore. To specify a
21050	// version, you must have versioning enabled for the S3 bucket.
21051	TruststoreVersion *string `locationName:"truststoreVersion" type:"string"`
21052}
21053
21054// String returns the string representation
21055func (s MutualTlsAuthenticationInput) String() string {
21056	return awsutil.Prettify(s)
21057}
21058
21059// GoString returns the string representation
21060func (s MutualTlsAuthenticationInput) GoString() string {
21061	return s.String()
21062}
21063
21064// SetTruststoreUri sets the TruststoreUri field's value.
21065func (s *MutualTlsAuthenticationInput) SetTruststoreUri(v string) *MutualTlsAuthenticationInput {
21066	s.TruststoreUri = &v
21067	return s
21068}
21069
21070// SetTruststoreVersion sets the TruststoreVersion field's value.
21071func (s *MutualTlsAuthenticationInput) SetTruststoreVersion(v string) *MutualTlsAuthenticationInput {
21072	s.TruststoreVersion = &v
21073	return s
21074}
21075
21076// The requested resource is not found. Make sure that the request URI is correct.
21077type NotFoundException struct {
21078	_            struct{}                  `type:"structure"`
21079	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
21080
21081	Message_ *string `locationName:"message" type:"string"`
21082}
21083
21084// String returns the string representation
21085func (s NotFoundException) String() string {
21086	return awsutil.Prettify(s)
21087}
21088
21089// GoString returns the string representation
21090func (s NotFoundException) GoString() string {
21091	return s.String()
21092}
21093
21094func newErrorNotFoundException(v protocol.ResponseMetadata) error {
21095	return &NotFoundException{
21096		RespMetadata: v,
21097	}
21098}
21099
21100// Code returns the exception type name.
21101func (s *NotFoundException) Code() string {
21102	return "NotFoundException"
21103}
21104
21105// Message returns the exception's message.
21106func (s *NotFoundException) Message() string {
21107	if s.Message_ != nil {
21108		return *s.Message_
21109	}
21110	return ""
21111}
21112
21113// OrigErr always returns nil, satisfies awserr.Error interface.
21114func (s *NotFoundException) OrigErr() error {
21115	return nil
21116}
21117
21118func (s *NotFoundException) Error() string {
21119	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
21120}
21121
21122// Status code returns the HTTP status code for the request's response error.
21123func (s *NotFoundException) StatusCode() int {
21124	return s.RespMetadata.StatusCode
21125}
21126
21127// RequestID returns the service's response RequestID for request.
21128func (s *NotFoundException) RequestID() string {
21129	return s.RespMetadata.RequestID
21130}
21131
21132// A single patch operation to apply to the specified resource. Please refer
21133// to http://tools.ietf.org/html/rfc6902#section-4 for an explanation of how
21134// each operation is used.
21135type PatchOperation struct {
21136	_ struct{} `type:"structure"`
21137
21138	// The copy update operation's source as identified by a JSON-Pointer value
21139	// referencing the location within the targeted resource to copy the value from.
21140	// For example, to promote a canary deployment, you copy the canary deployment
21141	// ID to the affiliated deployment ID by calling a PATCH request on a Stage
21142	// resource with "op":"copy", "from":"/canarySettings/deploymentId" and "path":"/deploymentId".
21143	From *string `locationName:"from" type:"string"`
21144
21145	// An update operation to be performed with this PATCH request. The valid value
21146	// can be add, remove, replace or copy. Not all valid operations are supported
21147	// for a given resource. Support of the operations depends on specific operational
21148	// contexts. Attempts to apply an unsupported operation on a resource will return
21149	// an error message.
21150	Op *string `locationName:"op" type:"string" enum:"Op"`
21151
21152	// The op operation's target, as identified by a JSON Pointer (https://tools.ietf.org/html/draft-ietf-appsawg-json-pointer-08)
21153	// value that references a location within the targeted resource. For example,
21154	// if the target resource has an updateable property of {"name":"value"}, the
21155	// path for this property is /name. If the name property value is a JSON object
21156	// (e.g., {"name": {"child/name": "child-value"}}), the path for the child/name
21157	// property will be /name/child~1name. Any slash ("/") character appearing in
21158	// path names must be escaped with "~1", as shown in the example above. Each
21159	// op operation can have only one path associated with it.
21160	Path *string `locationName:"path" type:"string"`
21161
21162	// The new target value of the update operation. It is applicable for the add
21163	// or replace operation. When using AWS CLI to update a property of a JSON value,
21164	// enclose the JSON object with a pair of single quotes in a Linux shell, e.g.,
21165	// '{"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).
21166	Value *string `locationName:"value" type:"string"`
21167}
21168
21169// String returns the string representation
21170func (s PatchOperation) String() string {
21171	return awsutil.Prettify(s)
21172}
21173
21174// GoString returns the string representation
21175func (s PatchOperation) GoString() string {
21176	return s.String()
21177}
21178
21179// SetFrom sets the From field's value.
21180func (s *PatchOperation) SetFrom(v string) *PatchOperation {
21181	s.From = &v
21182	return s
21183}
21184
21185// SetOp sets the Op field's value.
21186func (s *PatchOperation) SetOp(v string) *PatchOperation {
21187	s.Op = &v
21188	return s
21189}
21190
21191// SetPath sets the Path field's value.
21192func (s *PatchOperation) SetPath(v string) *PatchOperation {
21193	s.Path = &v
21194	return s
21195}
21196
21197// SetValue sets the Value field's value.
21198func (s *PatchOperation) SetValue(v string) *PatchOperation {
21199	s.Value = &v
21200	return s
21201}
21202
21203// Creates a customization of a GatewayResponse of a specified response type
21204// and status code on the given RestApi.
21205type PutGatewayResponseInput struct {
21206	_ struct{} `type:"structure"`
21207
21208	// Response parameters (paths, query strings and headers) of the GatewayResponse
21209	// as a string-to-string map of key-value pairs.
21210	ResponseParameters map[string]*string `locationName:"responseParameters" type:"map"`
21211
21212	// Response templates of the GatewayResponse as a string-to-string map of key-value
21213	// pairs.
21214	ResponseTemplates map[string]*string `locationName:"responseTemplates" type:"map"`
21215
21216	// [Required]
21217	// The response type of the associated GatewayResponse. Valid values are
21218	//    * ACCESS_DENIED
21219	//
21220	//    * API_CONFIGURATION_ERROR
21221	//
21222	//    * AUTHORIZER_FAILURE
21223	//
21224	//    * AUTHORIZER_CONFIGURATION_ERROR
21225	//
21226	//    * BAD_REQUEST_PARAMETERS
21227	//
21228	//    * BAD_REQUEST_BODY
21229	//
21230	//    * DEFAULT_4XX
21231	//
21232	//    * DEFAULT_5XX
21233	//
21234	//    * EXPIRED_TOKEN
21235	//
21236	//    * INVALID_SIGNATURE
21237	//
21238	//    * INTEGRATION_FAILURE
21239	//
21240	//    * INTEGRATION_TIMEOUT
21241	//
21242	//    * INVALID_API_KEY
21243	//
21244	//    * MISSING_AUTHENTICATION_TOKEN
21245	//
21246	//    * QUOTA_EXCEEDED
21247	//
21248	//    * REQUEST_TOO_LARGE
21249	//
21250	//    * RESOURCE_NOT_FOUND
21251	//
21252	//    * THROTTLED
21253	//
21254	//    * UNAUTHORIZED
21255	//
21256	//    * UNSUPPORTED_MEDIA_TYPE
21257	//
21258	// ResponseType is a required field
21259	ResponseType *string `location:"uri" locationName:"response_type" type:"string" required:"true" enum:"GatewayResponseType"`
21260
21261	// [Required] The string identifier of the associated RestApi.
21262	//
21263	// RestApiId is a required field
21264	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
21265
21266	// The HTTP status code of the GatewayResponse.
21267	StatusCode *string `locationName:"statusCode" type:"string"`
21268}
21269
21270// String returns the string representation
21271func (s PutGatewayResponseInput) String() string {
21272	return awsutil.Prettify(s)
21273}
21274
21275// GoString returns the string representation
21276func (s PutGatewayResponseInput) GoString() string {
21277	return s.String()
21278}
21279
21280// Validate inspects the fields of the type to determine if they are valid.
21281func (s *PutGatewayResponseInput) Validate() error {
21282	invalidParams := request.ErrInvalidParams{Context: "PutGatewayResponseInput"}
21283	if s.ResponseType == nil {
21284		invalidParams.Add(request.NewErrParamRequired("ResponseType"))
21285	}
21286	if s.ResponseType != nil && len(*s.ResponseType) < 1 {
21287		invalidParams.Add(request.NewErrParamMinLen("ResponseType", 1))
21288	}
21289	if s.RestApiId == nil {
21290		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
21291	}
21292	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
21293		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
21294	}
21295
21296	if invalidParams.Len() > 0 {
21297		return invalidParams
21298	}
21299	return nil
21300}
21301
21302// SetResponseParameters sets the ResponseParameters field's value.
21303func (s *PutGatewayResponseInput) SetResponseParameters(v map[string]*string) *PutGatewayResponseInput {
21304	s.ResponseParameters = v
21305	return s
21306}
21307
21308// SetResponseTemplates sets the ResponseTemplates field's value.
21309func (s *PutGatewayResponseInput) SetResponseTemplates(v map[string]*string) *PutGatewayResponseInput {
21310	s.ResponseTemplates = v
21311	return s
21312}
21313
21314// SetResponseType sets the ResponseType field's value.
21315func (s *PutGatewayResponseInput) SetResponseType(v string) *PutGatewayResponseInput {
21316	s.ResponseType = &v
21317	return s
21318}
21319
21320// SetRestApiId sets the RestApiId field's value.
21321func (s *PutGatewayResponseInput) SetRestApiId(v string) *PutGatewayResponseInput {
21322	s.RestApiId = &v
21323	return s
21324}
21325
21326// SetStatusCode sets the StatusCode field's value.
21327func (s *PutGatewayResponseInput) SetStatusCode(v string) *PutGatewayResponseInput {
21328	s.StatusCode = &v
21329	return s
21330}
21331
21332// Sets up a method's integration.
21333type PutIntegrationInput struct {
21334	_ struct{} `type:"structure"`
21335
21336	// A list of request parameters whose values API Gateway caches. To be valid
21337	// values for cacheKeyParameters, these parameters must also be specified for
21338	// Method requestParameters.
21339	CacheKeyParameters []*string `locationName:"cacheKeyParameters" type:"list"`
21340
21341	// Specifies a group of related cached parameters. By default, API Gateway uses
21342	// the resource ID as the cacheNamespace. You can specify the same cacheNamespace
21343	// across resources to return the same cached data for requests to different
21344	// resources.
21345	CacheNamespace *string `locationName:"cacheNamespace" type:"string"`
21346
21347	// The (id (https://docs.aws.amazon.com/apigateway/api-reference/resource/vpc-link/#id))
21348	// of the VpcLink used for the integration when connectionType=VPC_LINK and
21349	// undefined, otherwise.
21350	ConnectionId *string `locationName:"connectionId" type:"string"`
21351
21352	// The type of the network connection to the integration endpoint. The valid
21353	// value is INTERNET for connections through the public routable internet or
21354	// VPC_LINK for private connections between API Gateway and a network load balancer
21355	// in a VPC. The default value is INTERNET.
21356	ConnectionType *string `locationName:"connectionType" type:"string" enum:"ConnectionType"`
21357
21358	// Specifies how to handle request payload content type conversions. Supported
21359	// values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with the following behaviors:
21360	//
21361	//    * CONVERT_TO_BINARY: Converts a request payload from a Base64-encoded
21362	//    string to the corresponding binary blob.
21363	//
21364	//    * CONVERT_TO_TEXT: Converts a request payload from a binary blob to a
21365	//    Base64-encoded string.
21366	//
21367	// If this property is not defined, the request payload will be passed through
21368	// from the method request to integration request without modification, provided
21369	// that the passthroughBehavior is configured to support payload pass-through.
21370	ContentHandling *string `locationName:"contentHandling" type:"string" enum:"ContentHandlingStrategy"`
21371
21372	// Specifies whether credentials are required for a put integration.
21373	Credentials *string `locationName:"credentials" type:"string"`
21374
21375	// [Required] Specifies a put integration request's HTTP method.
21376	//
21377	// HttpMethod is a required field
21378	HttpMethod *string `location:"uri" locationName:"http_method" type:"string" required:"true"`
21379
21380	// Specifies a put integration HTTP method. When the integration type is HTTP
21381	// or AWS, this field is required.
21382	IntegrationHttpMethod *string `locationName:"httpMethod" type:"string"`
21383
21384	// Specifies the pass-through behavior for incoming requests based on the Content-Type
21385	// header in the request, and the available mapping templates specified as the
21386	// requestTemplates property on the Integration resource. There are three valid
21387	// values: WHEN_NO_MATCH, WHEN_NO_TEMPLATES, and NEVER.
21388	//
21389	//    * WHEN_NO_MATCH passes the request body for unmapped content types through
21390	//    to the integration back end without transformation.
21391	//
21392	//    * NEVER rejects unmapped content types with an HTTP 415 'Unsupported Media
21393	//    Type' response.
21394	//
21395	//    * WHEN_NO_TEMPLATES allows pass-through when the integration has NO content
21396	//    types mapped to templates. However if there is at least one content type
21397	//    defined, unmapped content types will be rejected with the same 415 response.
21398	PassthroughBehavior *string `locationName:"passthroughBehavior" type:"string"`
21399
21400	// A key-value map specifying request parameters that are passed from the method
21401	// request to the back end. The key is an integration request parameter name
21402	// and the associated value is a method request parameter value or static value
21403	// that must be enclosed within single quotes and pre-encoded as required by
21404	// the back end. The method request parameter value must match the pattern of
21405	// method.request.{location}.{name}, where location is querystring, path, or
21406	// header and name must be a valid and unique method request parameter name.
21407	RequestParameters map[string]*string `locationName:"requestParameters" type:"map"`
21408
21409	// Represents a map of Velocity templates that are applied on the request payload
21410	// based on the value of the Content-Type header sent by the client. The content
21411	// type value is the key in this map, and the template (as a String) is the
21412	// value.
21413	RequestTemplates map[string]*string `locationName:"requestTemplates" type:"map"`
21414
21415	// [Required] Specifies a put integration request's resource ID.
21416	//
21417	// ResourceId is a required field
21418	ResourceId *string `location:"uri" locationName:"resource_id" type:"string" required:"true"`
21419
21420	// [Required] The string identifier of the associated RestApi.
21421	//
21422	// RestApiId is a required field
21423	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
21424
21425	// Custom timeout between 50 and 29,000 milliseconds. The default value is 29,000
21426	// milliseconds or 29 seconds.
21427	TimeoutInMillis *int64 `locationName:"timeoutInMillis" type:"integer"`
21428
21429	TlsConfig *TlsConfig `locationName:"tlsConfig" type:"structure"`
21430
21431	// [Required] Specifies a put integration input's type.
21432	//
21433	// Type is a required field
21434	Type *string `locationName:"type" type:"string" required:"true" enum:"IntegrationType"`
21435
21436	// Specifies Uniform Resource Identifier (URI) of the integration endpoint.
21437	//
21438	//    * For HTTP or HTTP_PROXY integrations, the URI must be a fully formed,
21439	//    encoded HTTP(S) URL according to the RFC-3986 specification (https://en.wikipedia.org/wiki/Uniform_Resource_Identifier),
21440	//    for either standard integration, where connectionType is not VPC_LINK,
21441	//    or private integration, where connectionType is VPC_LINK. For a private
21442	//    HTTP integration, the URI is not used for routing.
21443	//
21444	//    * For AWS or AWS_PROXY integrations, the URI is of the form arn:aws:apigateway:{region}:{subdomain.service|service}:path|action/{service_api}.
21445	//    Here, {Region} is the API Gateway region (e.g., us-east-1); {service}
21446	//    is the name of the integrated AWS service (e.g., s3); and {subdomain}
21447	//    is a designated subdomain supported by certain AWS service for fast host-name
21448	//    lookup. action can be used for an AWS service action-based API, using
21449	//    an Action={name}&{p1}={v1}&p2={v2}... query string. The ensuing {service_api}
21450	//    refers to a supported action {name} plus any required input parameters.
21451	//    Alternatively, path can be used for an AWS service path-based API. The
21452	//    ensuing service_api refers to the path to an AWS service resource, including
21453	//    the region of the integrated AWS service, if applicable. For example,
21454	//    for integration with the S3 API of GetObject (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectGET.html),
21455	//    the uri can be either arn:aws:apigateway:us-west-2:s3:action/GetObject&Bucket={bucket}&Key={key}
21456	//    or arn:aws:apigateway:us-west-2:s3:path/{bucket}/{key}
21457	Uri *string `locationName:"uri" type:"string"`
21458}
21459
21460// String returns the string representation
21461func (s PutIntegrationInput) String() string {
21462	return awsutil.Prettify(s)
21463}
21464
21465// GoString returns the string representation
21466func (s PutIntegrationInput) GoString() string {
21467	return s.String()
21468}
21469
21470// Validate inspects the fields of the type to determine if they are valid.
21471func (s *PutIntegrationInput) Validate() error {
21472	invalidParams := request.ErrInvalidParams{Context: "PutIntegrationInput"}
21473	if s.HttpMethod == nil {
21474		invalidParams.Add(request.NewErrParamRequired("HttpMethod"))
21475	}
21476	if s.HttpMethod != nil && len(*s.HttpMethod) < 1 {
21477		invalidParams.Add(request.NewErrParamMinLen("HttpMethod", 1))
21478	}
21479	if s.ResourceId == nil {
21480		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
21481	}
21482	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
21483		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
21484	}
21485	if s.RestApiId == nil {
21486		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
21487	}
21488	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
21489		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
21490	}
21491	if s.Type == nil {
21492		invalidParams.Add(request.NewErrParamRequired("Type"))
21493	}
21494
21495	if invalidParams.Len() > 0 {
21496		return invalidParams
21497	}
21498	return nil
21499}
21500
21501// SetCacheKeyParameters sets the CacheKeyParameters field's value.
21502func (s *PutIntegrationInput) SetCacheKeyParameters(v []*string) *PutIntegrationInput {
21503	s.CacheKeyParameters = v
21504	return s
21505}
21506
21507// SetCacheNamespace sets the CacheNamespace field's value.
21508func (s *PutIntegrationInput) SetCacheNamespace(v string) *PutIntegrationInput {
21509	s.CacheNamespace = &v
21510	return s
21511}
21512
21513// SetConnectionId sets the ConnectionId field's value.
21514func (s *PutIntegrationInput) SetConnectionId(v string) *PutIntegrationInput {
21515	s.ConnectionId = &v
21516	return s
21517}
21518
21519// SetConnectionType sets the ConnectionType field's value.
21520func (s *PutIntegrationInput) SetConnectionType(v string) *PutIntegrationInput {
21521	s.ConnectionType = &v
21522	return s
21523}
21524
21525// SetContentHandling sets the ContentHandling field's value.
21526func (s *PutIntegrationInput) SetContentHandling(v string) *PutIntegrationInput {
21527	s.ContentHandling = &v
21528	return s
21529}
21530
21531// SetCredentials sets the Credentials field's value.
21532func (s *PutIntegrationInput) SetCredentials(v string) *PutIntegrationInput {
21533	s.Credentials = &v
21534	return s
21535}
21536
21537// SetHttpMethod sets the HttpMethod field's value.
21538func (s *PutIntegrationInput) SetHttpMethod(v string) *PutIntegrationInput {
21539	s.HttpMethod = &v
21540	return s
21541}
21542
21543// SetIntegrationHttpMethod sets the IntegrationHttpMethod field's value.
21544func (s *PutIntegrationInput) SetIntegrationHttpMethod(v string) *PutIntegrationInput {
21545	s.IntegrationHttpMethod = &v
21546	return s
21547}
21548
21549// SetPassthroughBehavior sets the PassthroughBehavior field's value.
21550func (s *PutIntegrationInput) SetPassthroughBehavior(v string) *PutIntegrationInput {
21551	s.PassthroughBehavior = &v
21552	return s
21553}
21554
21555// SetRequestParameters sets the RequestParameters field's value.
21556func (s *PutIntegrationInput) SetRequestParameters(v map[string]*string) *PutIntegrationInput {
21557	s.RequestParameters = v
21558	return s
21559}
21560
21561// SetRequestTemplates sets the RequestTemplates field's value.
21562func (s *PutIntegrationInput) SetRequestTemplates(v map[string]*string) *PutIntegrationInput {
21563	s.RequestTemplates = v
21564	return s
21565}
21566
21567// SetResourceId sets the ResourceId field's value.
21568func (s *PutIntegrationInput) SetResourceId(v string) *PutIntegrationInput {
21569	s.ResourceId = &v
21570	return s
21571}
21572
21573// SetRestApiId sets the RestApiId field's value.
21574func (s *PutIntegrationInput) SetRestApiId(v string) *PutIntegrationInput {
21575	s.RestApiId = &v
21576	return s
21577}
21578
21579// SetTimeoutInMillis sets the TimeoutInMillis field's value.
21580func (s *PutIntegrationInput) SetTimeoutInMillis(v int64) *PutIntegrationInput {
21581	s.TimeoutInMillis = &v
21582	return s
21583}
21584
21585// SetTlsConfig sets the TlsConfig field's value.
21586func (s *PutIntegrationInput) SetTlsConfig(v *TlsConfig) *PutIntegrationInput {
21587	s.TlsConfig = v
21588	return s
21589}
21590
21591// SetType sets the Type field's value.
21592func (s *PutIntegrationInput) SetType(v string) *PutIntegrationInput {
21593	s.Type = &v
21594	return s
21595}
21596
21597// SetUri sets the Uri field's value.
21598func (s *PutIntegrationInput) SetUri(v string) *PutIntegrationInput {
21599	s.Uri = &v
21600	return s
21601}
21602
21603// Represents a put integration response request.
21604type PutIntegrationResponseInput struct {
21605	_ struct{} `type:"structure"`
21606
21607	// Specifies how to handle response payload content type conversions. Supported
21608	// values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with the following behaviors:
21609	//
21610	//    * CONVERT_TO_BINARY: Converts a response payload from a Base64-encoded
21611	//    string to the corresponding binary blob.
21612	//
21613	//    * CONVERT_TO_TEXT: Converts a response payload from a binary blob to a
21614	//    Base64-encoded string.
21615	//
21616	// If this property is not defined, the response payload will be passed through
21617	// from the integration response to the method response without modification.
21618	ContentHandling *string `locationName:"contentHandling" type:"string" enum:"ContentHandlingStrategy"`
21619
21620	// [Required] Specifies a put integration response request's HTTP method.
21621	//
21622	// HttpMethod is a required field
21623	HttpMethod *string `location:"uri" locationName:"http_method" type:"string" required:"true"`
21624
21625	// [Required] Specifies a put integration response request's resource identifier.
21626	//
21627	// ResourceId is a required field
21628	ResourceId *string `location:"uri" locationName:"resource_id" type:"string" required:"true"`
21629
21630	// A key-value map specifying response parameters that are passed to the method
21631	// response from the back end. The key is a method response header parameter
21632	// name and the mapped value is an integration response header value, a static
21633	// value enclosed within a pair of single quotes, or a JSON expression from
21634	// the integration response body. The mapping key must match the pattern of
21635	// method.response.header.{name}, where name is a valid and unique header name.
21636	// The mapped non-static value must match the pattern of integration.response.header.{name}
21637	// or integration.response.body.{JSON-expression}, where name must be a valid
21638	// and unique response header name and JSON-expression a valid JSON expression
21639	// without the $ prefix.
21640	ResponseParameters map[string]*string `locationName:"responseParameters" type:"map"`
21641
21642	// Specifies a put integration response's templates.
21643	ResponseTemplates map[string]*string `locationName:"responseTemplates" type:"map"`
21644
21645	// [Required] The string identifier of the associated RestApi.
21646	//
21647	// RestApiId is a required field
21648	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
21649
21650	// Specifies the selection pattern of a put integration response.
21651	SelectionPattern *string `locationName:"selectionPattern" type:"string"`
21652
21653	// [Required] Specifies the status code that is used to map the integration
21654	// response to an existing MethodResponse.
21655	//
21656	// StatusCode is a required field
21657	StatusCode *string `location:"uri" locationName:"status_code" type:"string" required:"true"`
21658}
21659
21660// String returns the string representation
21661func (s PutIntegrationResponseInput) String() string {
21662	return awsutil.Prettify(s)
21663}
21664
21665// GoString returns the string representation
21666func (s PutIntegrationResponseInput) GoString() string {
21667	return s.String()
21668}
21669
21670// Validate inspects the fields of the type to determine if they are valid.
21671func (s *PutIntegrationResponseInput) Validate() error {
21672	invalidParams := request.ErrInvalidParams{Context: "PutIntegrationResponseInput"}
21673	if s.HttpMethod == nil {
21674		invalidParams.Add(request.NewErrParamRequired("HttpMethod"))
21675	}
21676	if s.HttpMethod != nil && len(*s.HttpMethod) < 1 {
21677		invalidParams.Add(request.NewErrParamMinLen("HttpMethod", 1))
21678	}
21679	if s.ResourceId == nil {
21680		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
21681	}
21682	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
21683		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
21684	}
21685	if s.RestApiId == nil {
21686		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
21687	}
21688	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
21689		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
21690	}
21691	if s.StatusCode == nil {
21692		invalidParams.Add(request.NewErrParamRequired("StatusCode"))
21693	}
21694	if s.StatusCode != nil && len(*s.StatusCode) < 1 {
21695		invalidParams.Add(request.NewErrParamMinLen("StatusCode", 1))
21696	}
21697
21698	if invalidParams.Len() > 0 {
21699		return invalidParams
21700	}
21701	return nil
21702}
21703
21704// SetContentHandling sets the ContentHandling field's value.
21705func (s *PutIntegrationResponseInput) SetContentHandling(v string) *PutIntegrationResponseInput {
21706	s.ContentHandling = &v
21707	return s
21708}
21709
21710// SetHttpMethod sets the HttpMethod field's value.
21711func (s *PutIntegrationResponseInput) SetHttpMethod(v string) *PutIntegrationResponseInput {
21712	s.HttpMethod = &v
21713	return s
21714}
21715
21716// SetResourceId sets the ResourceId field's value.
21717func (s *PutIntegrationResponseInput) SetResourceId(v string) *PutIntegrationResponseInput {
21718	s.ResourceId = &v
21719	return s
21720}
21721
21722// SetResponseParameters sets the ResponseParameters field's value.
21723func (s *PutIntegrationResponseInput) SetResponseParameters(v map[string]*string) *PutIntegrationResponseInput {
21724	s.ResponseParameters = v
21725	return s
21726}
21727
21728// SetResponseTemplates sets the ResponseTemplates field's value.
21729func (s *PutIntegrationResponseInput) SetResponseTemplates(v map[string]*string) *PutIntegrationResponseInput {
21730	s.ResponseTemplates = v
21731	return s
21732}
21733
21734// SetRestApiId sets the RestApiId field's value.
21735func (s *PutIntegrationResponseInput) SetRestApiId(v string) *PutIntegrationResponseInput {
21736	s.RestApiId = &v
21737	return s
21738}
21739
21740// SetSelectionPattern sets the SelectionPattern field's value.
21741func (s *PutIntegrationResponseInput) SetSelectionPattern(v string) *PutIntegrationResponseInput {
21742	s.SelectionPattern = &v
21743	return s
21744}
21745
21746// SetStatusCode sets the StatusCode field's value.
21747func (s *PutIntegrationResponseInput) SetStatusCode(v string) *PutIntegrationResponseInput {
21748	s.StatusCode = &v
21749	return s
21750}
21751
21752// Request to add a method to an existing Resource resource.
21753type PutMethodInput struct {
21754	_ struct{} `type:"structure"`
21755
21756	// Specifies whether the method required a valid ApiKey.
21757	ApiKeyRequired *bool `locationName:"apiKeyRequired" type:"boolean"`
21758
21759	// A list of authorization scopes configured on the method. The scopes are used
21760	// with a COGNITO_USER_POOLS authorizer to authorize the method invocation.
21761	// The authorization works by matching the method scopes against the scopes
21762	// parsed from the access token in the incoming request. The method invocation
21763	// is authorized if any method scopes matches a claimed scope in the access
21764	// token. Otherwise, the invocation is not authorized. When the method scope
21765	// is configured, the client must provide an access token instead of an identity
21766	// token for authorization purposes.
21767	AuthorizationScopes []*string `locationName:"authorizationScopes" type:"list"`
21768
21769	// [Required] The method's authorization type. Valid values are NONE for open
21770	// access, AWS_IAM for using AWS IAM permissions, CUSTOM for using a custom
21771	// authorizer, or COGNITO_USER_POOLS for using a Cognito user pool.
21772	//
21773	// AuthorizationType is a required field
21774	AuthorizationType *string `locationName:"authorizationType" type:"string" required:"true"`
21775
21776	// Specifies the identifier of an Authorizer to use on this Method, if the type
21777	// is CUSTOM or COGNITO_USER_POOLS. The authorizer identifier is generated by
21778	// API Gateway when you created the authorizer.
21779	AuthorizerId *string `locationName:"authorizerId" type:"string"`
21780
21781	// [Required] Specifies the method request's HTTP method type.
21782	//
21783	// HttpMethod is a required field
21784	HttpMethod *string `location:"uri" locationName:"http_method" type:"string" required:"true"`
21785
21786	// A human-friendly operation identifier for the method. For example, you can
21787	// assign the operationName of ListPets for the GET /pets method in the PetStore
21788	// example.
21789	OperationName *string `locationName:"operationName" type:"string"`
21790
21791	// Specifies the Model resources used for the request's content type. Request
21792	// models are represented as a key/value map, with a content type as the key
21793	// and a Model name as the value.
21794	RequestModels map[string]*string `locationName:"requestModels" type:"map"`
21795
21796	// A key-value map defining required or optional method request parameters that
21797	// can be accepted by API Gateway. A key defines a method request parameter
21798	// name matching the pattern of method.request.{location}.{name}, where location
21799	// is querystring, path, or header and name is a valid and unique parameter
21800	// name. The value associated with the key is a Boolean flag indicating whether
21801	// the parameter is required (true) or optional (false). The method request
21802	// parameter names defined here are available in Integration to be mapped to
21803	// integration request parameters or body-mapping templates.
21804	RequestParameters map[string]*bool `locationName:"requestParameters" type:"map"`
21805
21806	// The identifier of a RequestValidator for validating the method request.
21807	RequestValidatorId *string `locationName:"requestValidatorId" type:"string"`
21808
21809	// [Required] The Resource identifier for the new Method resource.
21810	//
21811	// ResourceId is a required field
21812	ResourceId *string `location:"uri" locationName:"resource_id" type:"string" required:"true"`
21813
21814	// [Required] The string identifier of the associated RestApi.
21815	//
21816	// RestApiId is a required field
21817	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
21818}
21819
21820// String returns the string representation
21821func (s PutMethodInput) String() string {
21822	return awsutil.Prettify(s)
21823}
21824
21825// GoString returns the string representation
21826func (s PutMethodInput) GoString() string {
21827	return s.String()
21828}
21829
21830// Validate inspects the fields of the type to determine if they are valid.
21831func (s *PutMethodInput) Validate() error {
21832	invalidParams := request.ErrInvalidParams{Context: "PutMethodInput"}
21833	if s.AuthorizationType == nil {
21834		invalidParams.Add(request.NewErrParamRequired("AuthorizationType"))
21835	}
21836	if s.HttpMethod == nil {
21837		invalidParams.Add(request.NewErrParamRequired("HttpMethod"))
21838	}
21839	if s.HttpMethod != nil && len(*s.HttpMethod) < 1 {
21840		invalidParams.Add(request.NewErrParamMinLen("HttpMethod", 1))
21841	}
21842	if s.ResourceId == nil {
21843		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
21844	}
21845	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
21846		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
21847	}
21848	if s.RestApiId == nil {
21849		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
21850	}
21851	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
21852		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
21853	}
21854
21855	if invalidParams.Len() > 0 {
21856		return invalidParams
21857	}
21858	return nil
21859}
21860
21861// SetApiKeyRequired sets the ApiKeyRequired field's value.
21862func (s *PutMethodInput) SetApiKeyRequired(v bool) *PutMethodInput {
21863	s.ApiKeyRequired = &v
21864	return s
21865}
21866
21867// SetAuthorizationScopes sets the AuthorizationScopes field's value.
21868func (s *PutMethodInput) SetAuthorizationScopes(v []*string) *PutMethodInput {
21869	s.AuthorizationScopes = v
21870	return s
21871}
21872
21873// SetAuthorizationType sets the AuthorizationType field's value.
21874func (s *PutMethodInput) SetAuthorizationType(v string) *PutMethodInput {
21875	s.AuthorizationType = &v
21876	return s
21877}
21878
21879// SetAuthorizerId sets the AuthorizerId field's value.
21880func (s *PutMethodInput) SetAuthorizerId(v string) *PutMethodInput {
21881	s.AuthorizerId = &v
21882	return s
21883}
21884
21885// SetHttpMethod sets the HttpMethod field's value.
21886func (s *PutMethodInput) SetHttpMethod(v string) *PutMethodInput {
21887	s.HttpMethod = &v
21888	return s
21889}
21890
21891// SetOperationName sets the OperationName field's value.
21892func (s *PutMethodInput) SetOperationName(v string) *PutMethodInput {
21893	s.OperationName = &v
21894	return s
21895}
21896
21897// SetRequestModels sets the RequestModels field's value.
21898func (s *PutMethodInput) SetRequestModels(v map[string]*string) *PutMethodInput {
21899	s.RequestModels = v
21900	return s
21901}
21902
21903// SetRequestParameters sets the RequestParameters field's value.
21904func (s *PutMethodInput) SetRequestParameters(v map[string]*bool) *PutMethodInput {
21905	s.RequestParameters = v
21906	return s
21907}
21908
21909// SetRequestValidatorId sets the RequestValidatorId field's value.
21910func (s *PutMethodInput) SetRequestValidatorId(v string) *PutMethodInput {
21911	s.RequestValidatorId = &v
21912	return s
21913}
21914
21915// SetResourceId sets the ResourceId field's value.
21916func (s *PutMethodInput) SetResourceId(v string) *PutMethodInput {
21917	s.ResourceId = &v
21918	return s
21919}
21920
21921// SetRestApiId sets the RestApiId field's value.
21922func (s *PutMethodInput) SetRestApiId(v string) *PutMethodInput {
21923	s.RestApiId = &v
21924	return s
21925}
21926
21927// Request to add a MethodResponse to an existing Method resource.
21928type PutMethodResponseInput struct {
21929	_ struct{} `type:"structure"`
21930
21931	// [Required] The HTTP verb of the Method resource.
21932	//
21933	// HttpMethod is a required field
21934	HttpMethod *string `location:"uri" locationName:"http_method" type:"string" required:"true"`
21935
21936	// [Required] The Resource identifier for the Method resource.
21937	//
21938	// ResourceId is a required field
21939	ResourceId *string `location:"uri" locationName:"resource_id" type:"string" required:"true"`
21940
21941	// Specifies the Model resources used for the response's content type. Response
21942	// models are represented as a key/value map, with a content type as the key
21943	// and a Model name as the value.
21944	ResponseModels map[string]*string `locationName:"responseModels" type:"map"`
21945
21946	// A key-value map specifying required or optional response parameters that
21947	// API Gateway can send back to the caller. A key defines a method response
21948	// header name and the associated value is a Boolean flag indicating whether
21949	// the method response parameter is required or not. The method response header
21950	// names must match the pattern of method.response.header.{name}, where name
21951	// is a valid and unique header name. The response parameter names defined here
21952	// are available in the integration response to be mapped from an integration
21953	// response header expressed in integration.response.header.{name}, a static
21954	// value enclosed within a pair of single quotes (e.g., 'application/json'),
21955	// or a JSON expression from the back-end response payload in the form of integration.response.body.{JSON-expression},
21956	// where JSON-expression is a valid JSON expression without the $ prefix.)
21957	ResponseParameters map[string]*bool `locationName:"responseParameters" type:"map"`
21958
21959	// [Required] The string identifier of the associated RestApi.
21960	//
21961	// RestApiId is a required field
21962	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
21963
21964	// [Required] The method response's status code.
21965	//
21966	// StatusCode is a required field
21967	StatusCode *string `location:"uri" locationName:"status_code" type:"string" required:"true"`
21968}
21969
21970// String returns the string representation
21971func (s PutMethodResponseInput) String() string {
21972	return awsutil.Prettify(s)
21973}
21974
21975// GoString returns the string representation
21976func (s PutMethodResponseInput) GoString() string {
21977	return s.String()
21978}
21979
21980// Validate inspects the fields of the type to determine if they are valid.
21981func (s *PutMethodResponseInput) Validate() error {
21982	invalidParams := request.ErrInvalidParams{Context: "PutMethodResponseInput"}
21983	if s.HttpMethod == nil {
21984		invalidParams.Add(request.NewErrParamRequired("HttpMethod"))
21985	}
21986	if s.HttpMethod != nil && len(*s.HttpMethod) < 1 {
21987		invalidParams.Add(request.NewErrParamMinLen("HttpMethod", 1))
21988	}
21989	if s.ResourceId == nil {
21990		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
21991	}
21992	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
21993		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
21994	}
21995	if s.RestApiId == nil {
21996		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
21997	}
21998	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
21999		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
22000	}
22001	if s.StatusCode == nil {
22002		invalidParams.Add(request.NewErrParamRequired("StatusCode"))
22003	}
22004	if s.StatusCode != nil && len(*s.StatusCode) < 1 {
22005		invalidParams.Add(request.NewErrParamMinLen("StatusCode", 1))
22006	}
22007
22008	if invalidParams.Len() > 0 {
22009		return invalidParams
22010	}
22011	return nil
22012}
22013
22014// SetHttpMethod sets the HttpMethod field's value.
22015func (s *PutMethodResponseInput) SetHttpMethod(v string) *PutMethodResponseInput {
22016	s.HttpMethod = &v
22017	return s
22018}
22019
22020// SetResourceId sets the ResourceId field's value.
22021func (s *PutMethodResponseInput) SetResourceId(v string) *PutMethodResponseInput {
22022	s.ResourceId = &v
22023	return s
22024}
22025
22026// SetResponseModels sets the ResponseModels field's value.
22027func (s *PutMethodResponseInput) SetResponseModels(v map[string]*string) *PutMethodResponseInput {
22028	s.ResponseModels = v
22029	return s
22030}
22031
22032// SetResponseParameters sets the ResponseParameters field's value.
22033func (s *PutMethodResponseInput) SetResponseParameters(v map[string]*bool) *PutMethodResponseInput {
22034	s.ResponseParameters = v
22035	return s
22036}
22037
22038// SetRestApiId sets the RestApiId field's value.
22039func (s *PutMethodResponseInput) SetRestApiId(v string) *PutMethodResponseInput {
22040	s.RestApiId = &v
22041	return s
22042}
22043
22044// SetStatusCode sets the StatusCode field's value.
22045func (s *PutMethodResponseInput) SetStatusCode(v string) *PutMethodResponseInput {
22046	s.StatusCode = &v
22047	return s
22048}
22049
22050// A PUT request to update an existing API, with external API definitions specified
22051// as the request body.
22052type PutRestApiInput struct {
22053	_ struct{} `type:"structure" payload:"Body"`
22054
22055	// [Required] The PUT request body containing external API definitions. Currently,
22056	// only OpenAPI definition JSON/YAML files are supported. The maximum size of
22057	// the API definition file is 6MB.
22058	//
22059	// Body is a required field
22060	Body []byte `locationName:"body" type:"blob" required:"true"`
22061
22062	// A query parameter to indicate whether to rollback the API update (true) or
22063	// not (false) when a warning is encountered. The default value is false.
22064	FailOnWarnings *bool `location:"querystring" locationName:"failonwarnings" type:"boolean"`
22065
22066	// The mode query parameter to specify the update mode. Valid values are "merge"
22067	// and "overwrite". By default, the update mode is "merge".
22068	Mode *string `location:"querystring" locationName:"mode" type:"string" enum:"PutMode"`
22069
22070	// Custom header parameters as part of the request. For example, to exclude
22071	// DocumentationParts from an imported API, set ignore=documentation as a parameters
22072	// value, as in the AWS CLI command of aws apigateway import-rest-api --parameters
22073	// ignore=documentation --body 'file:///path/to/imported-api-body.json'.
22074	Parameters map[string]*string `location:"querystring" locationName:"parameters" type:"map"`
22075
22076	// [Required] The string identifier of the associated RestApi.
22077	//
22078	// RestApiId is a required field
22079	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
22080}
22081
22082// String returns the string representation
22083func (s PutRestApiInput) String() string {
22084	return awsutil.Prettify(s)
22085}
22086
22087// GoString returns the string representation
22088func (s PutRestApiInput) GoString() string {
22089	return s.String()
22090}
22091
22092// Validate inspects the fields of the type to determine if they are valid.
22093func (s *PutRestApiInput) Validate() error {
22094	invalidParams := request.ErrInvalidParams{Context: "PutRestApiInput"}
22095	if s.Body == nil {
22096		invalidParams.Add(request.NewErrParamRequired("Body"))
22097	}
22098	if s.RestApiId == nil {
22099		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
22100	}
22101	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
22102		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
22103	}
22104
22105	if invalidParams.Len() > 0 {
22106		return invalidParams
22107	}
22108	return nil
22109}
22110
22111// SetBody sets the Body field's value.
22112func (s *PutRestApiInput) SetBody(v []byte) *PutRestApiInput {
22113	s.Body = v
22114	return s
22115}
22116
22117// SetFailOnWarnings sets the FailOnWarnings field's value.
22118func (s *PutRestApiInput) SetFailOnWarnings(v bool) *PutRestApiInput {
22119	s.FailOnWarnings = &v
22120	return s
22121}
22122
22123// SetMode sets the Mode field's value.
22124func (s *PutRestApiInput) SetMode(v string) *PutRestApiInput {
22125	s.Mode = &v
22126	return s
22127}
22128
22129// SetParameters sets the Parameters field's value.
22130func (s *PutRestApiInput) SetParameters(v map[string]*string) *PutRestApiInput {
22131	s.Parameters = v
22132	return s
22133}
22134
22135// SetRestApiId sets the RestApiId field's value.
22136func (s *PutRestApiInput) SetRestApiId(v string) *PutRestApiInput {
22137	s.RestApiId = &v
22138	return s
22139}
22140
22141// Quotas configured for a usage plan.
22142type QuotaSettings struct {
22143	_ struct{} `type:"structure"`
22144
22145	// The maximum number of requests that can be made in a given time period.
22146	Limit *int64 `locationName:"limit" type:"integer"`
22147
22148	// The day that a time period starts. For example, with a time period of WEEK,
22149	// an offset of 0 starts on Sunday, and an offset of 1 starts on Monday.
22150	Offset *int64 `locationName:"offset" type:"integer"`
22151
22152	// The time period in which the limit applies. Valid values are "DAY", "WEEK"
22153	// or "MONTH".
22154	Period *string `locationName:"period" type:"string" enum:"QuotaPeriodType"`
22155}
22156
22157// String returns the string representation
22158func (s QuotaSettings) String() string {
22159	return awsutil.Prettify(s)
22160}
22161
22162// GoString returns the string representation
22163func (s QuotaSettings) GoString() string {
22164	return s.String()
22165}
22166
22167// SetLimit sets the Limit field's value.
22168func (s *QuotaSettings) SetLimit(v int64) *QuotaSettings {
22169	s.Limit = &v
22170	return s
22171}
22172
22173// SetOffset sets the Offset field's value.
22174func (s *QuotaSettings) SetOffset(v int64) *QuotaSettings {
22175	s.Offset = &v
22176	return s
22177}
22178
22179// SetPeriod sets the Period field's value.
22180func (s *QuotaSettings) SetPeriod(v string) *QuotaSettings {
22181	s.Period = &v
22182	return s
22183}
22184
22185// Represents an API resource.
22186//
22187// Create an API (https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-create-api.html)
22188type Resource struct {
22189	_ struct{} `type:"structure"`
22190
22191	// The resource's identifier.
22192	Id *string `locationName:"id" type:"string"`
22193
22194	// The parent resource's identifier.
22195	ParentId *string `locationName:"parentId" type:"string"`
22196
22197	// The full path for this resource.
22198	Path *string `locationName:"path" type:"string"`
22199
22200	// The last path segment for this resource.
22201	PathPart *string `locationName:"pathPart" type:"string"`
22202
22203	// Gets an API resource's method of a given HTTP verb.
22204	//
22205	// The resource methods are a map of methods indexed by methods' HTTP verbs
22206	// enabled on the resource. This method map is included in the 200 OK response
22207	// of the GET /restapis/{restapi_id}/resources/{resource_id} or GET /restapis/{restapi_id}/resources/{resource_id}?embed=methods
22208	// request.
22209	//
22210	// Example: Get the GET method of an API resource
22211	//
22212	// Request
22213	//  GET /restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET HTTP/1.1 Content-Type:
22214	//  application/json Host: apigateway.us-east-1.amazonaws.com X-Amz-Date: 20170223T031827Z
22215	//  Authorization: AWS4-HMAC-SHA256 Credential={access_key_ID}/20170223/us-east-1/apigateway/aws4_request,
22216	//  SignedHeaders=content-type;host;x-amz-date, Signature={sig4_hash}
22217	// Response
22218	//  { "_links": { "curies": [ { "href": "https://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-integration-{rel}.html",
22219	//  "name": "integration", "templated": true }, { "href": "https://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-integration-response-{rel}.html",
22220	//  "name": "integrationresponse", "templated": true }, { "href": "https://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-method-{rel}.html",
22221	//  "name": "method", "templated": true }, { "href": "https://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-method-response-{rel}.html",
22222	//  "name": "methodresponse", "templated": true } ], "self": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET",
22223	//  "name": "GET", "title": "GET" }, "integration:put": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration"
22224	//  }, "method:delete": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET"
22225	//  }, "method:integration": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration"
22226	//  }, "method:responses": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/200",
22227	//  "name": "200", "title": "200" }, "method:update": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET"
22228	//  }, "methodresponse:put": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/{status_code}",
22229	//  "templated": true } }, "apiKeyRequired": false, "authorizationType": "NONE",
22230	//  "httpMethod": "GET", "_embedded": { "method:integration": { "_links": {
22231	//  "self": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration"
22232	//  }, "integration:delete": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration"
22233	//  }, "integration:responses": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200",
22234	//  "name": "200", "title": "200" }, "integration:update": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration"
22235	//  }, "integrationresponse:put": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/{status_code}",
22236	//  "templated": true } }, "cacheKeyParameters": [], "cacheNamespace": "3kzxbg5sa2",
22237	//  "credentials": "arn:aws:iam::123456789012:role/apigAwsProxyRole", "httpMethod":
22238	//  "POST", "passthroughBehavior": "WHEN_NO_MATCH", "requestParameters": { "integration.request.header.Content-Type":
22239	//  "'application/x-amz-json-1.1'" }, "requestTemplates": { "application/json":
22240	//  "{\n}" }, "type": "AWS", "uri": "arn:aws:apigateway:us-east-1:kinesis:action/ListStreams",
22241	//  "_embedded": { "integration:responses": { "_links": { "self": { "href":
22242	//  "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200",
22243	//  "name": "200", "title": "200" }, "integrationresponse:delete": { "href":
22244	//  "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200"
22245	//  }, "integrationresponse:update": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200"
22246	//  } }, "responseParameters": { "method.response.header.Content-Type": "'application/xml'"
22247	//  }, "responseTemplates": { "application/json": "$util.urlDecode(\"%3CkinesisStreams%3E#foreach($stream
22248	//  in $input.path('$.StreamNames'))%3Cstream%3E%3Cname%3E$stream%3C/name%3E%3C/stream%3E#end%3C/kinesisStreams%3E\")\n"
22249	//  }, "statusCode": "200" } } }, "method:responses": { "_links": { "self":
22250	//  { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/200",
22251	//  "name": "200", "title": "200" }, "methodresponse:delete": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/200"
22252	//  }, "methodresponse:update": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/200"
22253	//  } }, "responseModels": { "application/json": "Empty" }, "responseParameters":
22254	//  { "method.response.header.Content-Type": false }, "statusCode": "200" }
22255	//  } }
22256	// If the OPTIONS is enabled on the resource, you can follow the example here
22257	// to get that method. Just replace the GET of the last path segment in the
22258	// request URL with OPTIONS.
22259	ResourceMethods map[string]*Method `locationName:"resourceMethods" type:"map"`
22260}
22261
22262// String returns the string representation
22263func (s Resource) String() string {
22264	return awsutil.Prettify(s)
22265}
22266
22267// GoString returns the string representation
22268func (s Resource) GoString() string {
22269	return s.String()
22270}
22271
22272// SetId sets the Id field's value.
22273func (s *Resource) SetId(v string) *Resource {
22274	s.Id = &v
22275	return s
22276}
22277
22278// SetParentId sets the ParentId field's value.
22279func (s *Resource) SetParentId(v string) *Resource {
22280	s.ParentId = &v
22281	return s
22282}
22283
22284// SetPath sets the Path field's value.
22285func (s *Resource) SetPath(v string) *Resource {
22286	s.Path = &v
22287	return s
22288}
22289
22290// SetPathPart sets the PathPart field's value.
22291func (s *Resource) SetPathPart(v string) *Resource {
22292	s.PathPart = &v
22293	return s
22294}
22295
22296// SetResourceMethods sets the ResourceMethods field's value.
22297func (s *Resource) SetResourceMethods(v map[string]*Method) *Resource {
22298	s.ResourceMethods = v
22299	return s
22300}
22301
22302// Represents a REST API.
22303//
22304// Create an API (https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-create-api.html)
22305type RestApi struct {
22306	_ struct{} `type:"structure"`
22307
22308	// The source of the API key for metering requests according to a usage plan.
22309	// Valid values are:
22310	//    * HEADER to read the API key from the X-API-Key header of a request.
22311	//
22312	//    * AUTHORIZER to read the API key from the UsageIdentifierKey from a custom
22313	//    authorizer.
22314	ApiKeySource *string `locationName:"apiKeySource" type:"string" enum:"ApiKeySourceType"`
22315
22316	// The list of binary media types supported by the RestApi. By default, the
22317	// RestApi supports only UTF-8-encoded text payloads.
22318	BinaryMediaTypes []*string `locationName:"binaryMediaTypes" type:"list"`
22319
22320	// The timestamp when the API was created.
22321	CreatedDate *time.Time `locationName:"createdDate" type:"timestamp"`
22322
22323	// The API's description.
22324	Description *string `locationName:"description" type:"string"`
22325
22326	// Specifies whether clients can invoke your API by using the default execute-api
22327	// endpoint. By default, clients can invoke your API with the default https://{api_id}.execute-api.{region}.amazonaws.com
22328	// endpoint. To require that clients use a custom domain name to invoke your
22329	// API, disable the default endpoint.
22330	DisableExecuteApiEndpoint *bool `locationName:"disableExecuteApiEndpoint" type:"boolean"`
22331
22332	// The endpoint configuration of this RestApi showing the endpoint types of
22333	// the API.
22334	EndpointConfiguration *EndpointConfiguration `locationName:"endpointConfiguration" type:"structure"`
22335
22336	// The API's identifier. This identifier is unique across all of your APIs in
22337	// API Gateway.
22338	Id *string `locationName:"id" type:"string"`
22339
22340	// A nullable integer that is used to enable compression (with non-negative
22341	// between 0 and 10485760 (10M) bytes, inclusive) or disable compression (with
22342	// a null value) on an API. When compression is enabled, compression or decompression
22343	// is not applied on the payload if the payload size is smaller than this value.
22344	// Setting it to zero allows compression for any payload size.
22345	MinimumCompressionSize *int64 `locationName:"minimumCompressionSize" type:"integer"`
22346
22347	// The API's name.
22348	Name *string `locationName:"name" type:"string"`
22349
22350	// A stringified JSON policy document that applies to this RestApi regardless
22351	// of the caller and Method configuration.
22352	Policy *string `locationName:"policy" type:"string"`
22353
22354	// The collection of tags. Each tag element is associated with a given resource.
22355	Tags map[string]*string `locationName:"tags" type:"map"`
22356
22357	// A version identifier for the API.
22358	Version *string `locationName:"version" type:"string"`
22359
22360	// The warning messages reported when failonwarnings is turned on during API
22361	// import.
22362	Warnings []*string `locationName:"warnings" type:"list"`
22363}
22364
22365// String returns the string representation
22366func (s RestApi) String() string {
22367	return awsutil.Prettify(s)
22368}
22369
22370// GoString returns the string representation
22371func (s RestApi) GoString() string {
22372	return s.String()
22373}
22374
22375// SetApiKeySource sets the ApiKeySource field's value.
22376func (s *RestApi) SetApiKeySource(v string) *RestApi {
22377	s.ApiKeySource = &v
22378	return s
22379}
22380
22381// SetBinaryMediaTypes sets the BinaryMediaTypes field's value.
22382func (s *RestApi) SetBinaryMediaTypes(v []*string) *RestApi {
22383	s.BinaryMediaTypes = v
22384	return s
22385}
22386
22387// SetCreatedDate sets the CreatedDate field's value.
22388func (s *RestApi) SetCreatedDate(v time.Time) *RestApi {
22389	s.CreatedDate = &v
22390	return s
22391}
22392
22393// SetDescription sets the Description field's value.
22394func (s *RestApi) SetDescription(v string) *RestApi {
22395	s.Description = &v
22396	return s
22397}
22398
22399// SetDisableExecuteApiEndpoint sets the DisableExecuteApiEndpoint field's value.
22400func (s *RestApi) SetDisableExecuteApiEndpoint(v bool) *RestApi {
22401	s.DisableExecuteApiEndpoint = &v
22402	return s
22403}
22404
22405// SetEndpointConfiguration sets the EndpointConfiguration field's value.
22406func (s *RestApi) SetEndpointConfiguration(v *EndpointConfiguration) *RestApi {
22407	s.EndpointConfiguration = v
22408	return s
22409}
22410
22411// SetId sets the Id field's value.
22412func (s *RestApi) SetId(v string) *RestApi {
22413	s.Id = &v
22414	return s
22415}
22416
22417// SetMinimumCompressionSize sets the MinimumCompressionSize field's value.
22418func (s *RestApi) SetMinimumCompressionSize(v int64) *RestApi {
22419	s.MinimumCompressionSize = &v
22420	return s
22421}
22422
22423// SetName sets the Name field's value.
22424func (s *RestApi) SetName(v string) *RestApi {
22425	s.Name = &v
22426	return s
22427}
22428
22429// SetPolicy sets the Policy field's value.
22430func (s *RestApi) SetPolicy(v string) *RestApi {
22431	s.Policy = &v
22432	return s
22433}
22434
22435// SetTags sets the Tags field's value.
22436func (s *RestApi) SetTags(v map[string]*string) *RestApi {
22437	s.Tags = v
22438	return s
22439}
22440
22441// SetVersion sets the Version field's value.
22442func (s *RestApi) SetVersion(v string) *RestApi {
22443	s.Version = &v
22444	return s
22445}
22446
22447// SetWarnings sets the Warnings field's value.
22448func (s *RestApi) SetWarnings(v []*string) *RestApi {
22449	s.Warnings = v
22450	return s
22451}
22452
22453// A configuration property of an SDK type.
22454type SdkConfigurationProperty struct {
22455	_ struct{} `type:"structure"`
22456
22457	// The default value of an SdkType configuration property.
22458	DefaultValue *string `locationName:"defaultValue" type:"string"`
22459
22460	// The description of an SdkType configuration property.
22461	Description *string `locationName:"description" type:"string"`
22462
22463	// The user-friendly name of an SdkType configuration property.
22464	FriendlyName *string `locationName:"friendlyName" type:"string"`
22465
22466	// The name of a an SdkType configuration property.
22467	Name *string `locationName:"name" type:"string"`
22468
22469	// A boolean flag of an SdkType configuration property to indicate if the associated
22470	// SDK configuration property is required (true) or not (false).
22471	Required *bool `locationName:"required" type:"boolean"`
22472}
22473
22474// String returns the string representation
22475func (s SdkConfigurationProperty) String() string {
22476	return awsutil.Prettify(s)
22477}
22478
22479// GoString returns the string representation
22480func (s SdkConfigurationProperty) GoString() string {
22481	return s.String()
22482}
22483
22484// SetDefaultValue sets the DefaultValue field's value.
22485func (s *SdkConfigurationProperty) SetDefaultValue(v string) *SdkConfigurationProperty {
22486	s.DefaultValue = &v
22487	return s
22488}
22489
22490// SetDescription sets the Description field's value.
22491func (s *SdkConfigurationProperty) SetDescription(v string) *SdkConfigurationProperty {
22492	s.Description = &v
22493	return s
22494}
22495
22496// SetFriendlyName sets the FriendlyName field's value.
22497func (s *SdkConfigurationProperty) SetFriendlyName(v string) *SdkConfigurationProperty {
22498	s.FriendlyName = &v
22499	return s
22500}
22501
22502// SetName sets the Name field's value.
22503func (s *SdkConfigurationProperty) SetName(v string) *SdkConfigurationProperty {
22504	s.Name = &v
22505	return s
22506}
22507
22508// SetRequired sets the Required field's value.
22509func (s *SdkConfigurationProperty) SetRequired(v bool) *SdkConfigurationProperty {
22510	s.Required = &v
22511	return s
22512}
22513
22514// A type of SDK that API Gateway can generate.
22515type SdkType struct {
22516	_ struct{} `type:"structure"`
22517
22518	// A list of configuration properties of an SdkType.
22519	ConfigurationProperties []*SdkConfigurationProperty `locationName:"configurationProperties" type:"list"`
22520
22521	// The description of an SdkType.
22522	Description *string `locationName:"description" type:"string"`
22523
22524	// The user-friendly name of an SdkType instance.
22525	FriendlyName *string `locationName:"friendlyName" type:"string"`
22526
22527	// The identifier of an SdkType instance.
22528	Id *string `locationName:"id" type:"string"`
22529}
22530
22531// String returns the string representation
22532func (s SdkType) String() string {
22533	return awsutil.Prettify(s)
22534}
22535
22536// GoString returns the string representation
22537func (s SdkType) GoString() string {
22538	return s.String()
22539}
22540
22541// SetConfigurationProperties sets the ConfigurationProperties field's value.
22542func (s *SdkType) SetConfigurationProperties(v []*SdkConfigurationProperty) *SdkType {
22543	s.ConfigurationProperties = v
22544	return s
22545}
22546
22547// SetDescription sets the Description field's value.
22548func (s *SdkType) SetDescription(v string) *SdkType {
22549	s.Description = &v
22550	return s
22551}
22552
22553// SetFriendlyName sets the FriendlyName field's value.
22554func (s *SdkType) SetFriendlyName(v string) *SdkType {
22555	s.FriendlyName = &v
22556	return s
22557}
22558
22559// SetId sets the Id field's value.
22560func (s *SdkType) SetId(v string) *SdkType {
22561	s.Id = &v
22562	return s
22563}
22564
22565// The requested service is not available. For details see the accompanying
22566// error message. Retry after the specified time period.
22567type ServiceUnavailableException struct {
22568	_            struct{}                  `type:"structure"`
22569	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
22570
22571	Message_ *string `locationName:"message" type:"string"`
22572
22573	RetryAfterSeconds *string `location:"header" locationName:"Retry-After" type:"string"`
22574}
22575
22576// String returns the string representation
22577func (s ServiceUnavailableException) String() string {
22578	return awsutil.Prettify(s)
22579}
22580
22581// GoString returns the string representation
22582func (s ServiceUnavailableException) GoString() string {
22583	return s.String()
22584}
22585
22586func newErrorServiceUnavailableException(v protocol.ResponseMetadata) error {
22587	return &ServiceUnavailableException{
22588		RespMetadata: v,
22589	}
22590}
22591
22592// Code returns the exception type name.
22593func (s *ServiceUnavailableException) Code() string {
22594	return "ServiceUnavailableException"
22595}
22596
22597// Message returns the exception's message.
22598func (s *ServiceUnavailableException) Message() string {
22599	if s.Message_ != nil {
22600		return *s.Message_
22601	}
22602	return ""
22603}
22604
22605// OrigErr always returns nil, satisfies awserr.Error interface.
22606func (s *ServiceUnavailableException) OrigErr() error {
22607	return nil
22608}
22609
22610func (s *ServiceUnavailableException) Error() string {
22611	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
22612}
22613
22614// Status code returns the HTTP status code for the request's response error.
22615func (s *ServiceUnavailableException) StatusCode() int {
22616	return s.RespMetadata.StatusCode
22617}
22618
22619// RequestID returns the service's response RequestID for request.
22620func (s *ServiceUnavailableException) RequestID() string {
22621	return s.RespMetadata.RequestID
22622}
22623
22624// Represents a unique identifier for a version of a deployed RestApi that is
22625// callable by users.
22626//
22627// Deploy an API (https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-deploy-api.html)
22628type Stage struct {
22629	_ struct{} `type:"structure"`
22630
22631	// Settings for logging access in this stage.
22632	AccessLogSettings *AccessLogSettings `locationName:"accessLogSettings" type:"structure"`
22633
22634	// Specifies whether a cache cluster is enabled for the stage.
22635	CacheClusterEnabled *bool `locationName:"cacheClusterEnabled" type:"boolean"`
22636
22637	// The size of the cache cluster for the stage, if enabled.
22638	CacheClusterSize *string `locationName:"cacheClusterSize" type:"string" enum:"CacheClusterSize"`
22639
22640	// The status of the cache cluster for the stage, if enabled.
22641	CacheClusterStatus *string `locationName:"cacheClusterStatus" type:"string" enum:"CacheClusterStatus"`
22642
22643	// Settings for the canary deployment in this stage.
22644	CanarySettings *CanarySettings `locationName:"canarySettings" type:"structure"`
22645
22646	// The identifier of a client certificate for an API stage.
22647	ClientCertificateId *string `locationName:"clientCertificateId" type:"string"`
22648
22649	// The timestamp when the stage was created.
22650	CreatedDate *time.Time `locationName:"createdDate" type:"timestamp"`
22651
22652	// The identifier of the Deployment that the stage points to.
22653	DeploymentId *string `locationName:"deploymentId" type:"string"`
22654
22655	// The stage's description.
22656	Description *string `locationName:"description" type:"string"`
22657
22658	// The version of the associated API documentation.
22659	DocumentationVersion *string `locationName:"documentationVersion" type:"string"`
22660
22661	// The timestamp when the stage last updated.
22662	LastUpdatedDate *time.Time `locationName:"lastUpdatedDate" type:"timestamp"`
22663
22664	// A map that defines the method settings for a Stage resource. Keys (designated
22665	// as /{method_setting_key below) are method paths defined as {resource_path}/{http_method}
22666	// for an individual method override, or /\*/\* for overriding all methods in
22667	// the stage.
22668	MethodSettings map[string]*MethodSetting `locationName:"methodSettings" type:"map"`
22669
22670	// The name of the stage is the first path segment in the Uniform Resource Identifier
22671	// (URI) of a call to API Gateway. Stage names can only contain alphanumeric
22672	// characters, hyphens, and underscores. Maximum length is 128 characters.
22673	StageName *string `locationName:"stageName" type:"string"`
22674
22675	// The collection of tags. Each tag element is associated with a given resource.
22676	Tags map[string]*string `locationName:"tags" type:"map"`
22677
22678	// Specifies whether active tracing with X-ray is enabled for the Stage.
22679	TracingEnabled *bool `locationName:"tracingEnabled" type:"boolean"`
22680
22681	// A map that defines the stage variables for a Stage resource. Variable names
22682	// can have alphanumeric and underscore characters, and the values must match
22683	// [A-Za-z0-9-._~:/?#&=,]+.
22684	Variables map[string]*string `locationName:"variables" type:"map"`
22685
22686	// The ARN of the WebAcl associated with the Stage.
22687	WebAclArn *string `locationName:"webAclArn" type:"string"`
22688}
22689
22690// String returns the string representation
22691func (s Stage) String() string {
22692	return awsutil.Prettify(s)
22693}
22694
22695// GoString returns the string representation
22696func (s Stage) GoString() string {
22697	return s.String()
22698}
22699
22700// SetAccessLogSettings sets the AccessLogSettings field's value.
22701func (s *Stage) SetAccessLogSettings(v *AccessLogSettings) *Stage {
22702	s.AccessLogSettings = v
22703	return s
22704}
22705
22706// SetCacheClusterEnabled sets the CacheClusterEnabled field's value.
22707func (s *Stage) SetCacheClusterEnabled(v bool) *Stage {
22708	s.CacheClusterEnabled = &v
22709	return s
22710}
22711
22712// SetCacheClusterSize sets the CacheClusterSize field's value.
22713func (s *Stage) SetCacheClusterSize(v string) *Stage {
22714	s.CacheClusterSize = &v
22715	return s
22716}
22717
22718// SetCacheClusterStatus sets the CacheClusterStatus field's value.
22719func (s *Stage) SetCacheClusterStatus(v string) *Stage {
22720	s.CacheClusterStatus = &v
22721	return s
22722}
22723
22724// SetCanarySettings sets the CanarySettings field's value.
22725func (s *Stage) SetCanarySettings(v *CanarySettings) *Stage {
22726	s.CanarySettings = v
22727	return s
22728}
22729
22730// SetClientCertificateId sets the ClientCertificateId field's value.
22731func (s *Stage) SetClientCertificateId(v string) *Stage {
22732	s.ClientCertificateId = &v
22733	return s
22734}
22735
22736// SetCreatedDate sets the CreatedDate field's value.
22737func (s *Stage) SetCreatedDate(v time.Time) *Stage {
22738	s.CreatedDate = &v
22739	return s
22740}
22741
22742// SetDeploymentId sets the DeploymentId field's value.
22743func (s *Stage) SetDeploymentId(v string) *Stage {
22744	s.DeploymentId = &v
22745	return s
22746}
22747
22748// SetDescription sets the Description field's value.
22749func (s *Stage) SetDescription(v string) *Stage {
22750	s.Description = &v
22751	return s
22752}
22753
22754// SetDocumentationVersion sets the DocumentationVersion field's value.
22755func (s *Stage) SetDocumentationVersion(v string) *Stage {
22756	s.DocumentationVersion = &v
22757	return s
22758}
22759
22760// SetLastUpdatedDate sets the LastUpdatedDate field's value.
22761func (s *Stage) SetLastUpdatedDate(v time.Time) *Stage {
22762	s.LastUpdatedDate = &v
22763	return s
22764}
22765
22766// SetMethodSettings sets the MethodSettings field's value.
22767func (s *Stage) SetMethodSettings(v map[string]*MethodSetting) *Stage {
22768	s.MethodSettings = v
22769	return s
22770}
22771
22772// SetStageName sets the StageName field's value.
22773func (s *Stage) SetStageName(v string) *Stage {
22774	s.StageName = &v
22775	return s
22776}
22777
22778// SetTags sets the Tags field's value.
22779func (s *Stage) SetTags(v map[string]*string) *Stage {
22780	s.Tags = v
22781	return s
22782}
22783
22784// SetTracingEnabled sets the TracingEnabled field's value.
22785func (s *Stage) SetTracingEnabled(v bool) *Stage {
22786	s.TracingEnabled = &v
22787	return s
22788}
22789
22790// SetVariables sets the Variables field's value.
22791func (s *Stage) SetVariables(v map[string]*string) *Stage {
22792	s.Variables = v
22793	return s
22794}
22795
22796// SetWebAclArn sets the WebAclArn field's value.
22797func (s *Stage) SetWebAclArn(v string) *Stage {
22798	s.WebAclArn = &v
22799	return s
22800}
22801
22802// A reference to a unique stage identified in the format {restApiId}/{stage}.
22803type StageKey struct {
22804	_ struct{} `type:"structure"`
22805
22806	// The string identifier of the associated RestApi.
22807	RestApiId *string `locationName:"restApiId" type:"string"`
22808
22809	// The stage name associated with the stage key.
22810	StageName *string `locationName:"stageName" type:"string"`
22811}
22812
22813// String returns the string representation
22814func (s StageKey) String() string {
22815	return awsutil.Prettify(s)
22816}
22817
22818// GoString returns the string representation
22819func (s StageKey) GoString() string {
22820	return s.String()
22821}
22822
22823// SetRestApiId sets the RestApiId field's value.
22824func (s *StageKey) SetRestApiId(v string) *StageKey {
22825	s.RestApiId = &v
22826	return s
22827}
22828
22829// SetStageName sets the StageName field's value.
22830func (s *StageKey) SetStageName(v string) *StageKey {
22831	s.StageName = &v
22832	return s
22833}
22834
22835// Adds or updates a tag on a given resource.
22836type TagResourceInput struct {
22837	_ struct{} `type:"structure"`
22838
22839	// [Required] The ARN of a resource that can be tagged.
22840	//
22841	// ResourceArn is a required field
22842	ResourceArn *string `location:"uri" locationName:"resource_arn" type:"string" required:"true"`
22843
22844	// [Required] The key-value map of strings. The valid character set is [a-zA-Z+-=._:/].
22845	// The tag key can be up to 128 characters and must not start with aws:. The
22846	// tag value can be up to 256 characters.
22847	//
22848	// Tags is a required field
22849	Tags map[string]*string `locationName:"tags" type:"map" required:"true"`
22850}
22851
22852// String returns the string representation
22853func (s TagResourceInput) String() string {
22854	return awsutil.Prettify(s)
22855}
22856
22857// GoString returns the string representation
22858func (s TagResourceInput) GoString() string {
22859	return s.String()
22860}
22861
22862// Validate inspects the fields of the type to determine if they are valid.
22863func (s *TagResourceInput) Validate() error {
22864	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
22865	if s.ResourceArn == nil {
22866		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
22867	}
22868	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
22869		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
22870	}
22871	if s.Tags == nil {
22872		invalidParams.Add(request.NewErrParamRequired("Tags"))
22873	}
22874
22875	if invalidParams.Len() > 0 {
22876		return invalidParams
22877	}
22878	return nil
22879}
22880
22881// SetResourceArn sets the ResourceArn field's value.
22882func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
22883	s.ResourceArn = &v
22884	return s
22885}
22886
22887// SetTags sets the Tags field's value.
22888func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput {
22889	s.Tags = v
22890	return s
22891}
22892
22893type TagResourceOutput struct {
22894	_ struct{} `type:"structure"`
22895}
22896
22897// String returns the string representation
22898func (s TagResourceOutput) String() string {
22899	return awsutil.Prettify(s)
22900}
22901
22902// GoString returns the string representation
22903func (s TagResourceOutput) GoString() string {
22904	return s.String()
22905}
22906
22907// Make a request to simulate the execution of an Authorizer.
22908type TestInvokeAuthorizerInput struct {
22909	_ struct{} `type:"structure"`
22910
22911	// [Optional] A key-value map of additional context variables.
22912	AdditionalContext map[string]*string `locationName:"additionalContext" type:"map"`
22913
22914	// [Required] Specifies a test invoke authorizer request's Authorizer ID.
22915	//
22916	// AuthorizerId is a required field
22917	AuthorizerId *string `location:"uri" locationName:"authorizer_id" type:"string" required:"true"`
22918
22919	// [Optional] The simulated request body of an incoming invocation request.
22920	Body *string `locationName:"body" type:"string"`
22921
22922	// [Required] A key-value map of headers to simulate an incoming invocation
22923	// request. This is where the incoming authorization token, or identity source,
22924	// should be specified.
22925	Headers map[string]*string `locationName:"headers" type:"map"`
22926
22927	// [Optional] The headers as a map from string to list of values to simulate
22928	// an incoming invocation request. This is where the incoming authorization
22929	// token, or identity source, may be specified.
22930	MultiValueHeaders map[string][]*string `locationName:"multiValueHeaders" type:"map"`
22931
22932	// [Optional] The URI path, including query string, of the simulated invocation
22933	// request. Use this to specify path parameters and query string parameters.
22934	PathWithQueryString *string `locationName:"pathWithQueryString" type:"string"`
22935
22936	// [Required] The string identifier of the associated RestApi.
22937	//
22938	// RestApiId is a required field
22939	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
22940
22941	// A key-value map of stage variables to simulate an invocation on a deployed
22942	// Stage.
22943	StageVariables map[string]*string `locationName:"stageVariables" type:"map"`
22944}
22945
22946// String returns the string representation
22947func (s TestInvokeAuthorizerInput) String() string {
22948	return awsutil.Prettify(s)
22949}
22950
22951// GoString returns the string representation
22952func (s TestInvokeAuthorizerInput) GoString() string {
22953	return s.String()
22954}
22955
22956// Validate inspects the fields of the type to determine if they are valid.
22957func (s *TestInvokeAuthorizerInput) Validate() error {
22958	invalidParams := request.ErrInvalidParams{Context: "TestInvokeAuthorizerInput"}
22959	if s.AuthorizerId == nil {
22960		invalidParams.Add(request.NewErrParamRequired("AuthorizerId"))
22961	}
22962	if s.AuthorizerId != nil && len(*s.AuthorizerId) < 1 {
22963		invalidParams.Add(request.NewErrParamMinLen("AuthorizerId", 1))
22964	}
22965	if s.RestApiId == nil {
22966		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
22967	}
22968	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
22969		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
22970	}
22971
22972	if invalidParams.Len() > 0 {
22973		return invalidParams
22974	}
22975	return nil
22976}
22977
22978// SetAdditionalContext sets the AdditionalContext field's value.
22979func (s *TestInvokeAuthorizerInput) SetAdditionalContext(v map[string]*string) *TestInvokeAuthorizerInput {
22980	s.AdditionalContext = v
22981	return s
22982}
22983
22984// SetAuthorizerId sets the AuthorizerId field's value.
22985func (s *TestInvokeAuthorizerInput) SetAuthorizerId(v string) *TestInvokeAuthorizerInput {
22986	s.AuthorizerId = &v
22987	return s
22988}
22989
22990// SetBody sets the Body field's value.
22991func (s *TestInvokeAuthorizerInput) SetBody(v string) *TestInvokeAuthorizerInput {
22992	s.Body = &v
22993	return s
22994}
22995
22996// SetHeaders sets the Headers field's value.
22997func (s *TestInvokeAuthorizerInput) SetHeaders(v map[string]*string) *TestInvokeAuthorizerInput {
22998	s.Headers = v
22999	return s
23000}
23001
23002// SetMultiValueHeaders sets the MultiValueHeaders field's value.
23003func (s *TestInvokeAuthorizerInput) SetMultiValueHeaders(v map[string][]*string) *TestInvokeAuthorizerInput {
23004	s.MultiValueHeaders = v
23005	return s
23006}
23007
23008// SetPathWithQueryString sets the PathWithQueryString field's value.
23009func (s *TestInvokeAuthorizerInput) SetPathWithQueryString(v string) *TestInvokeAuthorizerInput {
23010	s.PathWithQueryString = &v
23011	return s
23012}
23013
23014// SetRestApiId sets the RestApiId field's value.
23015func (s *TestInvokeAuthorizerInput) SetRestApiId(v string) *TestInvokeAuthorizerInput {
23016	s.RestApiId = &v
23017	return s
23018}
23019
23020// SetStageVariables sets the StageVariables field's value.
23021func (s *TestInvokeAuthorizerInput) SetStageVariables(v map[string]*string) *TestInvokeAuthorizerInput {
23022	s.StageVariables = v
23023	return s
23024}
23025
23026// Represents the response of the test invoke request for a custom Authorizer
23027type TestInvokeAuthorizerOutput struct {
23028	_ struct{} `type:"structure"`
23029
23030	Authorization map[string][]*string `locationName:"authorization" type:"map"`
23031
23032	// The open identity claims (https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims),
23033	// with any supported custom attributes, returned from the Cognito Your User
23034	// Pool configured for the API.
23035	Claims map[string]*string `locationName:"claims" type:"map"`
23036
23037	// The HTTP status code that the client would have received. Value is 0 if the
23038	// authorizer succeeded.
23039	ClientStatus *int64 `locationName:"clientStatus" type:"integer"`
23040
23041	// The execution latency of the test authorizer request.
23042	Latency *int64 `locationName:"latency" type:"long"`
23043
23044	// The API Gateway execution log for the test authorizer request.
23045	Log *string `locationName:"log" type:"string"`
23046
23047	// The JSON policy document returned by the Authorizer
23048	Policy *string `locationName:"policy" type:"string"`
23049
23050	// The principal identity returned by the Authorizer
23051	PrincipalId *string `locationName:"principalId" type:"string"`
23052}
23053
23054// String returns the string representation
23055func (s TestInvokeAuthorizerOutput) String() string {
23056	return awsutil.Prettify(s)
23057}
23058
23059// GoString returns the string representation
23060func (s TestInvokeAuthorizerOutput) GoString() string {
23061	return s.String()
23062}
23063
23064// SetAuthorization sets the Authorization field's value.
23065func (s *TestInvokeAuthorizerOutput) SetAuthorization(v map[string][]*string) *TestInvokeAuthorizerOutput {
23066	s.Authorization = v
23067	return s
23068}
23069
23070// SetClaims sets the Claims field's value.
23071func (s *TestInvokeAuthorizerOutput) SetClaims(v map[string]*string) *TestInvokeAuthorizerOutput {
23072	s.Claims = v
23073	return s
23074}
23075
23076// SetClientStatus sets the ClientStatus field's value.
23077func (s *TestInvokeAuthorizerOutput) SetClientStatus(v int64) *TestInvokeAuthorizerOutput {
23078	s.ClientStatus = &v
23079	return s
23080}
23081
23082// SetLatency sets the Latency field's value.
23083func (s *TestInvokeAuthorizerOutput) SetLatency(v int64) *TestInvokeAuthorizerOutput {
23084	s.Latency = &v
23085	return s
23086}
23087
23088// SetLog sets the Log field's value.
23089func (s *TestInvokeAuthorizerOutput) SetLog(v string) *TestInvokeAuthorizerOutput {
23090	s.Log = &v
23091	return s
23092}
23093
23094// SetPolicy sets the Policy field's value.
23095func (s *TestInvokeAuthorizerOutput) SetPolicy(v string) *TestInvokeAuthorizerOutput {
23096	s.Policy = &v
23097	return s
23098}
23099
23100// SetPrincipalId sets the PrincipalId field's value.
23101func (s *TestInvokeAuthorizerOutput) SetPrincipalId(v string) *TestInvokeAuthorizerOutput {
23102	s.PrincipalId = &v
23103	return s
23104}
23105
23106// Make a request to simulate the execution of a Method.
23107type TestInvokeMethodInput struct {
23108	_ struct{} `type:"structure"`
23109
23110	// The simulated request body of an incoming invocation request.
23111	Body *string `locationName:"body" type:"string"`
23112
23113	// A ClientCertificate identifier to use in the test invocation. API Gateway
23114	// will use the certificate when making the HTTPS request to the defined back-end
23115	// endpoint.
23116	ClientCertificateId *string `locationName:"clientCertificateId" type:"string"`
23117
23118	// A key-value map of headers to simulate an incoming invocation request.
23119	Headers map[string]*string `locationName:"headers" type:"map"`
23120
23121	// [Required] Specifies a test invoke method request's HTTP method.
23122	//
23123	// HttpMethod is a required field
23124	HttpMethod *string `location:"uri" locationName:"http_method" type:"string" required:"true"`
23125
23126	// The headers as a map from string to list of values to simulate an incoming
23127	// invocation request.
23128	MultiValueHeaders map[string][]*string `locationName:"multiValueHeaders" type:"map"`
23129
23130	// The URI path, including query string, of the simulated invocation request.
23131	// Use this to specify path parameters and query string parameters.
23132	PathWithQueryString *string `locationName:"pathWithQueryString" type:"string"`
23133
23134	// [Required] Specifies a test invoke method request's resource ID.
23135	//
23136	// ResourceId is a required field
23137	ResourceId *string `location:"uri" locationName:"resource_id" type:"string" required:"true"`
23138
23139	// [Required] The string identifier of the associated RestApi.
23140	//
23141	// RestApiId is a required field
23142	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
23143
23144	// A key-value map of stage variables to simulate an invocation on a deployed
23145	// Stage.
23146	StageVariables map[string]*string `locationName:"stageVariables" type:"map"`
23147}
23148
23149// String returns the string representation
23150func (s TestInvokeMethodInput) String() string {
23151	return awsutil.Prettify(s)
23152}
23153
23154// GoString returns the string representation
23155func (s TestInvokeMethodInput) GoString() string {
23156	return s.String()
23157}
23158
23159// Validate inspects the fields of the type to determine if they are valid.
23160func (s *TestInvokeMethodInput) Validate() error {
23161	invalidParams := request.ErrInvalidParams{Context: "TestInvokeMethodInput"}
23162	if s.HttpMethod == nil {
23163		invalidParams.Add(request.NewErrParamRequired("HttpMethod"))
23164	}
23165	if s.HttpMethod != nil && len(*s.HttpMethod) < 1 {
23166		invalidParams.Add(request.NewErrParamMinLen("HttpMethod", 1))
23167	}
23168	if s.ResourceId == nil {
23169		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
23170	}
23171	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
23172		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
23173	}
23174	if s.RestApiId == nil {
23175		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
23176	}
23177	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
23178		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
23179	}
23180
23181	if invalidParams.Len() > 0 {
23182		return invalidParams
23183	}
23184	return nil
23185}
23186
23187// SetBody sets the Body field's value.
23188func (s *TestInvokeMethodInput) SetBody(v string) *TestInvokeMethodInput {
23189	s.Body = &v
23190	return s
23191}
23192
23193// SetClientCertificateId sets the ClientCertificateId field's value.
23194func (s *TestInvokeMethodInput) SetClientCertificateId(v string) *TestInvokeMethodInput {
23195	s.ClientCertificateId = &v
23196	return s
23197}
23198
23199// SetHeaders sets the Headers field's value.
23200func (s *TestInvokeMethodInput) SetHeaders(v map[string]*string) *TestInvokeMethodInput {
23201	s.Headers = v
23202	return s
23203}
23204
23205// SetHttpMethod sets the HttpMethod field's value.
23206func (s *TestInvokeMethodInput) SetHttpMethod(v string) *TestInvokeMethodInput {
23207	s.HttpMethod = &v
23208	return s
23209}
23210
23211// SetMultiValueHeaders sets the MultiValueHeaders field's value.
23212func (s *TestInvokeMethodInput) SetMultiValueHeaders(v map[string][]*string) *TestInvokeMethodInput {
23213	s.MultiValueHeaders = v
23214	return s
23215}
23216
23217// SetPathWithQueryString sets the PathWithQueryString field's value.
23218func (s *TestInvokeMethodInput) SetPathWithQueryString(v string) *TestInvokeMethodInput {
23219	s.PathWithQueryString = &v
23220	return s
23221}
23222
23223// SetResourceId sets the ResourceId field's value.
23224func (s *TestInvokeMethodInput) SetResourceId(v string) *TestInvokeMethodInput {
23225	s.ResourceId = &v
23226	return s
23227}
23228
23229// SetRestApiId sets the RestApiId field's value.
23230func (s *TestInvokeMethodInput) SetRestApiId(v string) *TestInvokeMethodInput {
23231	s.RestApiId = &v
23232	return s
23233}
23234
23235// SetStageVariables sets the StageVariables field's value.
23236func (s *TestInvokeMethodInput) SetStageVariables(v map[string]*string) *TestInvokeMethodInput {
23237	s.StageVariables = v
23238	return s
23239}
23240
23241// Represents the response of the test invoke request in the HTTP method.
23242//
23243// 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)
23244type TestInvokeMethodOutput struct {
23245	_ struct{} `type:"structure"`
23246
23247	// The body of the HTTP response.
23248	Body *string `locationName:"body" type:"string"`
23249
23250	// The headers of the HTTP response.
23251	Headers map[string]*string `locationName:"headers" type:"map"`
23252
23253	// The execution latency of the test invoke request.
23254	Latency *int64 `locationName:"latency" type:"long"`
23255
23256	// The API Gateway execution log for the test invoke request.
23257	Log *string `locationName:"log" type:"string"`
23258
23259	// The headers of the HTTP response as a map from string to list of values.
23260	MultiValueHeaders map[string][]*string `locationName:"multiValueHeaders" type:"map"`
23261
23262	// The HTTP status code.
23263	Status *int64 `locationName:"status" type:"integer"`
23264}
23265
23266// String returns the string representation
23267func (s TestInvokeMethodOutput) String() string {
23268	return awsutil.Prettify(s)
23269}
23270
23271// GoString returns the string representation
23272func (s TestInvokeMethodOutput) GoString() string {
23273	return s.String()
23274}
23275
23276// SetBody sets the Body field's value.
23277func (s *TestInvokeMethodOutput) SetBody(v string) *TestInvokeMethodOutput {
23278	s.Body = &v
23279	return s
23280}
23281
23282// SetHeaders sets the Headers field's value.
23283func (s *TestInvokeMethodOutput) SetHeaders(v map[string]*string) *TestInvokeMethodOutput {
23284	s.Headers = v
23285	return s
23286}
23287
23288// SetLatency sets the Latency field's value.
23289func (s *TestInvokeMethodOutput) SetLatency(v int64) *TestInvokeMethodOutput {
23290	s.Latency = &v
23291	return s
23292}
23293
23294// SetLog sets the Log field's value.
23295func (s *TestInvokeMethodOutput) SetLog(v string) *TestInvokeMethodOutput {
23296	s.Log = &v
23297	return s
23298}
23299
23300// SetMultiValueHeaders sets the MultiValueHeaders field's value.
23301func (s *TestInvokeMethodOutput) SetMultiValueHeaders(v map[string][]*string) *TestInvokeMethodOutput {
23302	s.MultiValueHeaders = v
23303	return s
23304}
23305
23306// SetStatus sets the Status field's value.
23307func (s *TestInvokeMethodOutput) SetStatus(v int64) *TestInvokeMethodOutput {
23308	s.Status = &v
23309	return s
23310}
23311
23312// The API request rate limits.
23313type ThrottleSettings struct {
23314	_ struct{} `type:"structure"`
23315
23316	// The API request burst limit, the maximum rate limit over a time ranging from
23317	// one to a few seconds, depending upon whether the underlying token bucket
23318	// is at its full capacity.
23319	BurstLimit *int64 `locationName:"burstLimit" type:"integer"`
23320
23321	// The API request steady-state rate limit.
23322	RateLimit *float64 `locationName:"rateLimit" type:"double"`
23323}
23324
23325// String returns the string representation
23326func (s ThrottleSettings) String() string {
23327	return awsutil.Prettify(s)
23328}
23329
23330// GoString returns the string representation
23331func (s ThrottleSettings) GoString() string {
23332	return s.String()
23333}
23334
23335// SetBurstLimit sets the BurstLimit field's value.
23336func (s *ThrottleSettings) SetBurstLimit(v int64) *ThrottleSettings {
23337	s.BurstLimit = &v
23338	return s
23339}
23340
23341// SetRateLimit sets the RateLimit field's value.
23342func (s *ThrottleSettings) SetRateLimit(v float64) *ThrottleSettings {
23343	s.RateLimit = &v
23344	return s
23345}
23346
23347type TlsConfig struct {
23348	_ struct{} `type:"structure"`
23349
23350	// Specifies whether or not API Gateway skips verification that the certificate
23351	// for an integration endpoint is issued by a supported certificate authority
23352	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-supported-certificate-authorities-for-http-endpoints.html).
23353	// This isn’t recommended, but it enables you to use certificates that are
23354	// signed by private certificate authorities, or certificates that are self-signed.
23355	// If enabled, API Gateway still performs basic certificate validation, which
23356	// includes checking the certificate's expiration date, hostname, and presence
23357	// of a root certificate authority. Supported only for HTTP and HTTP_PROXY integrations.
23358	InsecureSkipVerification *bool `locationName:"insecureSkipVerification" type:"boolean"`
23359}
23360
23361// String returns the string representation
23362func (s TlsConfig) String() string {
23363	return awsutil.Prettify(s)
23364}
23365
23366// GoString returns the string representation
23367func (s TlsConfig) GoString() string {
23368	return s.String()
23369}
23370
23371// SetInsecureSkipVerification sets the InsecureSkipVerification field's value.
23372func (s *TlsConfig) SetInsecureSkipVerification(v bool) *TlsConfig {
23373	s.InsecureSkipVerification = &v
23374	return s
23375}
23376
23377// The request has reached its throttling limit. Retry after the specified time
23378// period.
23379type TooManyRequestsException struct {
23380	_            struct{}                  `type:"structure"`
23381	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
23382
23383	Message_ *string `locationName:"message" type:"string"`
23384
23385	RetryAfterSeconds *string `location:"header" locationName:"Retry-After" type:"string"`
23386}
23387
23388// String returns the string representation
23389func (s TooManyRequestsException) String() string {
23390	return awsutil.Prettify(s)
23391}
23392
23393// GoString returns the string representation
23394func (s TooManyRequestsException) GoString() string {
23395	return s.String()
23396}
23397
23398func newErrorTooManyRequestsException(v protocol.ResponseMetadata) error {
23399	return &TooManyRequestsException{
23400		RespMetadata: v,
23401	}
23402}
23403
23404// Code returns the exception type name.
23405func (s *TooManyRequestsException) Code() string {
23406	return "TooManyRequestsException"
23407}
23408
23409// Message returns the exception's message.
23410func (s *TooManyRequestsException) Message() string {
23411	if s.Message_ != nil {
23412		return *s.Message_
23413	}
23414	return ""
23415}
23416
23417// OrigErr always returns nil, satisfies awserr.Error interface.
23418func (s *TooManyRequestsException) OrigErr() error {
23419	return nil
23420}
23421
23422func (s *TooManyRequestsException) Error() string {
23423	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
23424}
23425
23426// Status code returns the HTTP status code for the request's response error.
23427func (s *TooManyRequestsException) StatusCode() int {
23428	return s.RespMetadata.StatusCode
23429}
23430
23431// RequestID returns the service's response RequestID for request.
23432func (s *TooManyRequestsException) RequestID() string {
23433	return s.RespMetadata.RequestID
23434}
23435
23436// The request is denied because the caller has insufficient permissions.
23437type UnauthorizedException struct {
23438	_            struct{}                  `type:"structure"`
23439	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
23440
23441	Message_ *string `locationName:"message" type:"string"`
23442}
23443
23444// String returns the string representation
23445func (s UnauthorizedException) String() string {
23446	return awsutil.Prettify(s)
23447}
23448
23449// GoString returns the string representation
23450func (s UnauthorizedException) GoString() string {
23451	return s.String()
23452}
23453
23454func newErrorUnauthorizedException(v protocol.ResponseMetadata) error {
23455	return &UnauthorizedException{
23456		RespMetadata: v,
23457	}
23458}
23459
23460// Code returns the exception type name.
23461func (s *UnauthorizedException) Code() string {
23462	return "UnauthorizedException"
23463}
23464
23465// Message returns the exception's message.
23466func (s *UnauthorizedException) Message() string {
23467	if s.Message_ != nil {
23468		return *s.Message_
23469	}
23470	return ""
23471}
23472
23473// OrigErr always returns nil, satisfies awserr.Error interface.
23474func (s *UnauthorizedException) OrigErr() error {
23475	return nil
23476}
23477
23478func (s *UnauthorizedException) Error() string {
23479	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
23480}
23481
23482// Status code returns the HTTP status code for the request's response error.
23483func (s *UnauthorizedException) StatusCode() int {
23484	return s.RespMetadata.StatusCode
23485}
23486
23487// RequestID returns the service's response RequestID for request.
23488func (s *UnauthorizedException) RequestID() string {
23489	return s.RespMetadata.RequestID
23490}
23491
23492// Removes a tag from a given resource.
23493type UntagResourceInput struct {
23494	_ struct{} `type:"structure"`
23495
23496	// [Required] The ARN of a resource that can be tagged.
23497	//
23498	// ResourceArn is a required field
23499	ResourceArn *string `location:"uri" locationName:"resource_arn" type:"string" required:"true"`
23500
23501	// [Required] The Tag keys to delete.
23502	//
23503	// TagKeys is a required field
23504	TagKeys []*string `location:"querystring" locationName:"tagKeys" type:"list" required:"true"`
23505}
23506
23507// String returns the string representation
23508func (s UntagResourceInput) String() string {
23509	return awsutil.Prettify(s)
23510}
23511
23512// GoString returns the string representation
23513func (s UntagResourceInput) GoString() string {
23514	return s.String()
23515}
23516
23517// Validate inspects the fields of the type to determine if they are valid.
23518func (s *UntagResourceInput) Validate() error {
23519	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
23520	if s.ResourceArn == nil {
23521		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
23522	}
23523	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
23524		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
23525	}
23526	if s.TagKeys == nil {
23527		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
23528	}
23529
23530	if invalidParams.Len() > 0 {
23531		return invalidParams
23532	}
23533	return nil
23534}
23535
23536// SetResourceArn sets the ResourceArn field's value.
23537func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
23538	s.ResourceArn = &v
23539	return s
23540}
23541
23542// SetTagKeys sets the TagKeys field's value.
23543func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
23544	s.TagKeys = v
23545	return s
23546}
23547
23548type UntagResourceOutput struct {
23549	_ struct{} `type:"structure"`
23550}
23551
23552// String returns the string representation
23553func (s UntagResourceOutput) String() string {
23554	return awsutil.Prettify(s)
23555}
23556
23557// GoString returns the string representation
23558func (s UntagResourceOutput) GoString() string {
23559	return s.String()
23560}
23561
23562// Requests API Gateway to change information about the current Account resource.
23563type UpdateAccountInput struct {
23564	_ struct{} `type:"structure"`
23565
23566	// A list of update operations to be applied to the specified resource and in
23567	// the order specified in this list.
23568	PatchOperations []*PatchOperation `locationName:"patchOperations" type:"list"`
23569}
23570
23571// String returns the string representation
23572func (s UpdateAccountInput) String() string {
23573	return awsutil.Prettify(s)
23574}
23575
23576// GoString returns the string representation
23577func (s UpdateAccountInput) GoString() string {
23578	return s.String()
23579}
23580
23581// SetPatchOperations sets the PatchOperations field's value.
23582func (s *UpdateAccountInput) SetPatchOperations(v []*PatchOperation) *UpdateAccountInput {
23583	s.PatchOperations = v
23584	return s
23585}
23586
23587// A request to change information about an ApiKey resource.
23588type UpdateApiKeyInput struct {
23589	_ struct{} `type:"structure"`
23590
23591	// [Required] The identifier of the ApiKey resource to be updated.
23592	//
23593	// ApiKey is a required field
23594	ApiKey *string `location:"uri" locationName:"api_Key" type:"string" required:"true"`
23595
23596	// A list of update operations to be applied to the specified resource and in
23597	// the order specified in this list.
23598	PatchOperations []*PatchOperation `locationName:"patchOperations" type:"list"`
23599}
23600
23601// String returns the string representation
23602func (s UpdateApiKeyInput) String() string {
23603	return awsutil.Prettify(s)
23604}
23605
23606// GoString returns the string representation
23607func (s UpdateApiKeyInput) GoString() string {
23608	return s.String()
23609}
23610
23611// Validate inspects the fields of the type to determine if they are valid.
23612func (s *UpdateApiKeyInput) Validate() error {
23613	invalidParams := request.ErrInvalidParams{Context: "UpdateApiKeyInput"}
23614	if s.ApiKey == nil {
23615		invalidParams.Add(request.NewErrParamRequired("ApiKey"))
23616	}
23617	if s.ApiKey != nil && len(*s.ApiKey) < 1 {
23618		invalidParams.Add(request.NewErrParamMinLen("ApiKey", 1))
23619	}
23620
23621	if invalidParams.Len() > 0 {
23622		return invalidParams
23623	}
23624	return nil
23625}
23626
23627// SetApiKey sets the ApiKey field's value.
23628func (s *UpdateApiKeyInput) SetApiKey(v string) *UpdateApiKeyInput {
23629	s.ApiKey = &v
23630	return s
23631}
23632
23633// SetPatchOperations sets the PatchOperations field's value.
23634func (s *UpdateApiKeyInput) SetPatchOperations(v []*PatchOperation) *UpdateApiKeyInput {
23635	s.PatchOperations = v
23636	return s
23637}
23638
23639// Request to update an existing Authorizer resource.
23640type UpdateAuthorizerInput struct {
23641	_ struct{} `type:"structure"`
23642
23643	// [Required] The identifier of the Authorizer resource.
23644	//
23645	// AuthorizerId is a required field
23646	AuthorizerId *string `location:"uri" locationName:"authorizer_id" type:"string" required:"true"`
23647
23648	// A list of update operations to be applied to the specified resource and in
23649	// the order specified in this list.
23650	PatchOperations []*PatchOperation `locationName:"patchOperations" type:"list"`
23651
23652	// [Required] The string identifier of the associated RestApi.
23653	//
23654	// RestApiId is a required field
23655	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
23656}
23657
23658// String returns the string representation
23659func (s UpdateAuthorizerInput) String() string {
23660	return awsutil.Prettify(s)
23661}
23662
23663// GoString returns the string representation
23664func (s UpdateAuthorizerInput) GoString() string {
23665	return s.String()
23666}
23667
23668// Validate inspects the fields of the type to determine if they are valid.
23669func (s *UpdateAuthorizerInput) Validate() error {
23670	invalidParams := request.ErrInvalidParams{Context: "UpdateAuthorizerInput"}
23671	if s.AuthorizerId == nil {
23672		invalidParams.Add(request.NewErrParamRequired("AuthorizerId"))
23673	}
23674	if s.AuthorizerId != nil && len(*s.AuthorizerId) < 1 {
23675		invalidParams.Add(request.NewErrParamMinLen("AuthorizerId", 1))
23676	}
23677	if s.RestApiId == nil {
23678		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
23679	}
23680	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
23681		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
23682	}
23683
23684	if invalidParams.Len() > 0 {
23685		return invalidParams
23686	}
23687	return nil
23688}
23689
23690// SetAuthorizerId sets the AuthorizerId field's value.
23691func (s *UpdateAuthorizerInput) SetAuthorizerId(v string) *UpdateAuthorizerInput {
23692	s.AuthorizerId = &v
23693	return s
23694}
23695
23696// SetPatchOperations sets the PatchOperations field's value.
23697func (s *UpdateAuthorizerInput) SetPatchOperations(v []*PatchOperation) *UpdateAuthorizerInput {
23698	s.PatchOperations = v
23699	return s
23700}
23701
23702// SetRestApiId sets the RestApiId field's value.
23703func (s *UpdateAuthorizerInput) SetRestApiId(v string) *UpdateAuthorizerInput {
23704	s.RestApiId = &v
23705	return s
23706}
23707
23708// A request to change information about the BasePathMapping resource.
23709type UpdateBasePathMappingInput struct {
23710	_ struct{} `type:"structure"`
23711
23712	// [Required] The base path of the BasePathMapping resource to change.
23713	//
23714	// To specify an empty base path, set this parameter to '(none)'.
23715	//
23716	// BasePath is a required field
23717	BasePath *string `location:"uri" locationName:"base_path" type:"string" required:"true"`
23718
23719	// [Required] The domain name of the BasePathMapping resource to change.
23720	//
23721	// DomainName is a required field
23722	DomainName *string `location:"uri" locationName:"domain_name" type:"string" required:"true"`
23723
23724	// A list of update operations to be applied to the specified resource and in
23725	// the order specified in this list.
23726	PatchOperations []*PatchOperation `locationName:"patchOperations" type:"list"`
23727}
23728
23729// String returns the string representation
23730func (s UpdateBasePathMappingInput) String() string {
23731	return awsutil.Prettify(s)
23732}
23733
23734// GoString returns the string representation
23735func (s UpdateBasePathMappingInput) GoString() string {
23736	return s.String()
23737}
23738
23739// Validate inspects the fields of the type to determine if they are valid.
23740func (s *UpdateBasePathMappingInput) Validate() error {
23741	invalidParams := request.ErrInvalidParams{Context: "UpdateBasePathMappingInput"}
23742	if s.BasePath == nil {
23743		invalidParams.Add(request.NewErrParamRequired("BasePath"))
23744	}
23745	if s.BasePath != nil && len(*s.BasePath) < 1 {
23746		invalidParams.Add(request.NewErrParamMinLen("BasePath", 1))
23747	}
23748	if s.DomainName == nil {
23749		invalidParams.Add(request.NewErrParamRequired("DomainName"))
23750	}
23751	if s.DomainName != nil && len(*s.DomainName) < 1 {
23752		invalidParams.Add(request.NewErrParamMinLen("DomainName", 1))
23753	}
23754
23755	if invalidParams.Len() > 0 {
23756		return invalidParams
23757	}
23758	return nil
23759}
23760
23761// SetBasePath sets the BasePath field's value.
23762func (s *UpdateBasePathMappingInput) SetBasePath(v string) *UpdateBasePathMappingInput {
23763	s.BasePath = &v
23764	return s
23765}
23766
23767// SetDomainName sets the DomainName field's value.
23768func (s *UpdateBasePathMappingInput) SetDomainName(v string) *UpdateBasePathMappingInput {
23769	s.DomainName = &v
23770	return s
23771}
23772
23773// SetPatchOperations sets the PatchOperations field's value.
23774func (s *UpdateBasePathMappingInput) SetPatchOperations(v []*PatchOperation) *UpdateBasePathMappingInput {
23775	s.PatchOperations = v
23776	return s
23777}
23778
23779// A request to change information about an ClientCertificate resource.
23780type UpdateClientCertificateInput struct {
23781	_ struct{} `type:"structure"`
23782
23783	// [Required] The identifier of the ClientCertificate resource to be updated.
23784	//
23785	// ClientCertificateId is a required field
23786	ClientCertificateId *string `location:"uri" locationName:"clientcertificate_id" type:"string" required:"true"`
23787
23788	// A list of update operations to be applied to the specified resource and in
23789	// the order specified in this list.
23790	PatchOperations []*PatchOperation `locationName:"patchOperations" type:"list"`
23791}
23792
23793// String returns the string representation
23794func (s UpdateClientCertificateInput) String() string {
23795	return awsutil.Prettify(s)
23796}
23797
23798// GoString returns the string representation
23799func (s UpdateClientCertificateInput) GoString() string {
23800	return s.String()
23801}
23802
23803// Validate inspects the fields of the type to determine if they are valid.
23804func (s *UpdateClientCertificateInput) Validate() error {
23805	invalidParams := request.ErrInvalidParams{Context: "UpdateClientCertificateInput"}
23806	if s.ClientCertificateId == nil {
23807		invalidParams.Add(request.NewErrParamRequired("ClientCertificateId"))
23808	}
23809	if s.ClientCertificateId != nil && len(*s.ClientCertificateId) < 1 {
23810		invalidParams.Add(request.NewErrParamMinLen("ClientCertificateId", 1))
23811	}
23812
23813	if invalidParams.Len() > 0 {
23814		return invalidParams
23815	}
23816	return nil
23817}
23818
23819// SetClientCertificateId sets the ClientCertificateId field's value.
23820func (s *UpdateClientCertificateInput) SetClientCertificateId(v string) *UpdateClientCertificateInput {
23821	s.ClientCertificateId = &v
23822	return s
23823}
23824
23825// SetPatchOperations sets the PatchOperations field's value.
23826func (s *UpdateClientCertificateInput) SetPatchOperations(v []*PatchOperation) *UpdateClientCertificateInput {
23827	s.PatchOperations = v
23828	return s
23829}
23830
23831// Requests API Gateway to change information about a Deployment resource.
23832type UpdateDeploymentInput struct {
23833	_ struct{} `type:"structure"`
23834
23835	// The replacement identifier for the Deployment resource to change information
23836	// about.
23837	//
23838	// DeploymentId is a required field
23839	DeploymentId *string `location:"uri" locationName:"deployment_id" type:"string" required:"true"`
23840
23841	// A list of update operations to be applied to the specified resource and in
23842	// the order specified in this list.
23843	PatchOperations []*PatchOperation `locationName:"patchOperations" type:"list"`
23844
23845	// [Required] The string identifier of the associated RestApi.
23846	//
23847	// RestApiId is a required field
23848	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
23849}
23850
23851// String returns the string representation
23852func (s UpdateDeploymentInput) String() string {
23853	return awsutil.Prettify(s)
23854}
23855
23856// GoString returns the string representation
23857func (s UpdateDeploymentInput) GoString() string {
23858	return s.String()
23859}
23860
23861// Validate inspects the fields of the type to determine if they are valid.
23862func (s *UpdateDeploymentInput) Validate() error {
23863	invalidParams := request.ErrInvalidParams{Context: "UpdateDeploymentInput"}
23864	if s.DeploymentId == nil {
23865		invalidParams.Add(request.NewErrParamRequired("DeploymentId"))
23866	}
23867	if s.DeploymentId != nil && len(*s.DeploymentId) < 1 {
23868		invalidParams.Add(request.NewErrParamMinLen("DeploymentId", 1))
23869	}
23870	if s.RestApiId == nil {
23871		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
23872	}
23873	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
23874		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
23875	}
23876
23877	if invalidParams.Len() > 0 {
23878		return invalidParams
23879	}
23880	return nil
23881}
23882
23883// SetDeploymentId sets the DeploymentId field's value.
23884func (s *UpdateDeploymentInput) SetDeploymentId(v string) *UpdateDeploymentInput {
23885	s.DeploymentId = &v
23886	return s
23887}
23888
23889// SetPatchOperations sets the PatchOperations field's value.
23890func (s *UpdateDeploymentInput) SetPatchOperations(v []*PatchOperation) *UpdateDeploymentInput {
23891	s.PatchOperations = v
23892	return s
23893}
23894
23895// SetRestApiId sets the RestApiId field's value.
23896func (s *UpdateDeploymentInput) SetRestApiId(v string) *UpdateDeploymentInput {
23897	s.RestApiId = &v
23898	return s
23899}
23900
23901// Updates an existing documentation part of a given API.
23902type UpdateDocumentationPartInput struct {
23903	_ struct{} `type:"structure"`
23904
23905	// [Required] The identifier of the to-be-updated documentation part.
23906	//
23907	// DocumentationPartId is a required field
23908	DocumentationPartId *string `location:"uri" locationName:"part_id" type:"string" required:"true"`
23909
23910	// A list of update operations to be applied to the specified resource and in
23911	// the order specified in this list.
23912	PatchOperations []*PatchOperation `locationName:"patchOperations" type:"list"`
23913
23914	// [Required] The string identifier of the associated RestApi.
23915	//
23916	// RestApiId is a required field
23917	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
23918}
23919
23920// String returns the string representation
23921func (s UpdateDocumentationPartInput) String() string {
23922	return awsutil.Prettify(s)
23923}
23924
23925// GoString returns the string representation
23926func (s UpdateDocumentationPartInput) GoString() string {
23927	return s.String()
23928}
23929
23930// Validate inspects the fields of the type to determine if they are valid.
23931func (s *UpdateDocumentationPartInput) Validate() error {
23932	invalidParams := request.ErrInvalidParams{Context: "UpdateDocumentationPartInput"}
23933	if s.DocumentationPartId == nil {
23934		invalidParams.Add(request.NewErrParamRequired("DocumentationPartId"))
23935	}
23936	if s.DocumentationPartId != nil && len(*s.DocumentationPartId) < 1 {
23937		invalidParams.Add(request.NewErrParamMinLen("DocumentationPartId", 1))
23938	}
23939	if s.RestApiId == nil {
23940		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
23941	}
23942	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
23943		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
23944	}
23945
23946	if invalidParams.Len() > 0 {
23947		return invalidParams
23948	}
23949	return nil
23950}
23951
23952// SetDocumentationPartId sets the DocumentationPartId field's value.
23953func (s *UpdateDocumentationPartInput) SetDocumentationPartId(v string) *UpdateDocumentationPartInput {
23954	s.DocumentationPartId = &v
23955	return s
23956}
23957
23958// SetPatchOperations sets the PatchOperations field's value.
23959func (s *UpdateDocumentationPartInput) SetPatchOperations(v []*PatchOperation) *UpdateDocumentationPartInput {
23960	s.PatchOperations = v
23961	return s
23962}
23963
23964// SetRestApiId sets the RestApiId field's value.
23965func (s *UpdateDocumentationPartInput) SetRestApiId(v string) *UpdateDocumentationPartInput {
23966	s.RestApiId = &v
23967	return s
23968}
23969
23970// Updates an existing documentation version of an API.
23971type UpdateDocumentationVersionInput struct {
23972	_ struct{} `type:"structure"`
23973
23974	// [Required] The version identifier of the to-be-updated documentation version.
23975	//
23976	// DocumentationVersion is a required field
23977	DocumentationVersion *string `location:"uri" locationName:"doc_version" type:"string" required:"true"`
23978
23979	// A list of update operations to be applied to the specified resource and in
23980	// the order specified in this list.
23981	PatchOperations []*PatchOperation `locationName:"patchOperations" type:"list"`
23982
23983	// [Required] The string identifier of the associated RestApi..
23984	//
23985	// RestApiId is a required field
23986	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
23987}
23988
23989// String returns the string representation
23990func (s UpdateDocumentationVersionInput) String() string {
23991	return awsutil.Prettify(s)
23992}
23993
23994// GoString returns the string representation
23995func (s UpdateDocumentationVersionInput) GoString() string {
23996	return s.String()
23997}
23998
23999// Validate inspects the fields of the type to determine if they are valid.
24000func (s *UpdateDocumentationVersionInput) Validate() error {
24001	invalidParams := request.ErrInvalidParams{Context: "UpdateDocumentationVersionInput"}
24002	if s.DocumentationVersion == nil {
24003		invalidParams.Add(request.NewErrParamRequired("DocumentationVersion"))
24004	}
24005	if s.DocumentationVersion != nil && len(*s.DocumentationVersion) < 1 {
24006		invalidParams.Add(request.NewErrParamMinLen("DocumentationVersion", 1))
24007	}
24008	if s.RestApiId == nil {
24009		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
24010	}
24011	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
24012		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
24013	}
24014
24015	if invalidParams.Len() > 0 {
24016		return invalidParams
24017	}
24018	return nil
24019}
24020
24021// SetDocumentationVersion sets the DocumentationVersion field's value.
24022func (s *UpdateDocumentationVersionInput) SetDocumentationVersion(v string) *UpdateDocumentationVersionInput {
24023	s.DocumentationVersion = &v
24024	return s
24025}
24026
24027// SetPatchOperations sets the PatchOperations field's value.
24028func (s *UpdateDocumentationVersionInput) SetPatchOperations(v []*PatchOperation) *UpdateDocumentationVersionInput {
24029	s.PatchOperations = v
24030	return s
24031}
24032
24033// SetRestApiId sets the RestApiId field's value.
24034func (s *UpdateDocumentationVersionInput) SetRestApiId(v string) *UpdateDocumentationVersionInput {
24035	s.RestApiId = &v
24036	return s
24037}
24038
24039// A request to change information about the DomainName resource.
24040type UpdateDomainNameInput struct {
24041	_ struct{} `type:"structure"`
24042
24043	// [Required] The name of the DomainName resource to be changed.
24044	//
24045	// DomainName is a required field
24046	DomainName *string `location:"uri" locationName:"domain_name" type:"string" required:"true"`
24047
24048	// A list of update operations to be applied to the specified resource and in
24049	// the order specified in this list.
24050	PatchOperations []*PatchOperation `locationName:"patchOperations" type:"list"`
24051}
24052
24053// String returns the string representation
24054func (s UpdateDomainNameInput) String() string {
24055	return awsutil.Prettify(s)
24056}
24057
24058// GoString returns the string representation
24059func (s UpdateDomainNameInput) GoString() string {
24060	return s.String()
24061}
24062
24063// Validate inspects the fields of the type to determine if they are valid.
24064func (s *UpdateDomainNameInput) Validate() error {
24065	invalidParams := request.ErrInvalidParams{Context: "UpdateDomainNameInput"}
24066	if s.DomainName == nil {
24067		invalidParams.Add(request.NewErrParamRequired("DomainName"))
24068	}
24069	if s.DomainName != nil && len(*s.DomainName) < 1 {
24070		invalidParams.Add(request.NewErrParamMinLen("DomainName", 1))
24071	}
24072
24073	if invalidParams.Len() > 0 {
24074		return invalidParams
24075	}
24076	return nil
24077}
24078
24079// SetDomainName sets the DomainName field's value.
24080func (s *UpdateDomainNameInput) SetDomainName(v string) *UpdateDomainNameInput {
24081	s.DomainName = &v
24082	return s
24083}
24084
24085// SetPatchOperations sets the PatchOperations field's value.
24086func (s *UpdateDomainNameInput) SetPatchOperations(v []*PatchOperation) *UpdateDomainNameInput {
24087	s.PatchOperations = v
24088	return s
24089}
24090
24091// Updates a GatewayResponse of a specified response type on the given RestApi.
24092type UpdateGatewayResponseInput struct {
24093	_ struct{} `type:"structure"`
24094
24095	// A list of update operations to be applied to the specified resource and in
24096	// the order specified in this list.
24097	PatchOperations []*PatchOperation `locationName:"patchOperations" type:"list"`
24098
24099	// [Required]
24100	// The response type of the associated GatewayResponse. Valid values are
24101	//    * ACCESS_DENIED
24102	//
24103	//    * API_CONFIGURATION_ERROR
24104	//
24105	//    * AUTHORIZER_FAILURE
24106	//
24107	//    * AUTHORIZER_CONFIGURATION_ERROR
24108	//
24109	//    * BAD_REQUEST_PARAMETERS
24110	//
24111	//    * BAD_REQUEST_BODY
24112	//
24113	//    * DEFAULT_4XX
24114	//
24115	//    * DEFAULT_5XX
24116	//
24117	//    * EXPIRED_TOKEN
24118	//
24119	//    * INVALID_SIGNATURE
24120	//
24121	//    * INTEGRATION_FAILURE
24122	//
24123	//    * INTEGRATION_TIMEOUT
24124	//
24125	//    * INVALID_API_KEY
24126	//
24127	//    * MISSING_AUTHENTICATION_TOKEN
24128	//
24129	//    * QUOTA_EXCEEDED
24130	//
24131	//    * REQUEST_TOO_LARGE
24132	//
24133	//    * RESOURCE_NOT_FOUND
24134	//
24135	//    * THROTTLED
24136	//
24137	//    * UNAUTHORIZED
24138	//
24139	//    * UNSUPPORTED_MEDIA_TYPE
24140	//
24141	// ResponseType is a required field
24142	ResponseType *string `location:"uri" locationName:"response_type" type:"string" required:"true" enum:"GatewayResponseType"`
24143
24144	// [Required] The string identifier of the associated RestApi.
24145	//
24146	// RestApiId is a required field
24147	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
24148}
24149
24150// String returns the string representation
24151func (s UpdateGatewayResponseInput) String() string {
24152	return awsutil.Prettify(s)
24153}
24154
24155// GoString returns the string representation
24156func (s UpdateGatewayResponseInput) GoString() string {
24157	return s.String()
24158}
24159
24160// Validate inspects the fields of the type to determine if they are valid.
24161func (s *UpdateGatewayResponseInput) Validate() error {
24162	invalidParams := request.ErrInvalidParams{Context: "UpdateGatewayResponseInput"}
24163	if s.ResponseType == nil {
24164		invalidParams.Add(request.NewErrParamRequired("ResponseType"))
24165	}
24166	if s.ResponseType != nil && len(*s.ResponseType) < 1 {
24167		invalidParams.Add(request.NewErrParamMinLen("ResponseType", 1))
24168	}
24169	if s.RestApiId == nil {
24170		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
24171	}
24172	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
24173		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
24174	}
24175
24176	if invalidParams.Len() > 0 {
24177		return invalidParams
24178	}
24179	return nil
24180}
24181
24182// SetPatchOperations sets the PatchOperations field's value.
24183func (s *UpdateGatewayResponseInput) SetPatchOperations(v []*PatchOperation) *UpdateGatewayResponseInput {
24184	s.PatchOperations = v
24185	return s
24186}
24187
24188// SetResponseType sets the ResponseType field's value.
24189func (s *UpdateGatewayResponseInput) SetResponseType(v string) *UpdateGatewayResponseInput {
24190	s.ResponseType = &v
24191	return s
24192}
24193
24194// SetRestApiId sets the RestApiId field's value.
24195func (s *UpdateGatewayResponseInput) SetRestApiId(v string) *UpdateGatewayResponseInput {
24196	s.RestApiId = &v
24197	return s
24198}
24199
24200// A gateway response of a given response type and status code, with optional
24201// response parameters and mapping templates.
24202//
24203// For more information about valid gateway response types, see Gateway Response
24204// Types Supported by API Gateway (https://docs.aws.amazon.com/apigateway/latest/developerguide/supported-gateway-response-types.html)
24205//
24206// Example: Get a Gateway Response of a given response type
24207//
24208// Request
24209//
24210// This example shows how to get a gateway response of the MISSING_AUTHENTICATION_TOKEN
24211// type.
24212//  GET /restapis/o81lxisefl/gatewayresponses/MISSING_AUTHENTICATION_TOKEN HTTP/1.1
24213//  Host: beta-apigateway.us-east-1.amazonaws.com Content-Type: application/json
24214//  X-Amz-Date: 20170503T202516Z Authorization: AWS4-HMAC-SHA256 Credential={access-key-id}/20170503/us-east-1/apigateway/aws4_request,
24215//  SignedHeaders=content-type;host;x-amz-date, Signature=1b52460e3159c1a26cff29093855d50ea141c1c5b937528fecaf60f51129697a
24216//  Cache-Control: no-cache Postman-Token: 3b2a1ce9-c848-2e26-2e2f-9c2caefbed45
24217// The response type is specified as a URL path.
24218//
24219// Response
24220//
24221// The successful operation returns the 200 OK status code and a payload similar
24222// to the following:
24223//  { "_links": { "curies": { "href": "http://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-gatewayresponse-{rel}.html",
24224//  "name": "gatewayresponse", "templated": true }, "self": { "href": "/restapis/o81lxisefl/gatewayresponses/MISSING_AUTHENTICATION_TOKEN"
24225//  }, "gatewayresponse:delete": { "href": "/restapis/o81lxisefl/gatewayresponses/MISSING_AUTHENTICATION_TOKEN"
24226//  }, "gatewayresponse:put": { "href": "/restapis/o81lxisefl/gatewayresponses/{response_type}",
24227//  "templated": true }, "gatewayresponse:update": { "href": "/restapis/o81lxisefl/gatewayresponses/MISSING_AUTHENTICATION_TOKEN"
24228//  } }, "defaultResponse": false, "responseParameters": { "gatewayresponse.header.x-request-path":
24229//  "method.request.path.petId", "gatewayresponse.header.Access-Control-Allow-Origin":
24230//  "'a.b.c'", "gatewayresponse.header.x-request-query": "method.request.querystring.q",
24231//  "gatewayresponse.header.x-request-header": "method.request.header.Accept"
24232//  }, "responseTemplates": { "application/json": "{\n \"message\": $context.error.messageString,\n
24233//  \"type\": \"$context.error.responseType\",\n \"stage\": \"$context.stage\",\n
24234//  \"resourcePath\": \"$context.resourcePath\",\n \"stageVariables.a\": \"$stageVariables.a\",\n
24235//  \"statusCode\": \"'404'\"\n}" }, "responseType": "MISSING_AUTHENTICATION_TOKEN",
24236//  "statusCode": "404" }
24237//
24238// Customize Gateway Responses (https://docs.aws.amazon.com/apigateway/latest/developerguide/customize-gateway-responses.html)
24239type UpdateGatewayResponseOutput struct {
24240	_ struct{} `type:"structure"`
24241
24242	// A Boolean flag to indicate whether this GatewayResponse is the default gateway
24243	// response (true) or not (false). A default gateway response is one generated
24244	// by API Gateway without any customization by an API developer.
24245	DefaultResponse *bool `locationName:"defaultResponse" type:"boolean"`
24246
24247	// Response parameters (paths, query strings and headers) of the GatewayResponse
24248	// as a string-to-string map of key-value pairs.
24249	ResponseParameters map[string]*string `locationName:"responseParameters" type:"map"`
24250
24251	// Response templates of the GatewayResponse as a string-to-string map of key-value
24252	// pairs.
24253	ResponseTemplates map[string]*string `locationName:"responseTemplates" type:"map"`
24254
24255	// The response type of the associated GatewayResponse. Valid values are
24256	//    * ACCESS_DENIED
24257	//
24258	//    * API_CONFIGURATION_ERROR
24259	//
24260	//    * AUTHORIZER_FAILURE
24261	//
24262	//    * AUTHORIZER_CONFIGURATION_ERROR
24263	//
24264	//    * BAD_REQUEST_PARAMETERS
24265	//
24266	//    * BAD_REQUEST_BODY
24267	//
24268	//    * DEFAULT_4XX
24269	//
24270	//    * DEFAULT_5XX
24271	//
24272	//    * EXPIRED_TOKEN
24273	//
24274	//    * INVALID_SIGNATURE
24275	//
24276	//    * INTEGRATION_FAILURE
24277	//
24278	//    * INTEGRATION_TIMEOUT
24279	//
24280	//    * INVALID_API_KEY
24281	//
24282	//    * MISSING_AUTHENTICATION_TOKEN
24283	//
24284	//    * QUOTA_EXCEEDED
24285	//
24286	//    * REQUEST_TOO_LARGE
24287	//
24288	//    * RESOURCE_NOT_FOUND
24289	//
24290	//    * THROTTLED
24291	//
24292	//    * UNAUTHORIZED
24293	//
24294	//    * UNSUPPORTED_MEDIA_TYPE
24295	ResponseType *string `locationName:"responseType" type:"string" enum:"GatewayResponseType"`
24296
24297	// The HTTP status code for this GatewayResponse.
24298	StatusCode *string `locationName:"statusCode" type:"string"`
24299}
24300
24301// String returns the string representation
24302func (s UpdateGatewayResponseOutput) String() string {
24303	return awsutil.Prettify(s)
24304}
24305
24306// GoString returns the string representation
24307func (s UpdateGatewayResponseOutput) GoString() string {
24308	return s.String()
24309}
24310
24311// SetDefaultResponse sets the DefaultResponse field's value.
24312func (s *UpdateGatewayResponseOutput) SetDefaultResponse(v bool) *UpdateGatewayResponseOutput {
24313	s.DefaultResponse = &v
24314	return s
24315}
24316
24317// SetResponseParameters sets the ResponseParameters field's value.
24318func (s *UpdateGatewayResponseOutput) SetResponseParameters(v map[string]*string) *UpdateGatewayResponseOutput {
24319	s.ResponseParameters = v
24320	return s
24321}
24322
24323// SetResponseTemplates sets the ResponseTemplates field's value.
24324func (s *UpdateGatewayResponseOutput) SetResponseTemplates(v map[string]*string) *UpdateGatewayResponseOutput {
24325	s.ResponseTemplates = v
24326	return s
24327}
24328
24329// SetResponseType sets the ResponseType field's value.
24330func (s *UpdateGatewayResponseOutput) SetResponseType(v string) *UpdateGatewayResponseOutput {
24331	s.ResponseType = &v
24332	return s
24333}
24334
24335// SetStatusCode sets the StatusCode field's value.
24336func (s *UpdateGatewayResponseOutput) SetStatusCode(v string) *UpdateGatewayResponseOutput {
24337	s.StatusCode = &v
24338	return s
24339}
24340
24341// Represents an update integration request.
24342type UpdateIntegrationInput struct {
24343	_ struct{} `type:"structure"`
24344
24345	// [Required] Represents an update integration request's HTTP method.
24346	//
24347	// HttpMethod is a required field
24348	HttpMethod *string `location:"uri" locationName:"http_method" type:"string" required:"true"`
24349
24350	// A list of update operations to be applied to the specified resource and in
24351	// the order specified in this list.
24352	PatchOperations []*PatchOperation `locationName:"patchOperations" type:"list"`
24353
24354	// [Required] Represents an update integration request's resource identifier.
24355	//
24356	// ResourceId is a required field
24357	ResourceId *string `location:"uri" locationName:"resource_id" type:"string" required:"true"`
24358
24359	// [Required] The string identifier of the associated RestApi.
24360	//
24361	// RestApiId is a required field
24362	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
24363}
24364
24365// String returns the string representation
24366func (s UpdateIntegrationInput) String() string {
24367	return awsutil.Prettify(s)
24368}
24369
24370// GoString returns the string representation
24371func (s UpdateIntegrationInput) GoString() string {
24372	return s.String()
24373}
24374
24375// Validate inspects the fields of the type to determine if they are valid.
24376func (s *UpdateIntegrationInput) Validate() error {
24377	invalidParams := request.ErrInvalidParams{Context: "UpdateIntegrationInput"}
24378	if s.HttpMethod == nil {
24379		invalidParams.Add(request.NewErrParamRequired("HttpMethod"))
24380	}
24381	if s.HttpMethod != nil && len(*s.HttpMethod) < 1 {
24382		invalidParams.Add(request.NewErrParamMinLen("HttpMethod", 1))
24383	}
24384	if s.ResourceId == nil {
24385		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
24386	}
24387	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
24388		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
24389	}
24390	if s.RestApiId == nil {
24391		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
24392	}
24393	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
24394		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
24395	}
24396
24397	if invalidParams.Len() > 0 {
24398		return invalidParams
24399	}
24400	return nil
24401}
24402
24403// SetHttpMethod sets the HttpMethod field's value.
24404func (s *UpdateIntegrationInput) SetHttpMethod(v string) *UpdateIntegrationInput {
24405	s.HttpMethod = &v
24406	return s
24407}
24408
24409// SetPatchOperations sets the PatchOperations field's value.
24410func (s *UpdateIntegrationInput) SetPatchOperations(v []*PatchOperation) *UpdateIntegrationInput {
24411	s.PatchOperations = v
24412	return s
24413}
24414
24415// SetResourceId sets the ResourceId field's value.
24416func (s *UpdateIntegrationInput) SetResourceId(v string) *UpdateIntegrationInput {
24417	s.ResourceId = &v
24418	return s
24419}
24420
24421// SetRestApiId sets the RestApiId field's value.
24422func (s *UpdateIntegrationInput) SetRestApiId(v string) *UpdateIntegrationInput {
24423	s.RestApiId = &v
24424	return s
24425}
24426
24427// Represents an update integration response request.
24428type UpdateIntegrationResponseInput struct {
24429	_ struct{} `type:"structure"`
24430
24431	// [Required] Specifies an update integration response request's HTTP method.
24432	//
24433	// HttpMethod is a required field
24434	HttpMethod *string `location:"uri" locationName:"http_method" type:"string" required:"true"`
24435
24436	// A list of update operations to be applied to the specified resource and in
24437	// the order specified in this list.
24438	PatchOperations []*PatchOperation `locationName:"patchOperations" type:"list"`
24439
24440	// [Required] Specifies an update integration response request's resource identifier.
24441	//
24442	// ResourceId is a required field
24443	ResourceId *string `location:"uri" locationName:"resource_id" type:"string" required:"true"`
24444
24445	// [Required] The string identifier of the associated RestApi.
24446	//
24447	// RestApiId is a required field
24448	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
24449
24450	// [Required] Specifies an update integration response request's status code.
24451	//
24452	// StatusCode is a required field
24453	StatusCode *string `location:"uri" locationName:"status_code" type:"string" required:"true"`
24454}
24455
24456// String returns the string representation
24457func (s UpdateIntegrationResponseInput) String() string {
24458	return awsutil.Prettify(s)
24459}
24460
24461// GoString returns the string representation
24462func (s UpdateIntegrationResponseInput) GoString() string {
24463	return s.String()
24464}
24465
24466// Validate inspects the fields of the type to determine if they are valid.
24467func (s *UpdateIntegrationResponseInput) Validate() error {
24468	invalidParams := request.ErrInvalidParams{Context: "UpdateIntegrationResponseInput"}
24469	if s.HttpMethod == nil {
24470		invalidParams.Add(request.NewErrParamRequired("HttpMethod"))
24471	}
24472	if s.HttpMethod != nil && len(*s.HttpMethod) < 1 {
24473		invalidParams.Add(request.NewErrParamMinLen("HttpMethod", 1))
24474	}
24475	if s.ResourceId == nil {
24476		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
24477	}
24478	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
24479		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
24480	}
24481	if s.RestApiId == nil {
24482		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
24483	}
24484	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
24485		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
24486	}
24487	if s.StatusCode == nil {
24488		invalidParams.Add(request.NewErrParamRequired("StatusCode"))
24489	}
24490	if s.StatusCode != nil && len(*s.StatusCode) < 1 {
24491		invalidParams.Add(request.NewErrParamMinLen("StatusCode", 1))
24492	}
24493
24494	if invalidParams.Len() > 0 {
24495		return invalidParams
24496	}
24497	return nil
24498}
24499
24500// SetHttpMethod sets the HttpMethod field's value.
24501func (s *UpdateIntegrationResponseInput) SetHttpMethod(v string) *UpdateIntegrationResponseInput {
24502	s.HttpMethod = &v
24503	return s
24504}
24505
24506// SetPatchOperations sets the PatchOperations field's value.
24507func (s *UpdateIntegrationResponseInput) SetPatchOperations(v []*PatchOperation) *UpdateIntegrationResponseInput {
24508	s.PatchOperations = v
24509	return s
24510}
24511
24512// SetResourceId sets the ResourceId field's value.
24513func (s *UpdateIntegrationResponseInput) SetResourceId(v string) *UpdateIntegrationResponseInput {
24514	s.ResourceId = &v
24515	return s
24516}
24517
24518// SetRestApiId sets the RestApiId field's value.
24519func (s *UpdateIntegrationResponseInput) SetRestApiId(v string) *UpdateIntegrationResponseInput {
24520	s.RestApiId = &v
24521	return s
24522}
24523
24524// SetStatusCode sets the StatusCode field's value.
24525func (s *UpdateIntegrationResponseInput) SetStatusCode(v string) *UpdateIntegrationResponseInput {
24526	s.StatusCode = &v
24527	return s
24528}
24529
24530// Request to update an existing Method resource.
24531type UpdateMethodInput struct {
24532	_ struct{} `type:"structure"`
24533
24534	// [Required] The HTTP verb of the Method resource.
24535	//
24536	// HttpMethod is a required field
24537	HttpMethod *string `location:"uri" locationName:"http_method" type:"string" required:"true"`
24538
24539	// A list of update operations to be applied to the specified resource and in
24540	// the order specified in this list.
24541	PatchOperations []*PatchOperation `locationName:"patchOperations" type:"list"`
24542
24543	// [Required] The Resource identifier for the Method resource.
24544	//
24545	// ResourceId is a required field
24546	ResourceId *string `location:"uri" locationName:"resource_id" type:"string" required:"true"`
24547
24548	// [Required] The string identifier of the associated RestApi.
24549	//
24550	// RestApiId is a required field
24551	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
24552}
24553
24554// String returns the string representation
24555func (s UpdateMethodInput) String() string {
24556	return awsutil.Prettify(s)
24557}
24558
24559// GoString returns the string representation
24560func (s UpdateMethodInput) GoString() string {
24561	return s.String()
24562}
24563
24564// Validate inspects the fields of the type to determine if they are valid.
24565func (s *UpdateMethodInput) Validate() error {
24566	invalidParams := request.ErrInvalidParams{Context: "UpdateMethodInput"}
24567	if s.HttpMethod == nil {
24568		invalidParams.Add(request.NewErrParamRequired("HttpMethod"))
24569	}
24570	if s.HttpMethod != nil && len(*s.HttpMethod) < 1 {
24571		invalidParams.Add(request.NewErrParamMinLen("HttpMethod", 1))
24572	}
24573	if s.ResourceId == nil {
24574		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
24575	}
24576	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
24577		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
24578	}
24579	if s.RestApiId == nil {
24580		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
24581	}
24582	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
24583		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
24584	}
24585
24586	if invalidParams.Len() > 0 {
24587		return invalidParams
24588	}
24589	return nil
24590}
24591
24592// SetHttpMethod sets the HttpMethod field's value.
24593func (s *UpdateMethodInput) SetHttpMethod(v string) *UpdateMethodInput {
24594	s.HttpMethod = &v
24595	return s
24596}
24597
24598// SetPatchOperations sets the PatchOperations field's value.
24599func (s *UpdateMethodInput) SetPatchOperations(v []*PatchOperation) *UpdateMethodInput {
24600	s.PatchOperations = v
24601	return s
24602}
24603
24604// SetResourceId sets the ResourceId field's value.
24605func (s *UpdateMethodInput) SetResourceId(v string) *UpdateMethodInput {
24606	s.ResourceId = &v
24607	return s
24608}
24609
24610// SetRestApiId sets the RestApiId field's value.
24611func (s *UpdateMethodInput) SetRestApiId(v string) *UpdateMethodInput {
24612	s.RestApiId = &v
24613	return s
24614}
24615
24616// A request to update an existing MethodResponse resource.
24617type UpdateMethodResponseInput struct {
24618	_ struct{} `type:"structure"`
24619
24620	// [Required] The HTTP verb of the Method resource.
24621	//
24622	// HttpMethod is a required field
24623	HttpMethod *string `location:"uri" locationName:"http_method" type:"string" required:"true"`
24624
24625	// A list of update operations to be applied to the specified resource and in
24626	// the order specified in this list.
24627	PatchOperations []*PatchOperation `locationName:"patchOperations" type:"list"`
24628
24629	// [Required] The Resource identifier for the MethodResponse resource.
24630	//
24631	// ResourceId is a required field
24632	ResourceId *string `location:"uri" locationName:"resource_id" type:"string" required:"true"`
24633
24634	// [Required] The string identifier of the associated RestApi.
24635	//
24636	// RestApiId is a required field
24637	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
24638
24639	// [Required] The status code for the MethodResponse resource.
24640	//
24641	// StatusCode is a required field
24642	StatusCode *string `location:"uri" locationName:"status_code" type:"string" required:"true"`
24643}
24644
24645// String returns the string representation
24646func (s UpdateMethodResponseInput) String() string {
24647	return awsutil.Prettify(s)
24648}
24649
24650// GoString returns the string representation
24651func (s UpdateMethodResponseInput) GoString() string {
24652	return s.String()
24653}
24654
24655// Validate inspects the fields of the type to determine if they are valid.
24656func (s *UpdateMethodResponseInput) Validate() error {
24657	invalidParams := request.ErrInvalidParams{Context: "UpdateMethodResponseInput"}
24658	if s.HttpMethod == nil {
24659		invalidParams.Add(request.NewErrParamRequired("HttpMethod"))
24660	}
24661	if s.HttpMethod != nil && len(*s.HttpMethod) < 1 {
24662		invalidParams.Add(request.NewErrParamMinLen("HttpMethod", 1))
24663	}
24664	if s.ResourceId == nil {
24665		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
24666	}
24667	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
24668		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
24669	}
24670	if s.RestApiId == nil {
24671		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
24672	}
24673	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
24674		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
24675	}
24676	if s.StatusCode == nil {
24677		invalidParams.Add(request.NewErrParamRequired("StatusCode"))
24678	}
24679	if s.StatusCode != nil && len(*s.StatusCode) < 1 {
24680		invalidParams.Add(request.NewErrParamMinLen("StatusCode", 1))
24681	}
24682
24683	if invalidParams.Len() > 0 {
24684		return invalidParams
24685	}
24686	return nil
24687}
24688
24689// SetHttpMethod sets the HttpMethod field's value.
24690func (s *UpdateMethodResponseInput) SetHttpMethod(v string) *UpdateMethodResponseInput {
24691	s.HttpMethod = &v
24692	return s
24693}
24694
24695// SetPatchOperations sets the PatchOperations field's value.
24696func (s *UpdateMethodResponseInput) SetPatchOperations(v []*PatchOperation) *UpdateMethodResponseInput {
24697	s.PatchOperations = v
24698	return s
24699}
24700
24701// SetResourceId sets the ResourceId field's value.
24702func (s *UpdateMethodResponseInput) SetResourceId(v string) *UpdateMethodResponseInput {
24703	s.ResourceId = &v
24704	return s
24705}
24706
24707// SetRestApiId sets the RestApiId field's value.
24708func (s *UpdateMethodResponseInput) SetRestApiId(v string) *UpdateMethodResponseInput {
24709	s.RestApiId = &v
24710	return s
24711}
24712
24713// SetStatusCode sets the StatusCode field's value.
24714func (s *UpdateMethodResponseInput) SetStatusCode(v string) *UpdateMethodResponseInput {
24715	s.StatusCode = &v
24716	return s
24717}
24718
24719// Request to update an existing model in an existing RestApi resource.
24720type UpdateModelInput struct {
24721	_ struct{} `type:"structure"`
24722
24723	// [Required] The name of the model to update.
24724	//
24725	// ModelName is a required field
24726	ModelName *string `location:"uri" locationName:"model_name" type:"string" required:"true"`
24727
24728	// A list of update operations to be applied to the specified resource and in
24729	// the order specified in this list.
24730	PatchOperations []*PatchOperation `locationName:"patchOperations" type:"list"`
24731
24732	// [Required] The string identifier of the associated RestApi.
24733	//
24734	// RestApiId is a required field
24735	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
24736}
24737
24738// String returns the string representation
24739func (s UpdateModelInput) String() string {
24740	return awsutil.Prettify(s)
24741}
24742
24743// GoString returns the string representation
24744func (s UpdateModelInput) GoString() string {
24745	return s.String()
24746}
24747
24748// Validate inspects the fields of the type to determine if they are valid.
24749func (s *UpdateModelInput) Validate() error {
24750	invalidParams := request.ErrInvalidParams{Context: "UpdateModelInput"}
24751	if s.ModelName == nil {
24752		invalidParams.Add(request.NewErrParamRequired("ModelName"))
24753	}
24754	if s.ModelName != nil && len(*s.ModelName) < 1 {
24755		invalidParams.Add(request.NewErrParamMinLen("ModelName", 1))
24756	}
24757	if s.RestApiId == nil {
24758		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
24759	}
24760	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
24761		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
24762	}
24763
24764	if invalidParams.Len() > 0 {
24765		return invalidParams
24766	}
24767	return nil
24768}
24769
24770// SetModelName sets the ModelName field's value.
24771func (s *UpdateModelInput) SetModelName(v string) *UpdateModelInput {
24772	s.ModelName = &v
24773	return s
24774}
24775
24776// SetPatchOperations sets the PatchOperations field's value.
24777func (s *UpdateModelInput) SetPatchOperations(v []*PatchOperation) *UpdateModelInput {
24778	s.PatchOperations = v
24779	return s
24780}
24781
24782// SetRestApiId sets the RestApiId field's value.
24783func (s *UpdateModelInput) SetRestApiId(v string) *UpdateModelInput {
24784	s.RestApiId = &v
24785	return s
24786}
24787
24788// Updates a RequestValidator of a given RestApi.
24789type UpdateRequestValidatorInput struct {
24790	_ struct{} `type:"structure"`
24791
24792	// A list of update operations to be applied to the specified resource and in
24793	// the order specified in this list.
24794	PatchOperations []*PatchOperation `locationName:"patchOperations" type:"list"`
24795
24796	// [Required] The identifier of RequestValidator to be updated.
24797	//
24798	// RequestValidatorId is a required field
24799	RequestValidatorId *string `location:"uri" locationName:"requestvalidator_id" type:"string" required:"true"`
24800
24801	// [Required] The string identifier of the associated RestApi.
24802	//
24803	// RestApiId is a required field
24804	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
24805}
24806
24807// String returns the string representation
24808func (s UpdateRequestValidatorInput) String() string {
24809	return awsutil.Prettify(s)
24810}
24811
24812// GoString returns the string representation
24813func (s UpdateRequestValidatorInput) GoString() string {
24814	return s.String()
24815}
24816
24817// Validate inspects the fields of the type to determine if they are valid.
24818func (s *UpdateRequestValidatorInput) Validate() error {
24819	invalidParams := request.ErrInvalidParams{Context: "UpdateRequestValidatorInput"}
24820	if s.RequestValidatorId == nil {
24821		invalidParams.Add(request.NewErrParamRequired("RequestValidatorId"))
24822	}
24823	if s.RequestValidatorId != nil && len(*s.RequestValidatorId) < 1 {
24824		invalidParams.Add(request.NewErrParamMinLen("RequestValidatorId", 1))
24825	}
24826	if s.RestApiId == nil {
24827		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
24828	}
24829	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
24830		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
24831	}
24832
24833	if invalidParams.Len() > 0 {
24834		return invalidParams
24835	}
24836	return nil
24837}
24838
24839// SetPatchOperations sets the PatchOperations field's value.
24840func (s *UpdateRequestValidatorInput) SetPatchOperations(v []*PatchOperation) *UpdateRequestValidatorInput {
24841	s.PatchOperations = v
24842	return s
24843}
24844
24845// SetRequestValidatorId sets the RequestValidatorId field's value.
24846func (s *UpdateRequestValidatorInput) SetRequestValidatorId(v string) *UpdateRequestValidatorInput {
24847	s.RequestValidatorId = &v
24848	return s
24849}
24850
24851// SetRestApiId sets the RestApiId field's value.
24852func (s *UpdateRequestValidatorInput) SetRestApiId(v string) *UpdateRequestValidatorInput {
24853	s.RestApiId = &v
24854	return s
24855}
24856
24857// A set of validation rules for incoming Method requests.
24858//
24859// In OpenAPI, a RequestValidator of an API is defined by the x-amazon-apigateway-request-validators.requestValidator
24860// (https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions.html#api-gateway-swagger-extensions-request-validators.requestValidator.html)
24861// object. It the referenced using the x-amazon-apigateway-request-validator
24862// (https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions.html#api-gateway-swagger-extensions-request-validator)
24863// property.
24864//
24865// Enable Basic Request Validation in API Gateway (https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-method-request-validation.html)
24866type UpdateRequestValidatorOutput struct {
24867	_ struct{} `type:"structure"`
24868
24869	// The identifier of this RequestValidator.
24870	Id *string `locationName:"id" type:"string"`
24871
24872	// The name of this RequestValidator
24873	Name *string `locationName:"name" type:"string"`
24874
24875	// A Boolean flag to indicate whether to validate a request body according to
24876	// the configured Model schema.
24877	ValidateRequestBody *bool `locationName:"validateRequestBody" type:"boolean"`
24878
24879	// A Boolean flag to indicate whether to validate request parameters (true)
24880	// or not (false).
24881	ValidateRequestParameters *bool `locationName:"validateRequestParameters" type:"boolean"`
24882}
24883
24884// String returns the string representation
24885func (s UpdateRequestValidatorOutput) String() string {
24886	return awsutil.Prettify(s)
24887}
24888
24889// GoString returns the string representation
24890func (s UpdateRequestValidatorOutput) GoString() string {
24891	return s.String()
24892}
24893
24894// SetId sets the Id field's value.
24895func (s *UpdateRequestValidatorOutput) SetId(v string) *UpdateRequestValidatorOutput {
24896	s.Id = &v
24897	return s
24898}
24899
24900// SetName sets the Name field's value.
24901func (s *UpdateRequestValidatorOutput) SetName(v string) *UpdateRequestValidatorOutput {
24902	s.Name = &v
24903	return s
24904}
24905
24906// SetValidateRequestBody sets the ValidateRequestBody field's value.
24907func (s *UpdateRequestValidatorOutput) SetValidateRequestBody(v bool) *UpdateRequestValidatorOutput {
24908	s.ValidateRequestBody = &v
24909	return s
24910}
24911
24912// SetValidateRequestParameters sets the ValidateRequestParameters field's value.
24913func (s *UpdateRequestValidatorOutput) SetValidateRequestParameters(v bool) *UpdateRequestValidatorOutput {
24914	s.ValidateRequestParameters = &v
24915	return s
24916}
24917
24918// Request to change information about a Resource resource.
24919type UpdateResourceInput struct {
24920	_ struct{} `type:"structure"`
24921
24922	// A list of update operations to be applied to the specified resource and in
24923	// the order specified in this list.
24924	PatchOperations []*PatchOperation `locationName:"patchOperations" type:"list"`
24925
24926	// [Required] The identifier of the Resource resource.
24927	//
24928	// ResourceId is a required field
24929	ResourceId *string `location:"uri" locationName:"resource_id" type:"string" required:"true"`
24930
24931	// [Required] The string identifier of the associated RestApi.
24932	//
24933	// RestApiId is a required field
24934	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
24935}
24936
24937// String returns the string representation
24938func (s UpdateResourceInput) String() string {
24939	return awsutil.Prettify(s)
24940}
24941
24942// GoString returns the string representation
24943func (s UpdateResourceInput) GoString() string {
24944	return s.String()
24945}
24946
24947// Validate inspects the fields of the type to determine if they are valid.
24948func (s *UpdateResourceInput) Validate() error {
24949	invalidParams := request.ErrInvalidParams{Context: "UpdateResourceInput"}
24950	if s.ResourceId == nil {
24951		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
24952	}
24953	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
24954		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
24955	}
24956	if s.RestApiId == nil {
24957		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
24958	}
24959	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
24960		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
24961	}
24962
24963	if invalidParams.Len() > 0 {
24964		return invalidParams
24965	}
24966	return nil
24967}
24968
24969// SetPatchOperations sets the PatchOperations field's value.
24970func (s *UpdateResourceInput) SetPatchOperations(v []*PatchOperation) *UpdateResourceInput {
24971	s.PatchOperations = v
24972	return s
24973}
24974
24975// SetResourceId sets the ResourceId field's value.
24976func (s *UpdateResourceInput) SetResourceId(v string) *UpdateResourceInput {
24977	s.ResourceId = &v
24978	return s
24979}
24980
24981// SetRestApiId sets the RestApiId field's value.
24982func (s *UpdateResourceInput) SetRestApiId(v string) *UpdateResourceInput {
24983	s.RestApiId = &v
24984	return s
24985}
24986
24987// Request to update an existing RestApi resource in your collection.
24988type UpdateRestApiInput struct {
24989	_ struct{} `type:"structure"`
24990
24991	// A list of update operations to be applied to the specified resource and in
24992	// the order specified in this list.
24993	PatchOperations []*PatchOperation `locationName:"patchOperations" type:"list"`
24994
24995	// [Required] The string identifier of the associated RestApi.
24996	//
24997	// RestApiId is a required field
24998	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
24999}
25000
25001// String returns the string representation
25002func (s UpdateRestApiInput) String() string {
25003	return awsutil.Prettify(s)
25004}
25005
25006// GoString returns the string representation
25007func (s UpdateRestApiInput) GoString() string {
25008	return s.String()
25009}
25010
25011// Validate inspects the fields of the type to determine if they are valid.
25012func (s *UpdateRestApiInput) Validate() error {
25013	invalidParams := request.ErrInvalidParams{Context: "UpdateRestApiInput"}
25014	if s.RestApiId == nil {
25015		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
25016	}
25017	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
25018		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
25019	}
25020
25021	if invalidParams.Len() > 0 {
25022		return invalidParams
25023	}
25024	return nil
25025}
25026
25027// SetPatchOperations sets the PatchOperations field's value.
25028func (s *UpdateRestApiInput) SetPatchOperations(v []*PatchOperation) *UpdateRestApiInput {
25029	s.PatchOperations = v
25030	return s
25031}
25032
25033// SetRestApiId sets the RestApiId field's value.
25034func (s *UpdateRestApiInput) SetRestApiId(v string) *UpdateRestApiInput {
25035	s.RestApiId = &v
25036	return s
25037}
25038
25039// Requests API Gateway to change information about a Stage resource.
25040type UpdateStageInput struct {
25041	_ struct{} `type:"structure"`
25042
25043	// A list of update operations to be applied to the specified resource and in
25044	// the order specified in this list.
25045	PatchOperations []*PatchOperation `locationName:"patchOperations" type:"list"`
25046
25047	// [Required] The string identifier of the associated RestApi.
25048	//
25049	// RestApiId is a required field
25050	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
25051
25052	// [Required] The name of the Stage resource to change information about.
25053	//
25054	// StageName is a required field
25055	StageName *string `location:"uri" locationName:"stage_name" type:"string" required:"true"`
25056}
25057
25058// String returns the string representation
25059func (s UpdateStageInput) String() string {
25060	return awsutil.Prettify(s)
25061}
25062
25063// GoString returns the string representation
25064func (s UpdateStageInput) GoString() string {
25065	return s.String()
25066}
25067
25068// Validate inspects the fields of the type to determine if they are valid.
25069func (s *UpdateStageInput) Validate() error {
25070	invalidParams := request.ErrInvalidParams{Context: "UpdateStageInput"}
25071	if s.RestApiId == nil {
25072		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
25073	}
25074	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
25075		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
25076	}
25077	if s.StageName == nil {
25078		invalidParams.Add(request.NewErrParamRequired("StageName"))
25079	}
25080	if s.StageName != nil && len(*s.StageName) < 1 {
25081		invalidParams.Add(request.NewErrParamMinLen("StageName", 1))
25082	}
25083
25084	if invalidParams.Len() > 0 {
25085		return invalidParams
25086	}
25087	return nil
25088}
25089
25090// SetPatchOperations sets the PatchOperations field's value.
25091func (s *UpdateStageInput) SetPatchOperations(v []*PatchOperation) *UpdateStageInput {
25092	s.PatchOperations = v
25093	return s
25094}
25095
25096// SetRestApiId sets the RestApiId field's value.
25097func (s *UpdateStageInput) SetRestApiId(v string) *UpdateStageInput {
25098	s.RestApiId = &v
25099	return s
25100}
25101
25102// SetStageName sets the StageName field's value.
25103func (s *UpdateStageInput) SetStageName(v string) *UpdateStageInput {
25104	s.StageName = &v
25105	return s
25106}
25107
25108// The PATCH request to grant a temporary extension to the remaining quota of
25109// a usage plan associated with a specified API key.
25110type UpdateUsageInput struct {
25111	_ struct{} `type:"structure"`
25112
25113	// [Required] The identifier of the API key associated with the usage plan in
25114	// which a temporary extension is granted to the remaining quota.
25115	//
25116	// KeyId is a required field
25117	KeyId *string `location:"uri" locationName:"keyId" type:"string" required:"true"`
25118
25119	// A list of update operations to be applied to the specified resource and in
25120	// the order specified in this list.
25121	PatchOperations []*PatchOperation `locationName:"patchOperations" type:"list"`
25122
25123	// [Required] The Id of the usage plan associated with the usage data.
25124	//
25125	// UsagePlanId is a required field
25126	UsagePlanId *string `location:"uri" locationName:"usageplanId" type:"string" required:"true"`
25127}
25128
25129// String returns the string representation
25130func (s UpdateUsageInput) String() string {
25131	return awsutil.Prettify(s)
25132}
25133
25134// GoString returns the string representation
25135func (s UpdateUsageInput) GoString() string {
25136	return s.String()
25137}
25138
25139// Validate inspects the fields of the type to determine if they are valid.
25140func (s *UpdateUsageInput) Validate() error {
25141	invalidParams := request.ErrInvalidParams{Context: "UpdateUsageInput"}
25142	if s.KeyId == nil {
25143		invalidParams.Add(request.NewErrParamRequired("KeyId"))
25144	}
25145	if s.KeyId != nil && len(*s.KeyId) < 1 {
25146		invalidParams.Add(request.NewErrParamMinLen("KeyId", 1))
25147	}
25148	if s.UsagePlanId == nil {
25149		invalidParams.Add(request.NewErrParamRequired("UsagePlanId"))
25150	}
25151	if s.UsagePlanId != nil && len(*s.UsagePlanId) < 1 {
25152		invalidParams.Add(request.NewErrParamMinLen("UsagePlanId", 1))
25153	}
25154
25155	if invalidParams.Len() > 0 {
25156		return invalidParams
25157	}
25158	return nil
25159}
25160
25161// SetKeyId sets the KeyId field's value.
25162func (s *UpdateUsageInput) SetKeyId(v string) *UpdateUsageInput {
25163	s.KeyId = &v
25164	return s
25165}
25166
25167// SetPatchOperations sets the PatchOperations field's value.
25168func (s *UpdateUsageInput) SetPatchOperations(v []*PatchOperation) *UpdateUsageInput {
25169	s.PatchOperations = v
25170	return s
25171}
25172
25173// SetUsagePlanId sets the UsagePlanId field's value.
25174func (s *UpdateUsageInput) SetUsagePlanId(v string) *UpdateUsageInput {
25175	s.UsagePlanId = &v
25176	return s
25177}
25178
25179// The PATCH request to update a usage plan of a given plan Id.
25180type UpdateUsagePlanInput struct {
25181	_ struct{} `type:"structure"`
25182
25183	// A list of update operations to be applied to the specified resource and in
25184	// the order specified in this list.
25185	PatchOperations []*PatchOperation `locationName:"patchOperations" type:"list"`
25186
25187	// [Required] The Id of the to-be-updated usage plan.
25188	//
25189	// UsagePlanId is a required field
25190	UsagePlanId *string `location:"uri" locationName:"usageplanId" type:"string" required:"true"`
25191}
25192
25193// String returns the string representation
25194func (s UpdateUsagePlanInput) String() string {
25195	return awsutil.Prettify(s)
25196}
25197
25198// GoString returns the string representation
25199func (s UpdateUsagePlanInput) GoString() string {
25200	return s.String()
25201}
25202
25203// Validate inspects the fields of the type to determine if they are valid.
25204func (s *UpdateUsagePlanInput) Validate() error {
25205	invalidParams := request.ErrInvalidParams{Context: "UpdateUsagePlanInput"}
25206	if s.UsagePlanId == nil {
25207		invalidParams.Add(request.NewErrParamRequired("UsagePlanId"))
25208	}
25209	if s.UsagePlanId != nil && len(*s.UsagePlanId) < 1 {
25210		invalidParams.Add(request.NewErrParamMinLen("UsagePlanId", 1))
25211	}
25212
25213	if invalidParams.Len() > 0 {
25214		return invalidParams
25215	}
25216	return nil
25217}
25218
25219// SetPatchOperations sets the PatchOperations field's value.
25220func (s *UpdateUsagePlanInput) SetPatchOperations(v []*PatchOperation) *UpdateUsagePlanInput {
25221	s.PatchOperations = v
25222	return s
25223}
25224
25225// SetUsagePlanId sets the UsagePlanId field's value.
25226func (s *UpdateUsagePlanInput) SetUsagePlanId(v string) *UpdateUsagePlanInput {
25227	s.UsagePlanId = &v
25228	return s
25229}
25230
25231// Updates an existing VpcLink of a specified identifier.
25232type UpdateVpcLinkInput struct {
25233	_ struct{} `type:"structure"`
25234
25235	// A list of update operations to be applied to the specified resource and in
25236	// the order specified in this list.
25237	PatchOperations []*PatchOperation `locationName:"patchOperations" type:"list"`
25238
25239	// [Required] The identifier of the VpcLink. It is used in an Integration to
25240	// reference this VpcLink.
25241	//
25242	// VpcLinkId is a required field
25243	VpcLinkId *string `location:"uri" locationName:"vpclink_id" type:"string" required:"true"`
25244}
25245
25246// String returns the string representation
25247func (s UpdateVpcLinkInput) String() string {
25248	return awsutil.Prettify(s)
25249}
25250
25251// GoString returns the string representation
25252func (s UpdateVpcLinkInput) GoString() string {
25253	return s.String()
25254}
25255
25256// Validate inspects the fields of the type to determine if they are valid.
25257func (s *UpdateVpcLinkInput) Validate() error {
25258	invalidParams := request.ErrInvalidParams{Context: "UpdateVpcLinkInput"}
25259	if s.VpcLinkId == nil {
25260		invalidParams.Add(request.NewErrParamRequired("VpcLinkId"))
25261	}
25262	if s.VpcLinkId != nil && len(*s.VpcLinkId) < 1 {
25263		invalidParams.Add(request.NewErrParamMinLen("VpcLinkId", 1))
25264	}
25265
25266	if invalidParams.Len() > 0 {
25267		return invalidParams
25268	}
25269	return nil
25270}
25271
25272// SetPatchOperations sets the PatchOperations field's value.
25273func (s *UpdateVpcLinkInput) SetPatchOperations(v []*PatchOperation) *UpdateVpcLinkInput {
25274	s.PatchOperations = v
25275	return s
25276}
25277
25278// SetVpcLinkId sets the VpcLinkId field's value.
25279func (s *UpdateVpcLinkInput) SetVpcLinkId(v string) *UpdateVpcLinkInput {
25280	s.VpcLinkId = &v
25281	return s
25282}
25283
25284// An API Gateway VPC link for a RestApi to access resources in an Amazon Virtual
25285// Private Cloud (VPC).
25286//
25287// To enable access to a resource in an Amazon Virtual Private Cloud through
25288// Amazon API Gateway, you, as an API developer, create a VpcLink resource targeted
25289// for one or more network load balancers of the VPC and then integrate an API
25290// method with a private integration that uses the VpcLink. The private integration
25291// has an integration type of HTTP or HTTP_PROXY and has a connection type of
25292// VPC_LINK. The integration uses the connectionId property to identify the
25293// VpcLink used.
25294type UpdateVpcLinkOutput struct {
25295	_ struct{} `type:"structure"`
25296
25297	// The description of the VPC link.
25298	Description *string `locationName:"description" type:"string"`
25299
25300	// The identifier of the VpcLink. It is used in an Integration to reference
25301	// this VpcLink.
25302	Id *string `locationName:"id" type:"string"`
25303
25304	// The name used to label and identify the VPC link.
25305	Name *string `locationName:"name" type:"string"`
25306
25307	// The status of the VPC link. The valid values are AVAILABLE, PENDING, DELETING,
25308	// or FAILED. Deploying an API will wait if the status is PENDING and will fail
25309	// if the status is DELETING.
25310	Status *string `locationName:"status" type:"string" enum:"VpcLinkStatus"`
25311
25312	// A description about the VPC link status.
25313	StatusMessage *string `locationName:"statusMessage" type:"string"`
25314
25315	// The collection of tags. Each tag element is associated with a given resource.
25316	Tags map[string]*string `locationName:"tags" type:"map"`
25317
25318	// The ARN of the network load balancer of the VPC targeted by the VPC link.
25319	// The network load balancer must be owned by the same AWS account of the API
25320	// owner.
25321	TargetArns []*string `locationName:"targetArns" type:"list"`
25322}
25323
25324// String returns the string representation
25325func (s UpdateVpcLinkOutput) String() string {
25326	return awsutil.Prettify(s)
25327}
25328
25329// GoString returns the string representation
25330func (s UpdateVpcLinkOutput) GoString() string {
25331	return s.String()
25332}
25333
25334// SetDescription sets the Description field's value.
25335func (s *UpdateVpcLinkOutput) SetDescription(v string) *UpdateVpcLinkOutput {
25336	s.Description = &v
25337	return s
25338}
25339
25340// SetId sets the Id field's value.
25341func (s *UpdateVpcLinkOutput) SetId(v string) *UpdateVpcLinkOutput {
25342	s.Id = &v
25343	return s
25344}
25345
25346// SetName sets the Name field's value.
25347func (s *UpdateVpcLinkOutput) SetName(v string) *UpdateVpcLinkOutput {
25348	s.Name = &v
25349	return s
25350}
25351
25352// SetStatus sets the Status field's value.
25353func (s *UpdateVpcLinkOutput) SetStatus(v string) *UpdateVpcLinkOutput {
25354	s.Status = &v
25355	return s
25356}
25357
25358// SetStatusMessage sets the StatusMessage field's value.
25359func (s *UpdateVpcLinkOutput) SetStatusMessage(v string) *UpdateVpcLinkOutput {
25360	s.StatusMessage = &v
25361	return s
25362}
25363
25364// SetTags sets the Tags field's value.
25365func (s *UpdateVpcLinkOutput) SetTags(v map[string]*string) *UpdateVpcLinkOutput {
25366	s.Tags = v
25367	return s
25368}
25369
25370// SetTargetArns sets the TargetArns field's value.
25371func (s *UpdateVpcLinkOutput) SetTargetArns(v []*string) *UpdateVpcLinkOutput {
25372	s.TargetArns = v
25373	return s
25374}
25375
25376// Represents the usage data of a usage plan.
25377//
25378// Create and Use Usage Plans (https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-api-usage-plans.html),
25379// 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)
25380type Usage struct {
25381	_ struct{} `type:"structure"`
25382
25383	// The ending date of the usage data.
25384	EndDate *string `locationName:"endDate" type:"string"`
25385
25386	// The usage data, as daily logs of used and remaining quotas, over the specified
25387	// time interval indexed over the API keys in a usage plan. For example, {...,
25388	// "values" : { "{api_key}" : [ [0, 100], [10, 90], [100, 10]]}, where {api_key}
25389	// stands for an API key value and the daily log entry is of the format [used
25390	// quota, remaining quota].
25391	Items map[string][][]*int64 `locationName:"values" type:"map"`
25392
25393	Position *string `locationName:"position" type:"string"`
25394
25395	// The starting date of the usage data.
25396	StartDate *string `locationName:"startDate" type:"string"`
25397
25398	// The plan Id associated with this usage data.
25399	UsagePlanId *string `locationName:"usagePlanId" type:"string"`
25400}
25401
25402// String returns the string representation
25403func (s Usage) String() string {
25404	return awsutil.Prettify(s)
25405}
25406
25407// GoString returns the string representation
25408func (s Usage) GoString() string {
25409	return s.String()
25410}
25411
25412// SetEndDate sets the EndDate field's value.
25413func (s *Usage) SetEndDate(v string) *Usage {
25414	s.EndDate = &v
25415	return s
25416}
25417
25418// SetItems sets the Items field's value.
25419func (s *Usage) SetItems(v map[string][][]*int64) *Usage {
25420	s.Items = v
25421	return s
25422}
25423
25424// SetPosition sets the Position field's value.
25425func (s *Usage) SetPosition(v string) *Usage {
25426	s.Position = &v
25427	return s
25428}
25429
25430// SetStartDate sets the StartDate field's value.
25431func (s *Usage) SetStartDate(v string) *Usage {
25432	s.StartDate = &v
25433	return s
25434}
25435
25436// SetUsagePlanId sets the UsagePlanId field's value.
25437func (s *Usage) SetUsagePlanId(v string) *Usage {
25438	s.UsagePlanId = &v
25439	return s
25440}
25441
25442// Represents a usage plan than can specify who can assess associated API stages
25443// with specified request limits and quotas.
25444//
25445// In a usage plan, you associate an API by specifying the API's Id and a stage
25446// name of the specified API. You add plan customers by adding API keys to the
25447// plan.
25448//
25449// Create and Use Usage Plans (https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-api-usage-plans.html)
25450type UsagePlan struct {
25451	_ struct{} `type:"structure"`
25452
25453	// The associated API stages of a usage plan.
25454	ApiStages []*ApiStage `locationName:"apiStages" type:"list"`
25455
25456	// The description of a usage plan.
25457	Description *string `locationName:"description" type:"string"`
25458
25459	// The identifier of a UsagePlan resource.
25460	Id *string `locationName:"id" type:"string"`
25461
25462	// The name of a usage plan.
25463	Name *string `locationName:"name" type:"string"`
25464
25465	// The AWS Markeplace product identifier to associate with the usage plan as
25466	// a SaaS product on AWS Marketplace.
25467	ProductCode *string `locationName:"productCode" type:"string"`
25468
25469	// The maximum number of permitted requests per a given unit time interval.
25470	Quota *QuotaSettings `locationName:"quota" type:"structure"`
25471
25472	// The collection of tags. Each tag element is associated with a given resource.
25473	Tags map[string]*string `locationName:"tags" type:"map"`
25474
25475	// The request throttle limits of a usage plan.
25476	Throttle *ThrottleSettings `locationName:"throttle" type:"structure"`
25477}
25478
25479// String returns the string representation
25480func (s UsagePlan) String() string {
25481	return awsutil.Prettify(s)
25482}
25483
25484// GoString returns the string representation
25485func (s UsagePlan) GoString() string {
25486	return s.String()
25487}
25488
25489// SetApiStages sets the ApiStages field's value.
25490func (s *UsagePlan) SetApiStages(v []*ApiStage) *UsagePlan {
25491	s.ApiStages = v
25492	return s
25493}
25494
25495// SetDescription sets the Description field's value.
25496func (s *UsagePlan) SetDescription(v string) *UsagePlan {
25497	s.Description = &v
25498	return s
25499}
25500
25501// SetId sets the Id field's value.
25502func (s *UsagePlan) SetId(v string) *UsagePlan {
25503	s.Id = &v
25504	return s
25505}
25506
25507// SetName sets the Name field's value.
25508func (s *UsagePlan) SetName(v string) *UsagePlan {
25509	s.Name = &v
25510	return s
25511}
25512
25513// SetProductCode sets the ProductCode field's value.
25514func (s *UsagePlan) SetProductCode(v string) *UsagePlan {
25515	s.ProductCode = &v
25516	return s
25517}
25518
25519// SetQuota sets the Quota field's value.
25520func (s *UsagePlan) SetQuota(v *QuotaSettings) *UsagePlan {
25521	s.Quota = v
25522	return s
25523}
25524
25525// SetTags sets the Tags field's value.
25526func (s *UsagePlan) SetTags(v map[string]*string) *UsagePlan {
25527	s.Tags = v
25528	return s
25529}
25530
25531// SetThrottle sets the Throttle field's value.
25532func (s *UsagePlan) SetThrottle(v *ThrottleSettings) *UsagePlan {
25533	s.Throttle = v
25534	return s
25535}
25536
25537// Represents a usage plan key to identify a plan customer.
25538//
25539// To associate an API stage with a selected API key in a usage plan, you must
25540// create a UsagePlanKey resource to represent the selected ApiKey.
25541//
25542// "
25543// Create and Use Usage Plans (https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-api-usage-plans.html)
25544type UsagePlanKey struct {
25545	_ struct{} `type:"structure"`
25546
25547	// The Id of a usage plan key.
25548	Id *string `locationName:"id" type:"string"`
25549
25550	// The name of a usage plan key.
25551	Name *string `locationName:"name" type:"string"`
25552
25553	// The type of a usage plan key. Currently, the valid key type is API_KEY.
25554	Type *string `locationName:"type" type:"string"`
25555
25556	// The value of a usage plan key.
25557	Value *string `locationName:"value" type:"string"`
25558}
25559
25560// String returns the string representation
25561func (s UsagePlanKey) String() string {
25562	return awsutil.Prettify(s)
25563}
25564
25565// GoString returns the string representation
25566func (s UsagePlanKey) GoString() string {
25567	return s.String()
25568}
25569
25570// SetId sets the Id field's value.
25571func (s *UsagePlanKey) SetId(v string) *UsagePlanKey {
25572	s.Id = &v
25573	return s
25574}
25575
25576// SetName sets the Name field's value.
25577func (s *UsagePlanKey) SetName(v string) *UsagePlanKey {
25578	s.Name = &v
25579	return s
25580}
25581
25582// SetType sets the Type field's value.
25583func (s *UsagePlanKey) SetType(v string) *UsagePlanKey {
25584	s.Type = &v
25585	return s
25586}
25587
25588// SetValue sets the Value field's value.
25589func (s *UsagePlanKey) SetValue(v string) *UsagePlanKey {
25590	s.Value = &v
25591	return s
25592}
25593
25594const (
25595	// ApiKeySourceTypeHeader is a ApiKeySourceType enum value
25596	ApiKeySourceTypeHeader = "HEADER"
25597
25598	// ApiKeySourceTypeAuthorizer is a ApiKeySourceType enum value
25599	ApiKeySourceTypeAuthorizer = "AUTHORIZER"
25600)
25601
25602// ApiKeySourceType_Values returns all elements of the ApiKeySourceType enum
25603func ApiKeySourceType_Values() []string {
25604	return []string{
25605		ApiKeySourceTypeHeader,
25606		ApiKeySourceTypeAuthorizer,
25607	}
25608}
25609
25610const (
25611	// ApiKeysFormatCsv is a ApiKeysFormat enum value
25612	ApiKeysFormatCsv = "csv"
25613)
25614
25615// ApiKeysFormat_Values returns all elements of the ApiKeysFormat enum
25616func ApiKeysFormat_Values() []string {
25617	return []string{
25618		ApiKeysFormatCsv,
25619	}
25620}
25621
25622// The authorizer type. Valid values are TOKEN for a Lambda function using a
25623// single authorization token submitted in a custom header, REQUEST for a Lambda
25624// function using incoming request parameters, and COGNITO_USER_POOLS for using
25625// an Amazon Cognito user pool.
25626const (
25627	// AuthorizerTypeToken is a AuthorizerType enum value
25628	AuthorizerTypeToken = "TOKEN"
25629
25630	// AuthorizerTypeRequest is a AuthorizerType enum value
25631	AuthorizerTypeRequest = "REQUEST"
25632
25633	// AuthorizerTypeCognitoUserPools is a AuthorizerType enum value
25634	AuthorizerTypeCognitoUserPools = "COGNITO_USER_POOLS"
25635)
25636
25637// AuthorizerType_Values returns all elements of the AuthorizerType enum
25638func AuthorizerType_Values() []string {
25639	return []string{
25640		AuthorizerTypeToken,
25641		AuthorizerTypeRequest,
25642		AuthorizerTypeCognitoUserPools,
25643	}
25644}
25645
25646// Returns the size of the CacheCluster.
25647const (
25648	// CacheClusterSize05 is a CacheClusterSize enum value
25649	CacheClusterSize05 = "0.5"
25650
25651	// CacheClusterSize16 is a CacheClusterSize enum value
25652	CacheClusterSize16 = "1.6"
25653
25654	// CacheClusterSize61 is a CacheClusterSize enum value
25655	CacheClusterSize61 = "6.1"
25656
25657	// CacheClusterSize135 is a CacheClusterSize enum value
25658	CacheClusterSize135 = "13.5"
25659
25660	// CacheClusterSize284 is a CacheClusterSize enum value
25661	CacheClusterSize284 = "28.4"
25662
25663	// CacheClusterSize582 is a CacheClusterSize enum value
25664	CacheClusterSize582 = "58.2"
25665
25666	// CacheClusterSize118 is a CacheClusterSize enum value
25667	CacheClusterSize118 = "118"
25668
25669	// CacheClusterSize237 is a CacheClusterSize enum value
25670	CacheClusterSize237 = "237"
25671)
25672
25673// CacheClusterSize_Values returns all elements of the CacheClusterSize enum
25674func CacheClusterSize_Values() []string {
25675	return []string{
25676		CacheClusterSize05,
25677		CacheClusterSize16,
25678		CacheClusterSize61,
25679		CacheClusterSize135,
25680		CacheClusterSize284,
25681		CacheClusterSize582,
25682		CacheClusterSize118,
25683		CacheClusterSize237,
25684	}
25685}
25686
25687// Returns the status of the CacheCluster.
25688const (
25689	// CacheClusterStatusCreateInProgress is a CacheClusterStatus enum value
25690	CacheClusterStatusCreateInProgress = "CREATE_IN_PROGRESS"
25691
25692	// CacheClusterStatusAvailable is a CacheClusterStatus enum value
25693	CacheClusterStatusAvailable = "AVAILABLE"
25694
25695	// CacheClusterStatusDeleteInProgress is a CacheClusterStatus enum value
25696	CacheClusterStatusDeleteInProgress = "DELETE_IN_PROGRESS"
25697
25698	// CacheClusterStatusNotAvailable is a CacheClusterStatus enum value
25699	CacheClusterStatusNotAvailable = "NOT_AVAILABLE"
25700
25701	// CacheClusterStatusFlushInProgress is a CacheClusterStatus enum value
25702	CacheClusterStatusFlushInProgress = "FLUSH_IN_PROGRESS"
25703)
25704
25705// CacheClusterStatus_Values returns all elements of the CacheClusterStatus enum
25706func CacheClusterStatus_Values() []string {
25707	return []string{
25708		CacheClusterStatusCreateInProgress,
25709		CacheClusterStatusAvailable,
25710		CacheClusterStatusDeleteInProgress,
25711		CacheClusterStatusNotAvailable,
25712		CacheClusterStatusFlushInProgress,
25713	}
25714}
25715
25716const (
25717	// ConnectionTypeInternet is a ConnectionType enum value
25718	ConnectionTypeInternet = "INTERNET"
25719
25720	// ConnectionTypeVpcLink is a ConnectionType enum value
25721	ConnectionTypeVpcLink = "VPC_LINK"
25722)
25723
25724// ConnectionType_Values returns all elements of the ConnectionType enum
25725func ConnectionType_Values() []string {
25726	return []string{
25727		ConnectionTypeInternet,
25728		ConnectionTypeVpcLink,
25729	}
25730}
25731
25732const (
25733	// ContentHandlingStrategyConvertToBinary is a ContentHandlingStrategy enum value
25734	ContentHandlingStrategyConvertToBinary = "CONVERT_TO_BINARY"
25735
25736	// ContentHandlingStrategyConvertToText is a ContentHandlingStrategy enum value
25737	ContentHandlingStrategyConvertToText = "CONVERT_TO_TEXT"
25738)
25739
25740// ContentHandlingStrategy_Values returns all elements of the ContentHandlingStrategy enum
25741func ContentHandlingStrategy_Values() []string {
25742	return []string{
25743		ContentHandlingStrategyConvertToBinary,
25744		ContentHandlingStrategyConvertToText,
25745	}
25746}
25747
25748const (
25749	// DocumentationPartTypeApi is a DocumentationPartType enum value
25750	DocumentationPartTypeApi = "API"
25751
25752	// DocumentationPartTypeAuthorizer is a DocumentationPartType enum value
25753	DocumentationPartTypeAuthorizer = "AUTHORIZER"
25754
25755	// DocumentationPartTypeModel is a DocumentationPartType enum value
25756	DocumentationPartTypeModel = "MODEL"
25757
25758	// DocumentationPartTypeResource is a DocumentationPartType enum value
25759	DocumentationPartTypeResource = "RESOURCE"
25760
25761	// DocumentationPartTypeMethod is a DocumentationPartType enum value
25762	DocumentationPartTypeMethod = "METHOD"
25763
25764	// DocumentationPartTypePathParameter is a DocumentationPartType enum value
25765	DocumentationPartTypePathParameter = "PATH_PARAMETER"
25766
25767	// DocumentationPartTypeQueryParameter is a DocumentationPartType enum value
25768	DocumentationPartTypeQueryParameter = "QUERY_PARAMETER"
25769
25770	// DocumentationPartTypeRequestHeader is a DocumentationPartType enum value
25771	DocumentationPartTypeRequestHeader = "REQUEST_HEADER"
25772
25773	// DocumentationPartTypeRequestBody is a DocumentationPartType enum value
25774	DocumentationPartTypeRequestBody = "REQUEST_BODY"
25775
25776	// DocumentationPartTypeResponse is a DocumentationPartType enum value
25777	DocumentationPartTypeResponse = "RESPONSE"
25778
25779	// DocumentationPartTypeResponseHeader is a DocumentationPartType enum value
25780	DocumentationPartTypeResponseHeader = "RESPONSE_HEADER"
25781
25782	// DocumentationPartTypeResponseBody is a DocumentationPartType enum value
25783	DocumentationPartTypeResponseBody = "RESPONSE_BODY"
25784)
25785
25786// DocumentationPartType_Values returns all elements of the DocumentationPartType enum
25787func DocumentationPartType_Values() []string {
25788	return []string{
25789		DocumentationPartTypeApi,
25790		DocumentationPartTypeAuthorizer,
25791		DocumentationPartTypeModel,
25792		DocumentationPartTypeResource,
25793		DocumentationPartTypeMethod,
25794		DocumentationPartTypePathParameter,
25795		DocumentationPartTypeQueryParameter,
25796		DocumentationPartTypeRequestHeader,
25797		DocumentationPartTypeRequestBody,
25798		DocumentationPartTypeResponse,
25799		DocumentationPartTypeResponseHeader,
25800		DocumentationPartTypeResponseBody,
25801	}
25802}
25803
25804const (
25805	// DomainNameStatusAvailable is a DomainNameStatus enum value
25806	DomainNameStatusAvailable = "AVAILABLE"
25807
25808	// DomainNameStatusUpdating is a DomainNameStatus enum value
25809	DomainNameStatusUpdating = "UPDATING"
25810
25811	// DomainNameStatusPending is a DomainNameStatus enum value
25812	DomainNameStatusPending = "PENDING"
25813)
25814
25815// DomainNameStatus_Values returns all elements of the DomainNameStatus enum
25816func DomainNameStatus_Values() []string {
25817	return []string{
25818		DomainNameStatusAvailable,
25819		DomainNameStatusUpdating,
25820		DomainNameStatusPending,
25821	}
25822}
25823
25824// The endpoint type. The valid values are EDGE for edge-optimized API setup,
25825// most suitable for mobile applications; REGIONAL for regional API endpoint
25826// setup, most suitable for calling from AWS Region; and PRIVATE for private
25827// APIs.
25828const (
25829	// EndpointTypeRegional is a EndpointType enum value
25830	EndpointTypeRegional = "REGIONAL"
25831
25832	// EndpointTypeEdge is a EndpointType enum value
25833	EndpointTypeEdge = "EDGE"
25834
25835	// EndpointTypePrivate is a EndpointType enum value
25836	EndpointTypePrivate = "PRIVATE"
25837)
25838
25839// EndpointType_Values returns all elements of the EndpointType enum
25840func EndpointType_Values() []string {
25841	return []string{
25842		EndpointTypeRegional,
25843		EndpointTypeEdge,
25844		EndpointTypePrivate,
25845	}
25846}
25847
25848const (
25849	// GatewayResponseTypeDefault4xx is a GatewayResponseType enum value
25850	GatewayResponseTypeDefault4xx = "DEFAULT_4XX"
25851
25852	// GatewayResponseTypeDefault5xx is a GatewayResponseType enum value
25853	GatewayResponseTypeDefault5xx = "DEFAULT_5XX"
25854
25855	// GatewayResponseTypeResourceNotFound is a GatewayResponseType enum value
25856	GatewayResponseTypeResourceNotFound = "RESOURCE_NOT_FOUND"
25857
25858	// GatewayResponseTypeUnauthorized is a GatewayResponseType enum value
25859	GatewayResponseTypeUnauthorized = "UNAUTHORIZED"
25860
25861	// GatewayResponseTypeInvalidApiKey is a GatewayResponseType enum value
25862	GatewayResponseTypeInvalidApiKey = "INVALID_API_KEY"
25863
25864	// GatewayResponseTypeAccessDenied is a GatewayResponseType enum value
25865	GatewayResponseTypeAccessDenied = "ACCESS_DENIED"
25866
25867	// GatewayResponseTypeAuthorizerFailure is a GatewayResponseType enum value
25868	GatewayResponseTypeAuthorizerFailure = "AUTHORIZER_FAILURE"
25869
25870	// GatewayResponseTypeAuthorizerConfigurationError is a GatewayResponseType enum value
25871	GatewayResponseTypeAuthorizerConfigurationError = "AUTHORIZER_CONFIGURATION_ERROR"
25872
25873	// GatewayResponseTypeInvalidSignature is a GatewayResponseType enum value
25874	GatewayResponseTypeInvalidSignature = "INVALID_SIGNATURE"
25875
25876	// GatewayResponseTypeExpiredToken is a GatewayResponseType enum value
25877	GatewayResponseTypeExpiredToken = "EXPIRED_TOKEN"
25878
25879	// GatewayResponseTypeMissingAuthenticationToken is a GatewayResponseType enum value
25880	GatewayResponseTypeMissingAuthenticationToken = "MISSING_AUTHENTICATION_TOKEN"
25881
25882	// GatewayResponseTypeIntegrationFailure is a GatewayResponseType enum value
25883	GatewayResponseTypeIntegrationFailure = "INTEGRATION_FAILURE"
25884
25885	// GatewayResponseTypeIntegrationTimeout is a GatewayResponseType enum value
25886	GatewayResponseTypeIntegrationTimeout = "INTEGRATION_TIMEOUT"
25887
25888	// GatewayResponseTypeApiConfigurationError is a GatewayResponseType enum value
25889	GatewayResponseTypeApiConfigurationError = "API_CONFIGURATION_ERROR"
25890
25891	// GatewayResponseTypeUnsupportedMediaType is a GatewayResponseType enum value
25892	GatewayResponseTypeUnsupportedMediaType = "UNSUPPORTED_MEDIA_TYPE"
25893
25894	// GatewayResponseTypeBadRequestParameters is a GatewayResponseType enum value
25895	GatewayResponseTypeBadRequestParameters = "BAD_REQUEST_PARAMETERS"
25896
25897	// GatewayResponseTypeBadRequestBody is a GatewayResponseType enum value
25898	GatewayResponseTypeBadRequestBody = "BAD_REQUEST_BODY"
25899
25900	// GatewayResponseTypeRequestTooLarge is a GatewayResponseType enum value
25901	GatewayResponseTypeRequestTooLarge = "REQUEST_TOO_LARGE"
25902
25903	// GatewayResponseTypeThrottled is a GatewayResponseType enum value
25904	GatewayResponseTypeThrottled = "THROTTLED"
25905
25906	// GatewayResponseTypeQuotaExceeded is a GatewayResponseType enum value
25907	GatewayResponseTypeQuotaExceeded = "QUOTA_EXCEEDED"
25908)
25909
25910// GatewayResponseType_Values returns all elements of the GatewayResponseType enum
25911func GatewayResponseType_Values() []string {
25912	return []string{
25913		GatewayResponseTypeDefault4xx,
25914		GatewayResponseTypeDefault5xx,
25915		GatewayResponseTypeResourceNotFound,
25916		GatewayResponseTypeUnauthorized,
25917		GatewayResponseTypeInvalidApiKey,
25918		GatewayResponseTypeAccessDenied,
25919		GatewayResponseTypeAuthorizerFailure,
25920		GatewayResponseTypeAuthorizerConfigurationError,
25921		GatewayResponseTypeInvalidSignature,
25922		GatewayResponseTypeExpiredToken,
25923		GatewayResponseTypeMissingAuthenticationToken,
25924		GatewayResponseTypeIntegrationFailure,
25925		GatewayResponseTypeIntegrationTimeout,
25926		GatewayResponseTypeApiConfigurationError,
25927		GatewayResponseTypeUnsupportedMediaType,
25928		GatewayResponseTypeBadRequestParameters,
25929		GatewayResponseTypeBadRequestBody,
25930		GatewayResponseTypeRequestTooLarge,
25931		GatewayResponseTypeThrottled,
25932		GatewayResponseTypeQuotaExceeded,
25933	}
25934}
25935
25936// The integration type. The valid value is HTTP for integrating an API method
25937// with an HTTP backend; AWS with any AWS service endpoints; MOCK for testing
25938// without actually invoking the backend; HTTP_PROXY for integrating with the
25939// HTTP proxy integration; AWS_PROXY for integrating with the Lambda proxy integration.
25940const (
25941	// IntegrationTypeHttp is a IntegrationType enum value
25942	IntegrationTypeHttp = "HTTP"
25943
25944	// IntegrationTypeAws is a IntegrationType enum value
25945	IntegrationTypeAws = "AWS"
25946
25947	// IntegrationTypeMock is a IntegrationType enum value
25948	IntegrationTypeMock = "MOCK"
25949
25950	// IntegrationTypeHttpProxy is a IntegrationType enum value
25951	IntegrationTypeHttpProxy = "HTTP_PROXY"
25952
25953	// IntegrationTypeAwsProxy is a IntegrationType enum value
25954	IntegrationTypeAwsProxy = "AWS_PROXY"
25955)
25956
25957// IntegrationType_Values returns all elements of the IntegrationType enum
25958func IntegrationType_Values() []string {
25959	return []string{
25960		IntegrationTypeHttp,
25961		IntegrationTypeAws,
25962		IntegrationTypeMock,
25963		IntegrationTypeHttpProxy,
25964		IntegrationTypeAwsProxy,
25965	}
25966}
25967
25968const (
25969	// LocationStatusTypeDocumented is a LocationStatusType enum value
25970	LocationStatusTypeDocumented = "DOCUMENTED"
25971
25972	// LocationStatusTypeUndocumented is a LocationStatusType enum value
25973	LocationStatusTypeUndocumented = "UNDOCUMENTED"
25974)
25975
25976// LocationStatusType_Values returns all elements of the LocationStatusType enum
25977func LocationStatusType_Values() []string {
25978	return []string{
25979		LocationStatusTypeDocumented,
25980		LocationStatusTypeUndocumented,
25981	}
25982}
25983
25984const (
25985	// OpAdd is a Op enum value
25986	OpAdd = "add"
25987
25988	// OpRemove is a Op enum value
25989	OpRemove = "remove"
25990
25991	// OpReplace is a Op enum value
25992	OpReplace = "replace"
25993
25994	// OpMove is a Op enum value
25995	OpMove = "move"
25996
25997	// OpCopy is a Op enum value
25998	OpCopy = "copy"
25999
26000	// OpTest is a Op enum value
26001	OpTest = "test"
26002)
26003
26004// Op_Values returns all elements of the Op enum
26005func Op_Values() []string {
26006	return []string{
26007		OpAdd,
26008		OpRemove,
26009		OpReplace,
26010		OpMove,
26011		OpCopy,
26012		OpTest,
26013	}
26014}
26015
26016const (
26017	// PutModeMerge is a PutMode enum value
26018	PutModeMerge = "merge"
26019
26020	// PutModeOverwrite is a PutMode enum value
26021	PutModeOverwrite = "overwrite"
26022)
26023
26024// PutMode_Values returns all elements of the PutMode enum
26025func PutMode_Values() []string {
26026	return []string{
26027		PutModeMerge,
26028		PutModeOverwrite,
26029	}
26030}
26031
26032const (
26033	// QuotaPeriodTypeDay is a QuotaPeriodType enum value
26034	QuotaPeriodTypeDay = "DAY"
26035
26036	// QuotaPeriodTypeWeek is a QuotaPeriodType enum value
26037	QuotaPeriodTypeWeek = "WEEK"
26038
26039	// QuotaPeriodTypeMonth is a QuotaPeriodType enum value
26040	QuotaPeriodTypeMonth = "MONTH"
26041)
26042
26043// QuotaPeriodType_Values returns all elements of the QuotaPeriodType enum
26044func QuotaPeriodType_Values() []string {
26045	return []string{
26046		QuotaPeriodTypeDay,
26047		QuotaPeriodTypeWeek,
26048		QuotaPeriodTypeMonth,
26049	}
26050}
26051
26052const (
26053	// SecurityPolicyTls10 is a SecurityPolicy enum value
26054	SecurityPolicyTls10 = "TLS_1_0"
26055
26056	// SecurityPolicyTls12 is a SecurityPolicy enum value
26057	SecurityPolicyTls12 = "TLS_1_2"
26058)
26059
26060// SecurityPolicy_Values returns all elements of the SecurityPolicy enum
26061func SecurityPolicy_Values() []string {
26062	return []string{
26063		SecurityPolicyTls10,
26064		SecurityPolicyTls12,
26065	}
26066}
26067
26068const (
26069	// UnauthorizedCacheControlHeaderStrategyFailWith403 is a UnauthorizedCacheControlHeaderStrategy enum value
26070	UnauthorizedCacheControlHeaderStrategyFailWith403 = "FAIL_WITH_403"
26071
26072	// UnauthorizedCacheControlHeaderStrategySucceedWithResponseHeader is a UnauthorizedCacheControlHeaderStrategy enum value
26073	UnauthorizedCacheControlHeaderStrategySucceedWithResponseHeader = "SUCCEED_WITH_RESPONSE_HEADER"
26074
26075	// UnauthorizedCacheControlHeaderStrategySucceedWithoutResponseHeader is a UnauthorizedCacheControlHeaderStrategy enum value
26076	UnauthorizedCacheControlHeaderStrategySucceedWithoutResponseHeader = "SUCCEED_WITHOUT_RESPONSE_HEADER"
26077)
26078
26079// UnauthorizedCacheControlHeaderStrategy_Values returns all elements of the UnauthorizedCacheControlHeaderStrategy enum
26080func UnauthorizedCacheControlHeaderStrategy_Values() []string {
26081	return []string{
26082		UnauthorizedCacheControlHeaderStrategyFailWith403,
26083		UnauthorizedCacheControlHeaderStrategySucceedWithResponseHeader,
26084		UnauthorizedCacheControlHeaderStrategySucceedWithoutResponseHeader,
26085	}
26086}
26087
26088const (
26089	// VpcLinkStatusAvailable is a VpcLinkStatus enum value
26090	VpcLinkStatusAvailable = "AVAILABLE"
26091
26092	// VpcLinkStatusPending is a VpcLinkStatus enum value
26093	VpcLinkStatusPending = "PENDING"
26094
26095	// VpcLinkStatusDeleting is a VpcLinkStatus enum value
26096	VpcLinkStatusDeleting = "DELETING"
26097
26098	// VpcLinkStatusFailed is a VpcLinkStatus enum value
26099	VpcLinkStatusFailed = "FAILED"
26100)
26101
26102// VpcLinkStatus_Values returns all elements of the VpcLinkStatus enum
26103func VpcLinkStatus_Values() []string {
26104	return []string{
26105		VpcLinkStatusAvailable,
26106		VpcLinkStatusPending,
26107		VpcLinkStatusDeleting,
26108		VpcLinkStatusFailed,
26109	}
26110}
26111