1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
2
3package lambda
4
5import (
6	"fmt"
7	"io"
8	"time"
9
10	"github.com/aws/aws-sdk-go/aws"
11	"github.com/aws/aws-sdk-go/aws/awsutil"
12	"github.com/aws/aws-sdk-go/aws/request"
13	"github.com/aws/aws-sdk-go/private/protocol"
14	"github.com/aws/aws-sdk-go/private/protocol/restjson"
15)
16
17const opAddLayerVersionPermission = "AddLayerVersionPermission"
18
19// AddLayerVersionPermissionRequest generates a "aws/request.Request" representing the
20// client's request for the AddLayerVersionPermission operation. The "output" return
21// value will be populated with the request's response once the request completes
22// successfully.
23//
24// Use "Send" method on the returned Request to send the API call to the service.
25// the "output" return value is not valid until after Send returns without error.
26//
27// See AddLayerVersionPermission for more information on using the AddLayerVersionPermission
28// API call, and error handling.
29//
30// This method is useful when you want to inject custom logic or configuration
31// into the SDK's request lifecycle. Such as custom headers, or retry logic.
32//
33//
34//    // Example sending a request using the AddLayerVersionPermissionRequest method.
35//    req, resp := client.AddLayerVersionPermissionRequest(params)
36//
37//    err := req.Send()
38//    if err == nil { // resp is now filled
39//        fmt.Println(resp)
40//    }
41//
42// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/AddLayerVersionPermission
43func (c *Lambda) AddLayerVersionPermissionRequest(input *AddLayerVersionPermissionInput) (req *request.Request, output *AddLayerVersionPermissionOutput) {
44	op := &request.Operation{
45		Name:       opAddLayerVersionPermission,
46		HTTPMethod: "POST",
47		HTTPPath:   "/2018-10-31/layers/{LayerName}/versions/{VersionNumber}/policy",
48	}
49
50	if input == nil {
51		input = &AddLayerVersionPermissionInput{}
52	}
53
54	output = &AddLayerVersionPermissionOutput{}
55	req = c.newRequest(op, input, output)
56	return
57}
58
59// AddLayerVersionPermission API operation for AWS Lambda.
60//
61// Adds permissions to the resource-based policy of a version of an AWS Lambda
62// layer (https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html).
63// Use this action to grant layer usage permission to other accounts. You can
64// grant permission to a single account, all AWS accounts, or all accounts in
65// an organization.
66//
67// To revoke permission, call RemoveLayerVersionPermission with the statement
68// ID that you specified when you added it.
69//
70// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
71// with awserr.Error's Code and Message methods to get detailed information about
72// the error.
73//
74// See the AWS API reference guide for AWS Lambda's
75// API operation AddLayerVersionPermission for usage and error information.
76//
77// Returned Error Types:
78//   * ServiceException
79//   The AWS Lambda service encountered an internal error.
80//
81//   * ResourceNotFoundException
82//   The resource specified in the request does not exist.
83//
84//   * ResourceConflictException
85//   The resource already exists, or another operation is in progress.
86//
87//   * TooManyRequestsException
88//   The request throughput limit was exceeded.
89//
90//   * InvalidParameterValueException
91//   One of the parameters in the request is invalid.
92//
93//   * PolicyLengthExceededException
94//   The permissions policy for the resource is too large. Learn more (https://docs.aws.amazon.com/lambda/latest/dg/limits.html)
95//
96//   * PreconditionFailedException
97//   The RevisionId provided does not match the latest RevisionId for the Lambda
98//   function or alias. Call the GetFunction or the GetAlias API to retrieve the
99//   latest RevisionId for your resource.
100//
101// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/AddLayerVersionPermission
102func (c *Lambda) AddLayerVersionPermission(input *AddLayerVersionPermissionInput) (*AddLayerVersionPermissionOutput, error) {
103	req, out := c.AddLayerVersionPermissionRequest(input)
104	return out, req.Send()
105}
106
107// AddLayerVersionPermissionWithContext is the same as AddLayerVersionPermission with the addition of
108// the ability to pass a context and additional request options.
109//
110// See AddLayerVersionPermission for details on how to use this API operation.
111//
112// The context must be non-nil and will be used for request cancellation. If
113// the context is nil a panic will occur. In the future the SDK may create
114// sub-contexts for http.Requests. See https://golang.org/pkg/context/
115// for more information on using Contexts.
116func (c *Lambda) AddLayerVersionPermissionWithContext(ctx aws.Context, input *AddLayerVersionPermissionInput, opts ...request.Option) (*AddLayerVersionPermissionOutput, error) {
117	req, out := c.AddLayerVersionPermissionRequest(input)
118	req.SetContext(ctx)
119	req.ApplyOptions(opts...)
120	return out, req.Send()
121}
122
123const opAddPermission = "AddPermission"
124
125// AddPermissionRequest generates a "aws/request.Request" representing the
126// client's request for the AddPermission operation. The "output" return
127// value will be populated with the request's response once the request completes
128// successfully.
129//
130// Use "Send" method on the returned Request to send the API call to the service.
131// the "output" return value is not valid until after Send returns without error.
132//
133// See AddPermission for more information on using the AddPermission
134// API call, and error handling.
135//
136// This method is useful when you want to inject custom logic or configuration
137// into the SDK's request lifecycle. Such as custom headers, or retry logic.
138//
139//
140//    // Example sending a request using the AddPermissionRequest method.
141//    req, resp := client.AddPermissionRequest(params)
142//
143//    err := req.Send()
144//    if err == nil { // resp is now filled
145//        fmt.Println(resp)
146//    }
147//
148// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/AddPermission
149func (c *Lambda) AddPermissionRequest(input *AddPermissionInput) (req *request.Request, output *AddPermissionOutput) {
150	op := &request.Operation{
151		Name:       opAddPermission,
152		HTTPMethod: "POST",
153		HTTPPath:   "/2015-03-31/functions/{FunctionName}/policy",
154	}
155
156	if input == nil {
157		input = &AddPermissionInput{}
158	}
159
160	output = &AddPermissionOutput{}
161	req = c.newRequest(op, input, output)
162	return
163}
164
165// AddPermission API operation for AWS Lambda.
166//
167// Grants an AWS service or another account permission to use a function. You
168// can apply the policy at the function level, or specify a qualifier to restrict
169// access to a single version or alias. If you use a qualifier, the invoker
170// must use the full Amazon Resource Name (ARN) of that version or alias to
171// invoke the function.
172//
173// To grant permission to another account, specify the account ID as the Principal.
174// For AWS services, the principal is a domain-style identifier defined by the
175// service, like s3.amazonaws.com or sns.amazonaws.com. For AWS services, you
176// can also specify the ARN of the associated resource as the SourceArn. If
177// you grant permission to a service principal without specifying the source,
178// other accounts could potentially configure resources in their account to
179// invoke your Lambda function.
180//
181// This action adds a statement to a resource-based permissions policy for the
182// function. For more information about function policies, see Lambda Function
183// Policies (https://docs.aws.amazon.com/lambda/latest/dg/access-control-resource-based.html).
184//
185// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
186// with awserr.Error's Code and Message methods to get detailed information about
187// the error.
188//
189// See the AWS API reference guide for AWS Lambda's
190// API operation AddPermission for usage and error information.
191//
192// Returned Error Types:
193//   * ServiceException
194//   The AWS Lambda service encountered an internal error.
195//
196//   * ResourceNotFoundException
197//   The resource specified in the request does not exist.
198//
199//   * ResourceConflictException
200//   The resource already exists, or another operation is in progress.
201//
202//   * InvalidParameterValueException
203//   One of the parameters in the request is invalid.
204//
205//   * PolicyLengthExceededException
206//   The permissions policy for the resource is too large. Learn more (https://docs.aws.amazon.com/lambda/latest/dg/limits.html)
207//
208//   * TooManyRequestsException
209//   The request throughput limit was exceeded.
210//
211//   * PreconditionFailedException
212//   The RevisionId provided does not match the latest RevisionId for the Lambda
213//   function or alias. Call the GetFunction or the GetAlias API to retrieve the
214//   latest RevisionId for your resource.
215//
216// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/AddPermission
217func (c *Lambda) AddPermission(input *AddPermissionInput) (*AddPermissionOutput, error) {
218	req, out := c.AddPermissionRequest(input)
219	return out, req.Send()
220}
221
222// AddPermissionWithContext is the same as AddPermission with the addition of
223// the ability to pass a context and additional request options.
224//
225// See AddPermission for details on how to use this API operation.
226//
227// The context must be non-nil and will be used for request cancellation. If
228// the context is nil a panic will occur. In the future the SDK may create
229// sub-contexts for http.Requests. See https://golang.org/pkg/context/
230// for more information on using Contexts.
231func (c *Lambda) AddPermissionWithContext(ctx aws.Context, input *AddPermissionInput, opts ...request.Option) (*AddPermissionOutput, error) {
232	req, out := c.AddPermissionRequest(input)
233	req.SetContext(ctx)
234	req.ApplyOptions(opts...)
235	return out, req.Send()
236}
237
238const opCreateAlias = "CreateAlias"
239
240// CreateAliasRequest generates a "aws/request.Request" representing the
241// client's request for the CreateAlias operation. The "output" return
242// value will be populated with the request's response once the request completes
243// successfully.
244//
245// Use "Send" method on the returned Request to send the API call to the service.
246// the "output" return value is not valid until after Send returns without error.
247//
248// See CreateAlias for more information on using the CreateAlias
249// API call, and error handling.
250//
251// This method is useful when you want to inject custom logic or configuration
252// into the SDK's request lifecycle. Such as custom headers, or retry logic.
253//
254//
255//    // Example sending a request using the CreateAliasRequest method.
256//    req, resp := client.CreateAliasRequest(params)
257//
258//    err := req.Send()
259//    if err == nil { // resp is now filled
260//        fmt.Println(resp)
261//    }
262//
263// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/CreateAlias
264func (c *Lambda) CreateAliasRequest(input *CreateAliasInput) (req *request.Request, output *AliasConfiguration) {
265	op := &request.Operation{
266		Name:       opCreateAlias,
267		HTTPMethod: "POST",
268		HTTPPath:   "/2015-03-31/functions/{FunctionName}/aliases",
269	}
270
271	if input == nil {
272		input = &CreateAliasInput{}
273	}
274
275	output = &AliasConfiguration{}
276	req = c.newRequest(op, input, output)
277	return
278}
279
280// CreateAlias API operation for AWS Lambda.
281//
282// Creates an alias (https://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html)
283// for a Lambda function version. Use aliases to provide clients with a function
284// identifier that you can update to invoke a different version.
285//
286// You can also map an alias to split invocation requests between two versions.
287// Use the RoutingConfig parameter to specify a second version and the percentage
288// of invocation requests that it receives.
289//
290// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
291// with awserr.Error's Code and Message methods to get detailed information about
292// the error.
293//
294// See the AWS API reference guide for AWS Lambda's
295// API operation CreateAlias for usage and error information.
296//
297// Returned Error Types:
298//   * ServiceException
299//   The AWS Lambda service encountered an internal error.
300//
301//   * ResourceNotFoundException
302//   The resource specified in the request does not exist.
303//
304//   * ResourceConflictException
305//   The resource already exists, or another operation is in progress.
306//
307//   * InvalidParameterValueException
308//   One of the parameters in the request is invalid.
309//
310//   * TooManyRequestsException
311//   The request throughput limit was exceeded.
312//
313// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/CreateAlias
314func (c *Lambda) CreateAlias(input *CreateAliasInput) (*AliasConfiguration, error) {
315	req, out := c.CreateAliasRequest(input)
316	return out, req.Send()
317}
318
319// CreateAliasWithContext is the same as CreateAlias with the addition of
320// the ability to pass a context and additional request options.
321//
322// See CreateAlias for details on how to use this API operation.
323//
324// The context must be non-nil and will be used for request cancellation. If
325// the context is nil a panic will occur. In the future the SDK may create
326// sub-contexts for http.Requests. See https://golang.org/pkg/context/
327// for more information on using Contexts.
328func (c *Lambda) CreateAliasWithContext(ctx aws.Context, input *CreateAliasInput, opts ...request.Option) (*AliasConfiguration, error) {
329	req, out := c.CreateAliasRequest(input)
330	req.SetContext(ctx)
331	req.ApplyOptions(opts...)
332	return out, req.Send()
333}
334
335const opCreateEventSourceMapping = "CreateEventSourceMapping"
336
337// CreateEventSourceMappingRequest generates a "aws/request.Request" representing the
338// client's request for the CreateEventSourceMapping operation. The "output" return
339// value will be populated with the request's response once the request completes
340// successfully.
341//
342// Use "Send" method on the returned Request to send the API call to the service.
343// the "output" return value is not valid until after Send returns without error.
344//
345// See CreateEventSourceMapping for more information on using the CreateEventSourceMapping
346// API call, and error handling.
347//
348// This method is useful when you want to inject custom logic or configuration
349// into the SDK's request lifecycle. Such as custom headers, or retry logic.
350//
351//
352//    // Example sending a request using the CreateEventSourceMappingRequest method.
353//    req, resp := client.CreateEventSourceMappingRequest(params)
354//
355//    err := req.Send()
356//    if err == nil { // resp is now filled
357//        fmt.Println(resp)
358//    }
359//
360// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/CreateEventSourceMapping
361func (c *Lambda) CreateEventSourceMappingRequest(input *CreateEventSourceMappingInput) (req *request.Request, output *EventSourceMappingConfiguration) {
362	op := &request.Operation{
363		Name:       opCreateEventSourceMapping,
364		HTTPMethod: "POST",
365		HTTPPath:   "/2015-03-31/event-source-mappings/",
366	}
367
368	if input == nil {
369		input = &CreateEventSourceMappingInput{}
370	}
371
372	output = &EventSourceMappingConfiguration{}
373	req = c.newRequest(op, input, output)
374	return
375}
376
377// CreateEventSourceMapping API operation for AWS Lambda.
378//
379// Creates a mapping between an event source and an AWS Lambda function. Lambda
380// reads items from the event source and triggers the function.
381//
382// For details about each event source type, see the following topics.
383//
384//    * Using AWS Lambda with Amazon DynamoDB (https://docs.aws.amazon.com/lambda/latest/dg/with-ddb.html)
385//
386//    * Using AWS Lambda with Amazon Kinesis (https://docs.aws.amazon.com/lambda/latest/dg/with-kinesis.html)
387//
388//    * Using AWS Lambda with Amazon SQS (https://docs.aws.amazon.com/lambda/latest/dg/with-sqs.html)
389//
390//    * Using AWS Lambda with Amazon MSK (https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html)
391//
392// The following error handling options are only available for stream sources
393// (DynamoDB and Kinesis):
394//
395//    * BisectBatchOnFunctionError - If the function returns an error, split
396//    the batch in two and retry.
397//
398//    * DestinationConfig - Send discarded records to an Amazon SQS queue or
399//    Amazon SNS topic.
400//
401//    * MaximumRecordAgeInSeconds - Discard records older than the specified
402//    age. Default -1 (infinite). Minimum 60. Maximum 604800.
403//
404//    * MaximumRetryAttempts - Discard records after the specified number of
405//    retries. Default -1 (infinite). Minimum 0. Maximum 10000. When infinite,
406//    failed records will be retried until the record expires.
407//
408//    * ParallelizationFactor - Process multiple batches from each shard concurrently.
409//
410// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
411// with awserr.Error's Code and Message methods to get detailed information about
412// the error.
413//
414// See the AWS API reference guide for AWS Lambda's
415// API operation CreateEventSourceMapping for usage and error information.
416//
417// Returned Error Types:
418//   * ServiceException
419//   The AWS Lambda service encountered an internal error.
420//
421//   * InvalidParameterValueException
422//   One of the parameters in the request is invalid.
423//
424//   * ResourceConflictException
425//   The resource already exists, or another operation is in progress.
426//
427//   * TooManyRequestsException
428//   The request throughput limit was exceeded.
429//
430//   * ResourceNotFoundException
431//   The resource specified in the request does not exist.
432//
433// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/CreateEventSourceMapping
434func (c *Lambda) CreateEventSourceMapping(input *CreateEventSourceMappingInput) (*EventSourceMappingConfiguration, error) {
435	req, out := c.CreateEventSourceMappingRequest(input)
436	return out, req.Send()
437}
438
439// CreateEventSourceMappingWithContext is the same as CreateEventSourceMapping with the addition of
440// the ability to pass a context and additional request options.
441//
442// See CreateEventSourceMapping for details on how to use this API operation.
443//
444// The context must be non-nil and will be used for request cancellation. If
445// the context is nil a panic will occur. In the future the SDK may create
446// sub-contexts for http.Requests. See https://golang.org/pkg/context/
447// for more information on using Contexts.
448func (c *Lambda) CreateEventSourceMappingWithContext(ctx aws.Context, input *CreateEventSourceMappingInput, opts ...request.Option) (*EventSourceMappingConfiguration, error) {
449	req, out := c.CreateEventSourceMappingRequest(input)
450	req.SetContext(ctx)
451	req.ApplyOptions(opts...)
452	return out, req.Send()
453}
454
455const opCreateFunction = "CreateFunction"
456
457// CreateFunctionRequest generates a "aws/request.Request" representing the
458// client's request for the CreateFunction operation. The "output" return
459// value will be populated with the request's response once the request completes
460// successfully.
461//
462// Use "Send" method on the returned Request to send the API call to the service.
463// the "output" return value is not valid until after Send returns without error.
464//
465// See CreateFunction for more information on using the CreateFunction
466// API call, and error handling.
467//
468// This method is useful when you want to inject custom logic or configuration
469// into the SDK's request lifecycle. Such as custom headers, or retry logic.
470//
471//
472//    // Example sending a request using the CreateFunctionRequest method.
473//    req, resp := client.CreateFunctionRequest(params)
474//
475//    err := req.Send()
476//    if err == nil { // resp is now filled
477//        fmt.Println(resp)
478//    }
479//
480// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/CreateFunction
481func (c *Lambda) CreateFunctionRequest(input *CreateFunctionInput) (req *request.Request, output *FunctionConfiguration) {
482	op := &request.Operation{
483		Name:       opCreateFunction,
484		HTTPMethod: "POST",
485		HTTPPath:   "/2015-03-31/functions",
486	}
487
488	if input == nil {
489		input = &CreateFunctionInput{}
490	}
491
492	output = &FunctionConfiguration{}
493	req = c.newRequest(op, input, output)
494	return
495}
496
497// CreateFunction API operation for AWS Lambda.
498//
499// Creates a Lambda function. To create a function, you need a deployment package
500// (https://docs.aws.amazon.com/lambda/latest/dg/deployment-package-v2.html)
501// and an execution role (https://docs.aws.amazon.com/lambda/latest/dg/intro-permission-model.html#lambda-intro-execution-role).
502// The deployment package contains your function code. The execution role grants
503// the function permission to use AWS services, such as Amazon CloudWatch Logs
504// for log streaming and AWS X-Ray for request tracing.
505//
506// When you create a function, Lambda provisions an instance of the function
507// and its supporting resources. If your function connects to a VPC, this process
508// can take a minute or so. During this time, you can't invoke or modify the
509// function. The State, StateReason, and StateReasonCode fields in the response
510// from GetFunctionConfiguration indicate when the function is ready to invoke.
511// For more information, see Function States (https://docs.aws.amazon.com/lambda/latest/dg/functions-states.html).
512//
513// A function has an unpublished version, and can have published versions and
514// aliases. The unpublished version changes when you update your function's
515// code and configuration. A published version is a snapshot of your function
516// code and configuration that can't be changed. An alias is a named resource
517// that maps to a version, and can be changed to map to a different version.
518// Use the Publish parameter to create version 1 of your function from its initial
519// configuration.
520//
521// The other parameters let you configure version-specific and function-level
522// settings. You can modify version-specific settings later with UpdateFunctionConfiguration.
523// Function-level settings apply to both the unpublished and published versions
524// of the function, and include tags (TagResource) and per-function concurrency
525// limits (PutFunctionConcurrency).
526//
527// If another account or an AWS service invokes your function, use AddPermission
528// to grant permission by creating a resource-based IAM policy. You can grant
529// permissions at the function level, on a version, or on an alias.
530//
531// To invoke your function directly, use Invoke. To invoke your function in
532// response to events in other AWS services, create an event source mapping
533// (CreateEventSourceMapping), or configure a function trigger in the other
534// service. For more information, see Invoking Functions (https://docs.aws.amazon.com/lambda/latest/dg/lambda-invocation.html).
535//
536// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
537// with awserr.Error's Code and Message methods to get detailed information about
538// the error.
539//
540// See the AWS API reference guide for AWS Lambda's
541// API operation CreateFunction for usage and error information.
542//
543// Returned Error Types:
544//   * ServiceException
545//   The AWS Lambda service encountered an internal error.
546//
547//   * InvalidParameterValueException
548//   One of the parameters in the request is invalid.
549//
550//   * ResourceNotFoundException
551//   The resource specified in the request does not exist.
552//
553//   * ResourceConflictException
554//   The resource already exists, or another operation is in progress.
555//
556//   * TooManyRequestsException
557//   The request throughput limit was exceeded.
558//
559//   * CodeStorageExceededException
560//   You have exceeded your maximum total code size per account. Learn more (https://docs.aws.amazon.com/lambda/latest/dg/limits.html)
561//
562// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/CreateFunction
563func (c *Lambda) CreateFunction(input *CreateFunctionInput) (*FunctionConfiguration, error) {
564	req, out := c.CreateFunctionRequest(input)
565	return out, req.Send()
566}
567
568// CreateFunctionWithContext is the same as CreateFunction with the addition of
569// the ability to pass a context and additional request options.
570//
571// See CreateFunction for details on how to use this API operation.
572//
573// The context must be non-nil and will be used for request cancellation. If
574// the context is nil a panic will occur. In the future the SDK may create
575// sub-contexts for http.Requests. See https://golang.org/pkg/context/
576// for more information on using Contexts.
577func (c *Lambda) CreateFunctionWithContext(ctx aws.Context, input *CreateFunctionInput, opts ...request.Option) (*FunctionConfiguration, error) {
578	req, out := c.CreateFunctionRequest(input)
579	req.SetContext(ctx)
580	req.ApplyOptions(opts...)
581	return out, req.Send()
582}
583
584const opDeleteAlias = "DeleteAlias"
585
586// DeleteAliasRequest generates a "aws/request.Request" representing the
587// client's request for the DeleteAlias operation. The "output" return
588// value will be populated with the request's response once the request completes
589// successfully.
590//
591// Use "Send" method on the returned Request to send the API call to the service.
592// the "output" return value is not valid until after Send returns without error.
593//
594// See DeleteAlias for more information on using the DeleteAlias
595// API call, and error handling.
596//
597// This method is useful when you want to inject custom logic or configuration
598// into the SDK's request lifecycle. Such as custom headers, or retry logic.
599//
600//
601//    // Example sending a request using the DeleteAliasRequest method.
602//    req, resp := client.DeleteAliasRequest(params)
603//
604//    err := req.Send()
605//    if err == nil { // resp is now filled
606//        fmt.Println(resp)
607//    }
608//
609// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/DeleteAlias
610func (c *Lambda) DeleteAliasRequest(input *DeleteAliasInput) (req *request.Request, output *DeleteAliasOutput) {
611	op := &request.Operation{
612		Name:       opDeleteAlias,
613		HTTPMethod: "DELETE",
614		HTTPPath:   "/2015-03-31/functions/{FunctionName}/aliases/{Name}",
615	}
616
617	if input == nil {
618		input = &DeleteAliasInput{}
619	}
620
621	output = &DeleteAliasOutput{}
622	req = c.newRequest(op, input, output)
623	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
624	return
625}
626
627// DeleteAlias API operation for AWS Lambda.
628//
629// Deletes a Lambda function alias (https://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html).
630//
631// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
632// with awserr.Error's Code and Message methods to get detailed information about
633// the error.
634//
635// See the AWS API reference guide for AWS Lambda's
636// API operation DeleteAlias for usage and error information.
637//
638// Returned Error Types:
639//   * ServiceException
640//   The AWS Lambda service encountered an internal error.
641//
642//   * InvalidParameterValueException
643//   One of the parameters in the request is invalid.
644//
645//   * ResourceConflictException
646//   The resource already exists, or another operation is in progress.
647//
648//   * TooManyRequestsException
649//   The request throughput limit was exceeded.
650//
651// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/DeleteAlias
652func (c *Lambda) DeleteAlias(input *DeleteAliasInput) (*DeleteAliasOutput, error) {
653	req, out := c.DeleteAliasRequest(input)
654	return out, req.Send()
655}
656
657// DeleteAliasWithContext is the same as DeleteAlias with the addition of
658// the ability to pass a context and additional request options.
659//
660// See DeleteAlias for details on how to use this API operation.
661//
662// The context must be non-nil and will be used for request cancellation. If
663// the context is nil a panic will occur. In the future the SDK may create
664// sub-contexts for http.Requests. See https://golang.org/pkg/context/
665// for more information on using Contexts.
666func (c *Lambda) DeleteAliasWithContext(ctx aws.Context, input *DeleteAliasInput, opts ...request.Option) (*DeleteAliasOutput, error) {
667	req, out := c.DeleteAliasRequest(input)
668	req.SetContext(ctx)
669	req.ApplyOptions(opts...)
670	return out, req.Send()
671}
672
673const opDeleteEventSourceMapping = "DeleteEventSourceMapping"
674
675// DeleteEventSourceMappingRequest generates a "aws/request.Request" representing the
676// client's request for the DeleteEventSourceMapping operation. The "output" return
677// value will be populated with the request's response once the request completes
678// successfully.
679//
680// Use "Send" method on the returned Request to send the API call to the service.
681// the "output" return value is not valid until after Send returns without error.
682//
683// See DeleteEventSourceMapping for more information on using the DeleteEventSourceMapping
684// API call, and error handling.
685//
686// This method is useful when you want to inject custom logic or configuration
687// into the SDK's request lifecycle. Such as custom headers, or retry logic.
688//
689//
690//    // Example sending a request using the DeleteEventSourceMappingRequest method.
691//    req, resp := client.DeleteEventSourceMappingRequest(params)
692//
693//    err := req.Send()
694//    if err == nil { // resp is now filled
695//        fmt.Println(resp)
696//    }
697//
698// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/DeleteEventSourceMapping
699func (c *Lambda) DeleteEventSourceMappingRequest(input *DeleteEventSourceMappingInput) (req *request.Request, output *EventSourceMappingConfiguration) {
700	op := &request.Operation{
701		Name:       opDeleteEventSourceMapping,
702		HTTPMethod: "DELETE",
703		HTTPPath:   "/2015-03-31/event-source-mappings/{UUID}",
704	}
705
706	if input == nil {
707		input = &DeleteEventSourceMappingInput{}
708	}
709
710	output = &EventSourceMappingConfiguration{}
711	req = c.newRequest(op, input, output)
712	return
713}
714
715// DeleteEventSourceMapping API operation for AWS Lambda.
716//
717// Deletes an event source mapping (https://docs.aws.amazon.com/lambda/latest/dg/intro-invocation-modes.html).
718// You can get the identifier of a mapping from the output of ListEventSourceMappings.
719//
720// When you delete an event source mapping, it enters a Deleting state and might
721// not be completely deleted for several seconds.
722//
723// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
724// with awserr.Error's Code and Message methods to get detailed information about
725// the error.
726//
727// See the AWS API reference guide for AWS Lambda's
728// API operation DeleteEventSourceMapping for usage and error information.
729//
730// Returned Error Types:
731//   * ServiceException
732//   The AWS Lambda service encountered an internal error.
733//
734//   * ResourceNotFoundException
735//   The resource specified in the request does not exist.
736//
737//   * InvalidParameterValueException
738//   One of the parameters in the request is invalid.
739//
740//   * TooManyRequestsException
741//   The request throughput limit was exceeded.
742//
743//   * ResourceInUseException
744//   The operation conflicts with the resource's availability. For example, you
745//   attempted to update an EventSource Mapping in CREATING, or tried to delete
746//   a EventSource mapping currently in the UPDATING state.
747//
748// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/DeleteEventSourceMapping
749func (c *Lambda) DeleteEventSourceMapping(input *DeleteEventSourceMappingInput) (*EventSourceMappingConfiguration, error) {
750	req, out := c.DeleteEventSourceMappingRequest(input)
751	return out, req.Send()
752}
753
754// DeleteEventSourceMappingWithContext is the same as DeleteEventSourceMapping with the addition of
755// the ability to pass a context and additional request options.
756//
757// See DeleteEventSourceMapping for details on how to use this API operation.
758//
759// The context must be non-nil and will be used for request cancellation. If
760// the context is nil a panic will occur. In the future the SDK may create
761// sub-contexts for http.Requests. See https://golang.org/pkg/context/
762// for more information on using Contexts.
763func (c *Lambda) DeleteEventSourceMappingWithContext(ctx aws.Context, input *DeleteEventSourceMappingInput, opts ...request.Option) (*EventSourceMappingConfiguration, error) {
764	req, out := c.DeleteEventSourceMappingRequest(input)
765	req.SetContext(ctx)
766	req.ApplyOptions(opts...)
767	return out, req.Send()
768}
769
770const opDeleteFunction = "DeleteFunction"
771
772// DeleteFunctionRequest generates a "aws/request.Request" representing the
773// client's request for the DeleteFunction operation. The "output" return
774// value will be populated with the request's response once the request completes
775// successfully.
776//
777// Use "Send" method on the returned Request to send the API call to the service.
778// the "output" return value is not valid until after Send returns without error.
779//
780// See DeleteFunction for more information on using the DeleteFunction
781// API call, and error handling.
782//
783// This method is useful when you want to inject custom logic or configuration
784// into the SDK's request lifecycle. Such as custom headers, or retry logic.
785//
786//
787//    // Example sending a request using the DeleteFunctionRequest method.
788//    req, resp := client.DeleteFunctionRequest(params)
789//
790//    err := req.Send()
791//    if err == nil { // resp is now filled
792//        fmt.Println(resp)
793//    }
794//
795// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/DeleteFunction
796func (c *Lambda) DeleteFunctionRequest(input *DeleteFunctionInput) (req *request.Request, output *DeleteFunctionOutput) {
797	op := &request.Operation{
798		Name:       opDeleteFunction,
799		HTTPMethod: "DELETE",
800		HTTPPath:   "/2015-03-31/functions/{FunctionName}",
801	}
802
803	if input == nil {
804		input = &DeleteFunctionInput{}
805	}
806
807	output = &DeleteFunctionOutput{}
808	req = c.newRequest(op, input, output)
809	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
810	return
811}
812
813// DeleteFunction API operation for AWS Lambda.
814//
815// Deletes a Lambda function. To delete a specific function version, use the
816// Qualifier parameter. Otherwise, all versions and aliases are deleted.
817//
818// To delete Lambda event source mappings that invoke a function, use DeleteEventSourceMapping.
819// For AWS services and resources that invoke your function directly, delete
820// the trigger in the service where you originally configured it.
821//
822// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
823// with awserr.Error's Code and Message methods to get detailed information about
824// the error.
825//
826// See the AWS API reference guide for AWS Lambda's
827// API operation DeleteFunction for usage and error information.
828//
829// Returned Error Types:
830//   * ServiceException
831//   The AWS Lambda service encountered an internal error.
832//
833//   * ResourceNotFoundException
834//   The resource specified in the request does not exist.
835//
836//   * TooManyRequestsException
837//   The request throughput limit was exceeded.
838//
839//   * InvalidParameterValueException
840//   One of the parameters in the request is invalid.
841//
842//   * ResourceConflictException
843//   The resource already exists, or another operation is in progress.
844//
845// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/DeleteFunction
846func (c *Lambda) DeleteFunction(input *DeleteFunctionInput) (*DeleteFunctionOutput, error) {
847	req, out := c.DeleteFunctionRequest(input)
848	return out, req.Send()
849}
850
851// DeleteFunctionWithContext is the same as DeleteFunction with the addition of
852// the ability to pass a context and additional request options.
853//
854// See DeleteFunction for details on how to use this API operation.
855//
856// The context must be non-nil and will be used for request cancellation. If
857// the context is nil a panic will occur. In the future the SDK may create
858// sub-contexts for http.Requests. See https://golang.org/pkg/context/
859// for more information on using Contexts.
860func (c *Lambda) DeleteFunctionWithContext(ctx aws.Context, input *DeleteFunctionInput, opts ...request.Option) (*DeleteFunctionOutput, error) {
861	req, out := c.DeleteFunctionRequest(input)
862	req.SetContext(ctx)
863	req.ApplyOptions(opts...)
864	return out, req.Send()
865}
866
867const opDeleteFunctionConcurrency = "DeleteFunctionConcurrency"
868
869// DeleteFunctionConcurrencyRequest generates a "aws/request.Request" representing the
870// client's request for the DeleteFunctionConcurrency operation. The "output" return
871// value will be populated with the request's response once the request completes
872// successfully.
873//
874// Use "Send" method on the returned Request to send the API call to the service.
875// the "output" return value is not valid until after Send returns without error.
876//
877// See DeleteFunctionConcurrency for more information on using the DeleteFunctionConcurrency
878// API call, and error handling.
879//
880// This method is useful when you want to inject custom logic or configuration
881// into the SDK's request lifecycle. Such as custom headers, or retry logic.
882//
883//
884//    // Example sending a request using the DeleteFunctionConcurrencyRequest method.
885//    req, resp := client.DeleteFunctionConcurrencyRequest(params)
886//
887//    err := req.Send()
888//    if err == nil { // resp is now filled
889//        fmt.Println(resp)
890//    }
891//
892// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/DeleteFunctionConcurrency
893func (c *Lambda) DeleteFunctionConcurrencyRequest(input *DeleteFunctionConcurrencyInput) (req *request.Request, output *DeleteFunctionConcurrencyOutput) {
894	op := &request.Operation{
895		Name:       opDeleteFunctionConcurrency,
896		HTTPMethod: "DELETE",
897		HTTPPath:   "/2017-10-31/functions/{FunctionName}/concurrency",
898	}
899
900	if input == nil {
901		input = &DeleteFunctionConcurrencyInput{}
902	}
903
904	output = &DeleteFunctionConcurrencyOutput{}
905	req = c.newRequest(op, input, output)
906	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
907	return
908}
909
910// DeleteFunctionConcurrency API operation for AWS Lambda.
911//
912// Removes a concurrent execution limit from a function.
913//
914// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
915// with awserr.Error's Code and Message methods to get detailed information about
916// the error.
917//
918// See the AWS API reference guide for AWS Lambda's
919// API operation DeleteFunctionConcurrency for usage and error information.
920//
921// Returned Error Types:
922//   * ServiceException
923//   The AWS Lambda service encountered an internal error.
924//
925//   * ResourceNotFoundException
926//   The resource specified in the request does not exist.
927//
928//   * TooManyRequestsException
929//   The request throughput limit was exceeded.
930//
931//   * InvalidParameterValueException
932//   One of the parameters in the request is invalid.
933//
934//   * ResourceConflictException
935//   The resource already exists, or another operation is in progress.
936//
937// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/DeleteFunctionConcurrency
938func (c *Lambda) DeleteFunctionConcurrency(input *DeleteFunctionConcurrencyInput) (*DeleteFunctionConcurrencyOutput, error) {
939	req, out := c.DeleteFunctionConcurrencyRequest(input)
940	return out, req.Send()
941}
942
943// DeleteFunctionConcurrencyWithContext is the same as DeleteFunctionConcurrency with the addition of
944// the ability to pass a context and additional request options.
945//
946// See DeleteFunctionConcurrency for details on how to use this API operation.
947//
948// The context must be non-nil and will be used for request cancellation. If
949// the context is nil a panic will occur. In the future the SDK may create
950// sub-contexts for http.Requests. See https://golang.org/pkg/context/
951// for more information on using Contexts.
952func (c *Lambda) DeleteFunctionConcurrencyWithContext(ctx aws.Context, input *DeleteFunctionConcurrencyInput, opts ...request.Option) (*DeleteFunctionConcurrencyOutput, error) {
953	req, out := c.DeleteFunctionConcurrencyRequest(input)
954	req.SetContext(ctx)
955	req.ApplyOptions(opts...)
956	return out, req.Send()
957}
958
959const opDeleteFunctionEventInvokeConfig = "DeleteFunctionEventInvokeConfig"
960
961// DeleteFunctionEventInvokeConfigRequest generates a "aws/request.Request" representing the
962// client's request for the DeleteFunctionEventInvokeConfig operation. The "output" return
963// value will be populated with the request's response once the request completes
964// successfully.
965//
966// Use "Send" method on the returned Request to send the API call to the service.
967// the "output" return value is not valid until after Send returns without error.
968//
969// See DeleteFunctionEventInvokeConfig for more information on using the DeleteFunctionEventInvokeConfig
970// API call, and error handling.
971//
972// This method is useful when you want to inject custom logic or configuration
973// into the SDK's request lifecycle. Such as custom headers, or retry logic.
974//
975//
976//    // Example sending a request using the DeleteFunctionEventInvokeConfigRequest method.
977//    req, resp := client.DeleteFunctionEventInvokeConfigRequest(params)
978//
979//    err := req.Send()
980//    if err == nil { // resp is now filled
981//        fmt.Println(resp)
982//    }
983//
984// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/DeleteFunctionEventInvokeConfig
985func (c *Lambda) DeleteFunctionEventInvokeConfigRequest(input *DeleteFunctionEventInvokeConfigInput) (req *request.Request, output *DeleteFunctionEventInvokeConfigOutput) {
986	op := &request.Operation{
987		Name:       opDeleteFunctionEventInvokeConfig,
988		HTTPMethod: "DELETE",
989		HTTPPath:   "/2019-09-25/functions/{FunctionName}/event-invoke-config",
990	}
991
992	if input == nil {
993		input = &DeleteFunctionEventInvokeConfigInput{}
994	}
995
996	output = &DeleteFunctionEventInvokeConfigOutput{}
997	req = c.newRequest(op, input, output)
998	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
999	return
1000}
1001
1002// DeleteFunctionEventInvokeConfig API operation for AWS Lambda.
1003//
1004// Deletes the configuration for asynchronous invocation for a function, version,
1005// or alias.
1006//
1007// To configure options for asynchronous invocation, use PutFunctionEventInvokeConfig.
1008//
1009// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1010// with awserr.Error's Code and Message methods to get detailed information about
1011// the error.
1012//
1013// See the AWS API reference guide for AWS Lambda's
1014// API operation DeleteFunctionEventInvokeConfig for usage and error information.
1015//
1016// Returned Error Types:
1017//   * ServiceException
1018//   The AWS Lambda service encountered an internal error.
1019//
1020//   * ResourceNotFoundException
1021//   The resource specified in the request does not exist.
1022//
1023//   * InvalidParameterValueException
1024//   One of the parameters in the request is invalid.
1025//
1026//   * TooManyRequestsException
1027//   The request throughput limit was exceeded.
1028//
1029// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/DeleteFunctionEventInvokeConfig
1030func (c *Lambda) DeleteFunctionEventInvokeConfig(input *DeleteFunctionEventInvokeConfigInput) (*DeleteFunctionEventInvokeConfigOutput, error) {
1031	req, out := c.DeleteFunctionEventInvokeConfigRequest(input)
1032	return out, req.Send()
1033}
1034
1035// DeleteFunctionEventInvokeConfigWithContext is the same as DeleteFunctionEventInvokeConfig with the addition of
1036// the ability to pass a context and additional request options.
1037//
1038// See DeleteFunctionEventInvokeConfig for details on how to use this API operation.
1039//
1040// The context must be non-nil and will be used for request cancellation. If
1041// the context is nil a panic will occur. In the future the SDK may create
1042// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1043// for more information on using Contexts.
1044func (c *Lambda) DeleteFunctionEventInvokeConfigWithContext(ctx aws.Context, input *DeleteFunctionEventInvokeConfigInput, opts ...request.Option) (*DeleteFunctionEventInvokeConfigOutput, error) {
1045	req, out := c.DeleteFunctionEventInvokeConfigRequest(input)
1046	req.SetContext(ctx)
1047	req.ApplyOptions(opts...)
1048	return out, req.Send()
1049}
1050
1051const opDeleteLayerVersion = "DeleteLayerVersion"
1052
1053// DeleteLayerVersionRequest generates a "aws/request.Request" representing the
1054// client's request for the DeleteLayerVersion operation. The "output" return
1055// value will be populated with the request's response once the request completes
1056// successfully.
1057//
1058// Use "Send" method on the returned Request to send the API call to the service.
1059// the "output" return value is not valid until after Send returns without error.
1060//
1061// See DeleteLayerVersion for more information on using the DeleteLayerVersion
1062// API call, and error handling.
1063//
1064// This method is useful when you want to inject custom logic or configuration
1065// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1066//
1067//
1068//    // Example sending a request using the DeleteLayerVersionRequest method.
1069//    req, resp := client.DeleteLayerVersionRequest(params)
1070//
1071//    err := req.Send()
1072//    if err == nil { // resp is now filled
1073//        fmt.Println(resp)
1074//    }
1075//
1076// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/DeleteLayerVersion
1077func (c *Lambda) DeleteLayerVersionRequest(input *DeleteLayerVersionInput) (req *request.Request, output *DeleteLayerVersionOutput) {
1078	op := &request.Operation{
1079		Name:       opDeleteLayerVersion,
1080		HTTPMethod: "DELETE",
1081		HTTPPath:   "/2018-10-31/layers/{LayerName}/versions/{VersionNumber}",
1082	}
1083
1084	if input == nil {
1085		input = &DeleteLayerVersionInput{}
1086	}
1087
1088	output = &DeleteLayerVersionOutput{}
1089	req = c.newRequest(op, input, output)
1090	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1091	return
1092}
1093
1094// DeleteLayerVersion API operation for AWS Lambda.
1095//
1096// Deletes a version of an AWS Lambda layer (https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html).
1097// Deleted versions can no longer be viewed or added to functions. To avoid
1098// breaking functions, a copy of the version remains in Lambda until no functions
1099// refer to it.
1100//
1101// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1102// with awserr.Error's Code and Message methods to get detailed information about
1103// the error.
1104//
1105// See the AWS API reference guide for AWS Lambda's
1106// API operation DeleteLayerVersion for usage and error information.
1107//
1108// Returned Error Types:
1109//   * ServiceException
1110//   The AWS Lambda service encountered an internal error.
1111//
1112//   * TooManyRequestsException
1113//   The request throughput limit was exceeded.
1114//
1115// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/DeleteLayerVersion
1116func (c *Lambda) DeleteLayerVersion(input *DeleteLayerVersionInput) (*DeleteLayerVersionOutput, error) {
1117	req, out := c.DeleteLayerVersionRequest(input)
1118	return out, req.Send()
1119}
1120
1121// DeleteLayerVersionWithContext is the same as DeleteLayerVersion with the addition of
1122// the ability to pass a context and additional request options.
1123//
1124// See DeleteLayerVersion for details on how to use this API operation.
1125//
1126// The context must be non-nil and will be used for request cancellation. If
1127// the context is nil a panic will occur. In the future the SDK may create
1128// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1129// for more information on using Contexts.
1130func (c *Lambda) DeleteLayerVersionWithContext(ctx aws.Context, input *DeleteLayerVersionInput, opts ...request.Option) (*DeleteLayerVersionOutput, error) {
1131	req, out := c.DeleteLayerVersionRequest(input)
1132	req.SetContext(ctx)
1133	req.ApplyOptions(opts...)
1134	return out, req.Send()
1135}
1136
1137const opDeleteProvisionedConcurrencyConfig = "DeleteProvisionedConcurrencyConfig"
1138
1139// DeleteProvisionedConcurrencyConfigRequest generates a "aws/request.Request" representing the
1140// client's request for the DeleteProvisionedConcurrencyConfig operation. The "output" return
1141// value will be populated with the request's response once the request completes
1142// successfully.
1143//
1144// Use "Send" method on the returned Request to send the API call to the service.
1145// the "output" return value is not valid until after Send returns without error.
1146//
1147// See DeleteProvisionedConcurrencyConfig for more information on using the DeleteProvisionedConcurrencyConfig
1148// API call, and error handling.
1149//
1150// This method is useful when you want to inject custom logic or configuration
1151// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1152//
1153//
1154//    // Example sending a request using the DeleteProvisionedConcurrencyConfigRequest method.
1155//    req, resp := client.DeleteProvisionedConcurrencyConfigRequest(params)
1156//
1157//    err := req.Send()
1158//    if err == nil { // resp is now filled
1159//        fmt.Println(resp)
1160//    }
1161//
1162// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/DeleteProvisionedConcurrencyConfig
1163func (c *Lambda) DeleteProvisionedConcurrencyConfigRequest(input *DeleteProvisionedConcurrencyConfigInput) (req *request.Request, output *DeleteProvisionedConcurrencyConfigOutput) {
1164	op := &request.Operation{
1165		Name:       opDeleteProvisionedConcurrencyConfig,
1166		HTTPMethod: "DELETE",
1167		HTTPPath:   "/2019-09-30/functions/{FunctionName}/provisioned-concurrency",
1168	}
1169
1170	if input == nil {
1171		input = &DeleteProvisionedConcurrencyConfigInput{}
1172	}
1173
1174	output = &DeleteProvisionedConcurrencyConfigOutput{}
1175	req = c.newRequest(op, input, output)
1176	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1177	return
1178}
1179
1180// DeleteProvisionedConcurrencyConfig API operation for AWS Lambda.
1181//
1182// Deletes the provisioned concurrency configuration for a function.
1183//
1184// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1185// with awserr.Error's Code and Message methods to get detailed information about
1186// the error.
1187//
1188// See the AWS API reference guide for AWS Lambda's
1189// API operation DeleteProvisionedConcurrencyConfig for usage and error information.
1190//
1191// Returned Error Types:
1192//   * InvalidParameterValueException
1193//   One of the parameters in the request is invalid.
1194//
1195//   * ResourceConflictException
1196//   The resource already exists, or another operation is in progress.
1197//
1198//   * ResourceNotFoundException
1199//   The resource specified in the request does not exist.
1200//
1201//   * TooManyRequestsException
1202//   The request throughput limit was exceeded.
1203//
1204//   * ServiceException
1205//   The AWS Lambda service encountered an internal error.
1206//
1207// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/DeleteProvisionedConcurrencyConfig
1208func (c *Lambda) DeleteProvisionedConcurrencyConfig(input *DeleteProvisionedConcurrencyConfigInput) (*DeleteProvisionedConcurrencyConfigOutput, error) {
1209	req, out := c.DeleteProvisionedConcurrencyConfigRequest(input)
1210	return out, req.Send()
1211}
1212
1213// DeleteProvisionedConcurrencyConfigWithContext is the same as DeleteProvisionedConcurrencyConfig with the addition of
1214// the ability to pass a context and additional request options.
1215//
1216// See DeleteProvisionedConcurrencyConfig for details on how to use this API operation.
1217//
1218// The context must be non-nil and will be used for request cancellation. If
1219// the context is nil a panic will occur. In the future the SDK may create
1220// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1221// for more information on using Contexts.
1222func (c *Lambda) DeleteProvisionedConcurrencyConfigWithContext(ctx aws.Context, input *DeleteProvisionedConcurrencyConfigInput, opts ...request.Option) (*DeleteProvisionedConcurrencyConfigOutput, error) {
1223	req, out := c.DeleteProvisionedConcurrencyConfigRequest(input)
1224	req.SetContext(ctx)
1225	req.ApplyOptions(opts...)
1226	return out, req.Send()
1227}
1228
1229const opGetAccountSettings = "GetAccountSettings"
1230
1231// GetAccountSettingsRequest generates a "aws/request.Request" representing the
1232// client's request for the GetAccountSettings operation. The "output" return
1233// value will be populated with the request's response once the request completes
1234// successfully.
1235//
1236// Use "Send" method on the returned Request to send the API call to the service.
1237// the "output" return value is not valid until after Send returns without error.
1238//
1239// See GetAccountSettings for more information on using the GetAccountSettings
1240// API call, and error handling.
1241//
1242// This method is useful when you want to inject custom logic or configuration
1243// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1244//
1245//
1246//    // Example sending a request using the GetAccountSettingsRequest method.
1247//    req, resp := client.GetAccountSettingsRequest(params)
1248//
1249//    err := req.Send()
1250//    if err == nil { // resp is now filled
1251//        fmt.Println(resp)
1252//    }
1253//
1254// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetAccountSettings
1255func (c *Lambda) GetAccountSettingsRequest(input *GetAccountSettingsInput) (req *request.Request, output *GetAccountSettingsOutput) {
1256	op := &request.Operation{
1257		Name:       opGetAccountSettings,
1258		HTTPMethod: "GET",
1259		HTTPPath:   "/2016-08-19/account-settings/",
1260	}
1261
1262	if input == nil {
1263		input = &GetAccountSettingsInput{}
1264	}
1265
1266	output = &GetAccountSettingsOutput{}
1267	req = c.newRequest(op, input, output)
1268	return
1269}
1270
1271// GetAccountSettings API operation for AWS Lambda.
1272//
1273// Retrieves details about your account's limits (https://docs.aws.amazon.com/lambda/latest/dg/limits.html)
1274// and usage in an AWS Region.
1275//
1276// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1277// with awserr.Error's Code and Message methods to get detailed information about
1278// the error.
1279//
1280// See the AWS API reference guide for AWS Lambda's
1281// API operation GetAccountSettings for usage and error information.
1282//
1283// Returned Error Types:
1284//   * TooManyRequestsException
1285//   The request throughput limit was exceeded.
1286//
1287//   * ServiceException
1288//   The AWS Lambda service encountered an internal error.
1289//
1290// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetAccountSettings
1291func (c *Lambda) GetAccountSettings(input *GetAccountSettingsInput) (*GetAccountSettingsOutput, error) {
1292	req, out := c.GetAccountSettingsRequest(input)
1293	return out, req.Send()
1294}
1295
1296// GetAccountSettingsWithContext is the same as GetAccountSettings with the addition of
1297// the ability to pass a context and additional request options.
1298//
1299// See GetAccountSettings 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 *Lambda) GetAccountSettingsWithContext(ctx aws.Context, input *GetAccountSettingsInput, opts ...request.Option) (*GetAccountSettingsOutput, error) {
1306	req, out := c.GetAccountSettingsRequest(input)
1307	req.SetContext(ctx)
1308	req.ApplyOptions(opts...)
1309	return out, req.Send()
1310}
1311
1312const opGetAlias = "GetAlias"
1313
1314// GetAliasRequest generates a "aws/request.Request" representing the
1315// client's request for the GetAlias 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 GetAlias for more information on using the GetAlias
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 GetAliasRequest method.
1330//    req, resp := client.GetAliasRequest(params)
1331//
1332//    err := req.Send()
1333//    if err == nil { // resp is now filled
1334//        fmt.Println(resp)
1335//    }
1336//
1337// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetAlias
1338func (c *Lambda) GetAliasRequest(input *GetAliasInput) (req *request.Request, output *AliasConfiguration) {
1339	op := &request.Operation{
1340		Name:       opGetAlias,
1341		HTTPMethod: "GET",
1342		HTTPPath:   "/2015-03-31/functions/{FunctionName}/aliases/{Name}",
1343	}
1344
1345	if input == nil {
1346		input = &GetAliasInput{}
1347	}
1348
1349	output = &AliasConfiguration{}
1350	req = c.newRequest(op, input, output)
1351	return
1352}
1353
1354// GetAlias API operation for AWS Lambda.
1355//
1356// Returns details about a Lambda function alias (https://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html).
1357//
1358// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1359// with awserr.Error's Code and Message methods to get detailed information about
1360// the error.
1361//
1362// See the AWS API reference guide for AWS Lambda's
1363// API operation GetAlias for usage and error information.
1364//
1365// Returned Error Types:
1366//   * ServiceException
1367//   The AWS Lambda service encountered an internal error.
1368//
1369//   * ResourceNotFoundException
1370//   The resource specified in the request does not exist.
1371//
1372//   * InvalidParameterValueException
1373//   One of the parameters in the request is invalid.
1374//
1375//   * TooManyRequestsException
1376//   The request throughput limit was exceeded.
1377//
1378// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetAlias
1379func (c *Lambda) GetAlias(input *GetAliasInput) (*AliasConfiguration, error) {
1380	req, out := c.GetAliasRequest(input)
1381	return out, req.Send()
1382}
1383
1384// GetAliasWithContext is the same as GetAlias with the addition of
1385// the ability to pass a context and additional request options.
1386//
1387// See GetAlias for details on how to use this API operation.
1388//
1389// The context must be non-nil and will be used for request cancellation. If
1390// the context is nil a panic will occur. In the future the SDK may create
1391// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1392// for more information on using Contexts.
1393func (c *Lambda) GetAliasWithContext(ctx aws.Context, input *GetAliasInput, opts ...request.Option) (*AliasConfiguration, error) {
1394	req, out := c.GetAliasRequest(input)
1395	req.SetContext(ctx)
1396	req.ApplyOptions(opts...)
1397	return out, req.Send()
1398}
1399
1400const opGetEventSourceMapping = "GetEventSourceMapping"
1401
1402// GetEventSourceMappingRequest generates a "aws/request.Request" representing the
1403// client's request for the GetEventSourceMapping operation. The "output" return
1404// value will be populated with the request's response once the request completes
1405// successfully.
1406//
1407// Use "Send" method on the returned Request to send the API call to the service.
1408// the "output" return value is not valid until after Send returns without error.
1409//
1410// See GetEventSourceMapping for more information on using the GetEventSourceMapping
1411// API call, and error handling.
1412//
1413// This method is useful when you want to inject custom logic or configuration
1414// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1415//
1416//
1417//    // Example sending a request using the GetEventSourceMappingRequest method.
1418//    req, resp := client.GetEventSourceMappingRequest(params)
1419//
1420//    err := req.Send()
1421//    if err == nil { // resp is now filled
1422//        fmt.Println(resp)
1423//    }
1424//
1425// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetEventSourceMapping
1426func (c *Lambda) GetEventSourceMappingRequest(input *GetEventSourceMappingInput) (req *request.Request, output *EventSourceMappingConfiguration) {
1427	op := &request.Operation{
1428		Name:       opGetEventSourceMapping,
1429		HTTPMethod: "GET",
1430		HTTPPath:   "/2015-03-31/event-source-mappings/{UUID}",
1431	}
1432
1433	if input == nil {
1434		input = &GetEventSourceMappingInput{}
1435	}
1436
1437	output = &EventSourceMappingConfiguration{}
1438	req = c.newRequest(op, input, output)
1439	return
1440}
1441
1442// GetEventSourceMapping API operation for AWS Lambda.
1443//
1444// Returns details about an event source mapping. You can get the identifier
1445// of a mapping from the output of ListEventSourceMappings.
1446//
1447// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1448// with awserr.Error's Code and Message methods to get detailed information about
1449// the error.
1450//
1451// See the AWS API reference guide for AWS Lambda's
1452// API operation GetEventSourceMapping for usage and error information.
1453//
1454// Returned Error Types:
1455//   * ServiceException
1456//   The AWS Lambda service encountered an internal error.
1457//
1458//   * ResourceNotFoundException
1459//   The resource specified in the request does not exist.
1460//
1461//   * InvalidParameterValueException
1462//   One of the parameters in the request is invalid.
1463//
1464//   * TooManyRequestsException
1465//   The request throughput limit was exceeded.
1466//
1467// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetEventSourceMapping
1468func (c *Lambda) GetEventSourceMapping(input *GetEventSourceMappingInput) (*EventSourceMappingConfiguration, error) {
1469	req, out := c.GetEventSourceMappingRequest(input)
1470	return out, req.Send()
1471}
1472
1473// GetEventSourceMappingWithContext is the same as GetEventSourceMapping with the addition of
1474// the ability to pass a context and additional request options.
1475//
1476// See GetEventSourceMapping for details on how to use this API operation.
1477//
1478// The context must be non-nil and will be used for request cancellation. If
1479// the context is nil a panic will occur. In the future the SDK may create
1480// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1481// for more information on using Contexts.
1482func (c *Lambda) GetEventSourceMappingWithContext(ctx aws.Context, input *GetEventSourceMappingInput, opts ...request.Option) (*EventSourceMappingConfiguration, error) {
1483	req, out := c.GetEventSourceMappingRequest(input)
1484	req.SetContext(ctx)
1485	req.ApplyOptions(opts...)
1486	return out, req.Send()
1487}
1488
1489const opGetFunction = "GetFunction"
1490
1491// GetFunctionRequest generates a "aws/request.Request" representing the
1492// client's request for the GetFunction operation. The "output" return
1493// value will be populated with the request's response once the request completes
1494// successfully.
1495//
1496// Use "Send" method on the returned Request to send the API call to the service.
1497// the "output" return value is not valid until after Send returns without error.
1498//
1499// See GetFunction for more information on using the GetFunction
1500// API call, and error handling.
1501//
1502// This method is useful when you want to inject custom logic or configuration
1503// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1504//
1505//
1506//    // Example sending a request using the GetFunctionRequest method.
1507//    req, resp := client.GetFunctionRequest(params)
1508//
1509//    err := req.Send()
1510//    if err == nil { // resp is now filled
1511//        fmt.Println(resp)
1512//    }
1513//
1514// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetFunction
1515func (c *Lambda) GetFunctionRequest(input *GetFunctionInput) (req *request.Request, output *GetFunctionOutput) {
1516	op := &request.Operation{
1517		Name:       opGetFunction,
1518		HTTPMethod: "GET",
1519		HTTPPath:   "/2015-03-31/functions/{FunctionName}",
1520	}
1521
1522	if input == nil {
1523		input = &GetFunctionInput{}
1524	}
1525
1526	output = &GetFunctionOutput{}
1527	req = c.newRequest(op, input, output)
1528	return
1529}
1530
1531// GetFunction API operation for AWS Lambda.
1532//
1533// Returns information about the function or function version, with a link to
1534// download the deployment package that's valid for 10 minutes. If you specify
1535// a function version, only details that are specific to that version are returned.
1536//
1537// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1538// with awserr.Error's Code and Message methods to get detailed information about
1539// the error.
1540//
1541// See the AWS API reference guide for AWS Lambda's
1542// API operation GetFunction for usage and error information.
1543//
1544// Returned Error Types:
1545//   * ServiceException
1546//   The AWS Lambda service encountered an internal error.
1547//
1548//   * ResourceNotFoundException
1549//   The resource specified in the request does not exist.
1550//
1551//   * TooManyRequestsException
1552//   The request throughput limit was exceeded.
1553//
1554//   * InvalidParameterValueException
1555//   One of the parameters in the request is invalid.
1556//
1557// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetFunction
1558func (c *Lambda) GetFunction(input *GetFunctionInput) (*GetFunctionOutput, error) {
1559	req, out := c.GetFunctionRequest(input)
1560	return out, req.Send()
1561}
1562
1563// GetFunctionWithContext is the same as GetFunction with the addition of
1564// the ability to pass a context and additional request options.
1565//
1566// See GetFunction for details on how to use this API operation.
1567//
1568// The context must be non-nil and will be used for request cancellation. If
1569// the context is nil a panic will occur. In the future the SDK may create
1570// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1571// for more information on using Contexts.
1572func (c *Lambda) GetFunctionWithContext(ctx aws.Context, input *GetFunctionInput, opts ...request.Option) (*GetFunctionOutput, error) {
1573	req, out := c.GetFunctionRequest(input)
1574	req.SetContext(ctx)
1575	req.ApplyOptions(opts...)
1576	return out, req.Send()
1577}
1578
1579const opGetFunctionConcurrency = "GetFunctionConcurrency"
1580
1581// GetFunctionConcurrencyRequest generates a "aws/request.Request" representing the
1582// client's request for the GetFunctionConcurrency operation. The "output" return
1583// value will be populated with the request's response once the request completes
1584// successfully.
1585//
1586// Use "Send" method on the returned Request to send the API call to the service.
1587// the "output" return value is not valid until after Send returns without error.
1588//
1589// See GetFunctionConcurrency for more information on using the GetFunctionConcurrency
1590// API call, and error handling.
1591//
1592// This method is useful when you want to inject custom logic or configuration
1593// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1594//
1595//
1596//    // Example sending a request using the GetFunctionConcurrencyRequest method.
1597//    req, resp := client.GetFunctionConcurrencyRequest(params)
1598//
1599//    err := req.Send()
1600//    if err == nil { // resp is now filled
1601//        fmt.Println(resp)
1602//    }
1603//
1604// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetFunctionConcurrency
1605func (c *Lambda) GetFunctionConcurrencyRequest(input *GetFunctionConcurrencyInput) (req *request.Request, output *GetFunctionConcurrencyOutput) {
1606	op := &request.Operation{
1607		Name:       opGetFunctionConcurrency,
1608		HTTPMethod: "GET",
1609		HTTPPath:   "/2019-09-30/functions/{FunctionName}/concurrency",
1610	}
1611
1612	if input == nil {
1613		input = &GetFunctionConcurrencyInput{}
1614	}
1615
1616	output = &GetFunctionConcurrencyOutput{}
1617	req = c.newRequest(op, input, output)
1618	return
1619}
1620
1621// GetFunctionConcurrency API operation for AWS Lambda.
1622//
1623// Returns details about the reserved concurrency configuration for a function.
1624// To set a concurrency limit for a function, use PutFunctionConcurrency.
1625//
1626// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1627// with awserr.Error's Code and Message methods to get detailed information about
1628// the error.
1629//
1630// See the AWS API reference guide for AWS Lambda's
1631// API operation GetFunctionConcurrency for usage and error information.
1632//
1633// Returned Error Types:
1634//   * InvalidParameterValueException
1635//   One of the parameters in the request is invalid.
1636//
1637//   * ResourceNotFoundException
1638//   The resource specified in the request does not exist.
1639//
1640//   * TooManyRequestsException
1641//   The request throughput limit was exceeded.
1642//
1643//   * ServiceException
1644//   The AWS Lambda service encountered an internal error.
1645//
1646// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetFunctionConcurrency
1647func (c *Lambda) GetFunctionConcurrency(input *GetFunctionConcurrencyInput) (*GetFunctionConcurrencyOutput, error) {
1648	req, out := c.GetFunctionConcurrencyRequest(input)
1649	return out, req.Send()
1650}
1651
1652// GetFunctionConcurrencyWithContext is the same as GetFunctionConcurrency with the addition of
1653// the ability to pass a context and additional request options.
1654//
1655// See GetFunctionConcurrency for details on how to use this API operation.
1656//
1657// The context must be non-nil and will be used for request cancellation. If
1658// the context is nil a panic will occur. In the future the SDK may create
1659// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1660// for more information on using Contexts.
1661func (c *Lambda) GetFunctionConcurrencyWithContext(ctx aws.Context, input *GetFunctionConcurrencyInput, opts ...request.Option) (*GetFunctionConcurrencyOutput, error) {
1662	req, out := c.GetFunctionConcurrencyRequest(input)
1663	req.SetContext(ctx)
1664	req.ApplyOptions(opts...)
1665	return out, req.Send()
1666}
1667
1668const opGetFunctionConfiguration = "GetFunctionConfiguration"
1669
1670// GetFunctionConfigurationRequest generates a "aws/request.Request" representing the
1671// client's request for the GetFunctionConfiguration operation. The "output" return
1672// value will be populated with the request's response once the request completes
1673// successfully.
1674//
1675// Use "Send" method on the returned Request to send the API call to the service.
1676// the "output" return value is not valid until after Send returns without error.
1677//
1678// See GetFunctionConfiguration for more information on using the GetFunctionConfiguration
1679// API call, and error handling.
1680//
1681// This method is useful when you want to inject custom logic or configuration
1682// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1683//
1684//
1685//    // Example sending a request using the GetFunctionConfigurationRequest method.
1686//    req, resp := client.GetFunctionConfigurationRequest(params)
1687//
1688//    err := req.Send()
1689//    if err == nil { // resp is now filled
1690//        fmt.Println(resp)
1691//    }
1692//
1693// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetFunctionConfiguration
1694func (c *Lambda) GetFunctionConfigurationRequest(input *GetFunctionConfigurationInput) (req *request.Request, output *FunctionConfiguration) {
1695	op := &request.Operation{
1696		Name:       opGetFunctionConfiguration,
1697		HTTPMethod: "GET",
1698		HTTPPath:   "/2015-03-31/functions/{FunctionName}/configuration",
1699	}
1700
1701	if input == nil {
1702		input = &GetFunctionConfigurationInput{}
1703	}
1704
1705	output = &FunctionConfiguration{}
1706	req = c.newRequest(op, input, output)
1707	return
1708}
1709
1710// GetFunctionConfiguration API operation for AWS Lambda.
1711//
1712// Returns the version-specific settings of a Lambda function or version. The
1713// output includes only options that can vary between versions of a function.
1714// To modify these settings, use UpdateFunctionConfiguration.
1715//
1716// To get all of a function's details, including function-level settings, use
1717// GetFunction.
1718//
1719// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1720// with awserr.Error's Code and Message methods to get detailed information about
1721// the error.
1722//
1723// See the AWS API reference guide for AWS Lambda's
1724// API operation GetFunctionConfiguration for usage and error information.
1725//
1726// Returned Error Types:
1727//   * ServiceException
1728//   The AWS Lambda service encountered an internal error.
1729//
1730//   * ResourceNotFoundException
1731//   The resource specified in the request does not exist.
1732//
1733//   * TooManyRequestsException
1734//   The request throughput limit was exceeded.
1735//
1736//   * InvalidParameterValueException
1737//   One of the parameters in the request is invalid.
1738//
1739// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetFunctionConfiguration
1740func (c *Lambda) GetFunctionConfiguration(input *GetFunctionConfigurationInput) (*FunctionConfiguration, error) {
1741	req, out := c.GetFunctionConfigurationRequest(input)
1742	return out, req.Send()
1743}
1744
1745// GetFunctionConfigurationWithContext is the same as GetFunctionConfiguration with the addition of
1746// the ability to pass a context and additional request options.
1747//
1748// See GetFunctionConfiguration for details on how to use this API operation.
1749//
1750// The context must be non-nil and will be used for request cancellation. If
1751// the context is nil a panic will occur. In the future the SDK may create
1752// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1753// for more information on using Contexts.
1754func (c *Lambda) GetFunctionConfigurationWithContext(ctx aws.Context, input *GetFunctionConfigurationInput, opts ...request.Option) (*FunctionConfiguration, error) {
1755	req, out := c.GetFunctionConfigurationRequest(input)
1756	req.SetContext(ctx)
1757	req.ApplyOptions(opts...)
1758	return out, req.Send()
1759}
1760
1761const opGetFunctionEventInvokeConfig = "GetFunctionEventInvokeConfig"
1762
1763// GetFunctionEventInvokeConfigRequest generates a "aws/request.Request" representing the
1764// client's request for the GetFunctionEventInvokeConfig operation. The "output" return
1765// value will be populated with the request's response once the request completes
1766// successfully.
1767//
1768// Use "Send" method on the returned Request to send the API call to the service.
1769// the "output" return value is not valid until after Send returns without error.
1770//
1771// See GetFunctionEventInvokeConfig for more information on using the GetFunctionEventInvokeConfig
1772// API call, and error handling.
1773//
1774// This method is useful when you want to inject custom logic or configuration
1775// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1776//
1777//
1778//    // Example sending a request using the GetFunctionEventInvokeConfigRequest method.
1779//    req, resp := client.GetFunctionEventInvokeConfigRequest(params)
1780//
1781//    err := req.Send()
1782//    if err == nil { // resp is now filled
1783//        fmt.Println(resp)
1784//    }
1785//
1786// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetFunctionEventInvokeConfig
1787func (c *Lambda) GetFunctionEventInvokeConfigRequest(input *GetFunctionEventInvokeConfigInput) (req *request.Request, output *GetFunctionEventInvokeConfigOutput) {
1788	op := &request.Operation{
1789		Name:       opGetFunctionEventInvokeConfig,
1790		HTTPMethod: "GET",
1791		HTTPPath:   "/2019-09-25/functions/{FunctionName}/event-invoke-config",
1792	}
1793
1794	if input == nil {
1795		input = &GetFunctionEventInvokeConfigInput{}
1796	}
1797
1798	output = &GetFunctionEventInvokeConfigOutput{}
1799	req = c.newRequest(op, input, output)
1800	return
1801}
1802
1803// GetFunctionEventInvokeConfig API operation for AWS Lambda.
1804//
1805// Retrieves the configuration for asynchronous invocation for a function, version,
1806// or alias.
1807//
1808// To configure options for asynchronous invocation, use PutFunctionEventInvokeConfig.
1809//
1810// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1811// with awserr.Error's Code and Message methods to get detailed information about
1812// the error.
1813//
1814// See the AWS API reference guide for AWS Lambda's
1815// API operation GetFunctionEventInvokeConfig for usage and error information.
1816//
1817// Returned Error Types:
1818//   * ServiceException
1819//   The AWS Lambda service encountered an internal error.
1820//
1821//   * ResourceNotFoundException
1822//   The resource specified in the request does not exist.
1823//
1824//   * InvalidParameterValueException
1825//   One of the parameters in the request is invalid.
1826//
1827//   * TooManyRequestsException
1828//   The request throughput limit was exceeded.
1829//
1830// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetFunctionEventInvokeConfig
1831func (c *Lambda) GetFunctionEventInvokeConfig(input *GetFunctionEventInvokeConfigInput) (*GetFunctionEventInvokeConfigOutput, error) {
1832	req, out := c.GetFunctionEventInvokeConfigRequest(input)
1833	return out, req.Send()
1834}
1835
1836// GetFunctionEventInvokeConfigWithContext is the same as GetFunctionEventInvokeConfig with the addition of
1837// the ability to pass a context and additional request options.
1838//
1839// See GetFunctionEventInvokeConfig for details on how to use this API operation.
1840//
1841// The context must be non-nil and will be used for request cancellation. If
1842// the context is nil a panic will occur. In the future the SDK may create
1843// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1844// for more information on using Contexts.
1845func (c *Lambda) GetFunctionEventInvokeConfigWithContext(ctx aws.Context, input *GetFunctionEventInvokeConfigInput, opts ...request.Option) (*GetFunctionEventInvokeConfigOutput, error) {
1846	req, out := c.GetFunctionEventInvokeConfigRequest(input)
1847	req.SetContext(ctx)
1848	req.ApplyOptions(opts...)
1849	return out, req.Send()
1850}
1851
1852const opGetLayerVersion = "GetLayerVersion"
1853
1854// GetLayerVersionRequest generates a "aws/request.Request" representing the
1855// client's request for the GetLayerVersion operation. The "output" return
1856// value will be populated with the request's response once the request completes
1857// successfully.
1858//
1859// Use "Send" method on the returned Request to send the API call to the service.
1860// the "output" return value is not valid until after Send returns without error.
1861//
1862// See GetLayerVersion for more information on using the GetLayerVersion
1863// API call, and error handling.
1864//
1865// This method is useful when you want to inject custom logic or configuration
1866// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1867//
1868//
1869//    // Example sending a request using the GetLayerVersionRequest method.
1870//    req, resp := client.GetLayerVersionRequest(params)
1871//
1872//    err := req.Send()
1873//    if err == nil { // resp is now filled
1874//        fmt.Println(resp)
1875//    }
1876//
1877// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetLayerVersion
1878func (c *Lambda) GetLayerVersionRequest(input *GetLayerVersionInput) (req *request.Request, output *GetLayerVersionOutput) {
1879	op := &request.Operation{
1880		Name:       opGetLayerVersion,
1881		HTTPMethod: "GET",
1882		HTTPPath:   "/2018-10-31/layers/{LayerName}/versions/{VersionNumber}",
1883	}
1884
1885	if input == nil {
1886		input = &GetLayerVersionInput{}
1887	}
1888
1889	output = &GetLayerVersionOutput{}
1890	req = c.newRequest(op, input, output)
1891	return
1892}
1893
1894// GetLayerVersion API operation for AWS Lambda.
1895//
1896// Returns information about a version of an AWS Lambda layer (https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html),
1897// with a link to download the layer archive that's valid for 10 minutes.
1898//
1899// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1900// with awserr.Error's Code and Message methods to get detailed information about
1901// the error.
1902//
1903// See the AWS API reference guide for AWS Lambda's
1904// API operation GetLayerVersion for usage and error information.
1905//
1906// Returned Error Types:
1907//   * ServiceException
1908//   The AWS Lambda service encountered an internal error.
1909//
1910//   * InvalidParameterValueException
1911//   One of the parameters in the request is invalid.
1912//
1913//   * TooManyRequestsException
1914//   The request throughput limit was exceeded.
1915//
1916//   * ResourceNotFoundException
1917//   The resource specified in the request does not exist.
1918//
1919// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetLayerVersion
1920func (c *Lambda) GetLayerVersion(input *GetLayerVersionInput) (*GetLayerVersionOutput, error) {
1921	req, out := c.GetLayerVersionRequest(input)
1922	return out, req.Send()
1923}
1924
1925// GetLayerVersionWithContext is the same as GetLayerVersion with the addition of
1926// the ability to pass a context and additional request options.
1927//
1928// See GetLayerVersion for details on how to use this API operation.
1929//
1930// The context must be non-nil and will be used for request cancellation. If
1931// the context is nil a panic will occur. In the future the SDK may create
1932// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1933// for more information on using Contexts.
1934func (c *Lambda) GetLayerVersionWithContext(ctx aws.Context, input *GetLayerVersionInput, opts ...request.Option) (*GetLayerVersionOutput, error) {
1935	req, out := c.GetLayerVersionRequest(input)
1936	req.SetContext(ctx)
1937	req.ApplyOptions(opts...)
1938	return out, req.Send()
1939}
1940
1941const opGetLayerVersionByArn = "GetLayerVersionByArn"
1942
1943// GetLayerVersionByArnRequest generates a "aws/request.Request" representing the
1944// client's request for the GetLayerVersionByArn operation. The "output" return
1945// value will be populated with the request's response once the request completes
1946// successfully.
1947//
1948// Use "Send" method on the returned Request to send the API call to the service.
1949// the "output" return value is not valid until after Send returns without error.
1950//
1951// See GetLayerVersionByArn for more information on using the GetLayerVersionByArn
1952// API call, and error handling.
1953//
1954// This method is useful when you want to inject custom logic or configuration
1955// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1956//
1957//
1958//    // Example sending a request using the GetLayerVersionByArnRequest method.
1959//    req, resp := client.GetLayerVersionByArnRequest(params)
1960//
1961//    err := req.Send()
1962//    if err == nil { // resp is now filled
1963//        fmt.Println(resp)
1964//    }
1965//
1966// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetLayerVersionByArn
1967func (c *Lambda) GetLayerVersionByArnRequest(input *GetLayerVersionByArnInput) (req *request.Request, output *GetLayerVersionByArnOutput) {
1968	op := &request.Operation{
1969		Name:       opGetLayerVersionByArn,
1970		HTTPMethod: "GET",
1971		HTTPPath:   "/2018-10-31/layers?find=LayerVersion",
1972	}
1973
1974	if input == nil {
1975		input = &GetLayerVersionByArnInput{}
1976	}
1977
1978	output = &GetLayerVersionByArnOutput{}
1979	req = c.newRequest(op, input, output)
1980	return
1981}
1982
1983// GetLayerVersionByArn API operation for AWS Lambda.
1984//
1985// Returns information about a version of an AWS Lambda layer (https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html),
1986// with a link to download the layer archive that's valid for 10 minutes.
1987//
1988// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1989// with awserr.Error's Code and Message methods to get detailed information about
1990// the error.
1991//
1992// See the AWS API reference guide for AWS Lambda's
1993// API operation GetLayerVersionByArn for usage and error information.
1994//
1995// Returned Error Types:
1996//   * ServiceException
1997//   The AWS Lambda service encountered an internal error.
1998//
1999//   * InvalidParameterValueException
2000//   One of the parameters in the request is invalid.
2001//
2002//   * TooManyRequestsException
2003//   The request throughput limit was exceeded.
2004//
2005//   * ResourceNotFoundException
2006//   The resource specified in the request does not exist.
2007//
2008// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetLayerVersionByArn
2009func (c *Lambda) GetLayerVersionByArn(input *GetLayerVersionByArnInput) (*GetLayerVersionByArnOutput, error) {
2010	req, out := c.GetLayerVersionByArnRequest(input)
2011	return out, req.Send()
2012}
2013
2014// GetLayerVersionByArnWithContext is the same as GetLayerVersionByArn with the addition of
2015// the ability to pass a context and additional request options.
2016//
2017// See GetLayerVersionByArn for details on how to use this API operation.
2018//
2019// The context must be non-nil and will be used for request cancellation. If
2020// the context is nil a panic will occur. In the future the SDK may create
2021// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2022// for more information on using Contexts.
2023func (c *Lambda) GetLayerVersionByArnWithContext(ctx aws.Context, input *GetLayerVersionByArnInput, opts ...request.Option) (*GetLayerVersionByArnOutput, error) {
2024	req, out := c.GetLayerVersionByArnRequest(input)
2025	req.SetContext(ctx)
2026	req.ApplyOptions(opts...)
2027	return out, req.Send()
2028}
2029
2030const opGetLayerVersionPolicy = "GetLayerVersionPolicy"
2031
2032// GetLayerVersionPolicyRequest generates a "aws/request.Request" representing the
2033// client's request for the GetLayerVersionPolicy operation. The "output" return
2034// value will be populated with the request's response once the request completes
2035// successfully.
2036//
2037// Use "Send" method on the returned Request to send the API call to the service.
2038// the "output" return value is not valid until after Send returns without error.
2039//
2040// See GetLayerVersionPolicy for more information on using the GetLayerVersionPolicy
2041// API call, and error handling.
2042//
2043// This method is useful when you want to inject custom logic or configuration
2044// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2045//
2046//
2047//    // Example sending a request using the GetLayerVersionPolicyRequest method.
2048//    req, resp := client.GetLayerVersionPolicyRequest(params)
2049//
2050//    err := req.Send()
2051//    if err == nil { // resp is now filled
2052//        fmt.Println(resp)
2053//    }
2054//
2055// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetLayerVersionPolicy
2056func (c *Lambda) GetLayerVersionPolicyRequest(input *GetLayerVersionPolicyInput) (req *request.Request, output *GetLayerVersionPolicyOutput) {
2057	op := &request.Operation{
2058		Name:       opGetLayerVersionPolicy,
2059		HTTPMethod: "GET",
2060		HTTPPath:   "/2018-10-31/layers/{LayerName}/versions/{VersionNumber}/policy",
2061	}
2062
2063	if input == nil {
2064		input = &GetLayerVersionPolicyInput{}
2065	}
2066
2067	output = &GetLayerVersionPolicyOutput{}
2068	req = c.newRequest(op, input, output)
2069	return
2070}
2071
2072// GetLayerVersionPolicy API operation for AWS Lambda.
2073//
2074// Returns the permission policy for a version of an AWS Lambda layer (https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html).
2075// For more information, see AddLayerVersionPermission.
2076//
2077// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2078// with awserr.Error's Code and Message methods to get detailed information about
2079// the error.
2080//
2081// See the AWS API reference guide for AWS Lambda's
2082// API operation GetLayerVersionPolicy for usage and error information.
2083//
2084// Returned Error Types:
2085//   * ServiceException
2086//   The AWS Lambda service encountered an internal error.
2087//
2088//   * ResourceNotFoundException
2089//   The resource specified in the request does not exist.
2090//
2091//   * TooManyRequestsException
2092//   The request throughput limit was exceeded.
2093//
2094//   * InvalidParameterValueException
2095//   One of the parameters in the request is invalid.
2096//
2097// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetLayerVersionPolicy
2098func (c *Lambda) GetLayerVersionPolicy(input *GetLayerVersionPolicyInput) (*GetLayerVersionPolicyOutput, error) {
2099	req, out := c.GetLayerVersionPolicyRequest(input)
2100	return out, req.Send()
2101}
2102
2103// GetLayerVersionPolicyWithContext is the same as GetLayerVersionPolicy with the addition of
2104// the ability to pass a context and additional request options.
2105//
2106// See GetLayerVersionPolicy for details on how to use this API operation.
2107//
2108// The context must be non-nil and will be used for request cancellation. If
2109// the context is nil a panic will occur. In the future the SDK may create
2110// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2111// for more information on using Contexts.
2112func (c *Lambda) GetLayerVersionPolicyWithContext(ctx aws.Context, input *GetLayerVersionPolicyInput, opts ...request.Option) (*GetLayerVersionPolicyOutput, error) {
2113	req, out := c.GetLayerVersionPolicyRequest(input)
2114	req.SetContext(ctx)
2115	req.ApplyOptions(opts...)
2116	return out, req.Send()
2117}
2118
2119const opGetPolicy = "GetPolicy"
2120
2121// GetPolicyRequest generates a "aws/request.Request" representing the
2122// client's request for the GetPolicy operation. The "output" return
2123// value will be populated with the request's response once the request completes
2124// successfully.
2125//
2126// Use "Send" method on the returned Request to send the API call to the service.
2127// the "output" return value is not valid until after Send returns without error.
2128//
2129// See GetPolicy for more information on using the GetPolicy
2130// API call, and error handling.
2131//
2132// This method is useful when you want to inject custom logic or configuration
2133// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2134//
2135//
2136//    // Example sending a request using the GetPolicyRequest method.
2137//    req, resp := client.GetPolicyRequest(params)
2138//
2139//    err := req.Send()
2140//    if err == nil { // resp is now filled
2141//        fmt.Println(resp)
2142//    }
2143//
2144// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetPolicy
2145func (c *Lambda) GetPolicyRequest(input *GetPolicyInput) (req *request.Request, output *GetPolicyOutput) {
2146	op := &request.Operation{
2147		Name:       opGetPolicy,
2148		HTTPMethod: "GET",
2149		HTTPPath:   "/2015-03-31/functions/{FunctionName}/policy",
2150	}
2151
2152	if input == nil {
2153		input = &GetPolicyInput{}
2154	}
2155
2156	output = &GetPolicyOutput{}
2157	req = c.newRequest(op, input, output)
2158	return
2159}
2160
2161// GetPolicy API operation for AWS Lambda.
2162//
2163// Returns the resource-based IAM policy (https://docs.aws.amazon.com/lambda/latest/dg/access-control-resource-based.html)
2164// for a function, version, or alias.
2165//
2166// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2167// with awserr.Error's Code and Message methods to get detailed information about
2168// the error.
2169//
2170// See the AWS API reference guide for AWS Lambda's
2171// API operation GetPolicy for usage and error information.
2172//
2173// Returned Error Types:
2174//   * ServiceException
2175//   The AWS Lambda service encountered an internal error.
2176//
2177//   * ResourceNotFoundException
2178//   The resource specified in the request does not exist.
2179//
2180//   * TooManyRequestsException
2181//   The request throughput limit was exceeded.
2182//
2183//   * InvalidParameterValueException
2184//   One of the parameters in the request is invalid.
2185//
2186// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetPolicy
2187func (c *Lambda) GetPolicy(input *GetPolicyInput) (*GetPolicyOutput, error) {
2188	req, out := c.GetPolicyRequest(input)
2189	return out, req.Send()
2190}
2191
2192// GetPolicyWithContext is the same as GetPolicy with the addition of
2193// the ability to pass a context and additional request options.
2194//
2195// See GetPolicy for details on how to use this API operation.
2196//
2197// The context must be non-nil and will be used for request cancellation. If
2198// the context is nil a panic will occur. In the future the SDK may create
2199// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2200// for more information on using Contexts.
2201func (c *Lambda) GetPolicyWithContext(ctx aws.Context, input *GetPolicyInput, opts ...request.Option) (*GetPolicyOutput, error) {
2202	req, out := c.GetPolicyRequest(input)
2203	req.SetContext(ctx)
2204	req.ApplyOptions(opts...)
2205	return out, req.Send()
2206}
2207
2208const opGetProvisionedConcurrencyConfig = "GetProvisionedConcurrencyConfig"
2209
2210// GetProvisionedConcurrencyConfigRequest generates a "aws/request.Request" representing the
2211// client's request for the GetProvisionedConcurrencyConfig operation. The "output" return
2212// value will be populated with the request's response once the request completes
2213// successfully.
2214//
2215// Use "Send" method on the returned Request to send the API call to the service.
2216// the "output" return value is not valid until after Send returns without error.
2217//
2218// See GetProvisionedConcurrencyConfig for more information on using the GetProvisionedConcurrencyConfig
2219// API call, and error handling.
2220//
2221// This method is useful when you want to inject custom logic or configuration
2222// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2223//
2224//
2225//    // Example sending a request using the GetProvisionedConcurrencyConfigRequest method.
2226//    req, resp := client.GetProvisionedConcurrencyConfigRequest(params)
2227//
2228//    err := req.Send()
2229//    if err == nil { // resp is now filled
2230//        fmt.Println(resp)
2231//    }
2232//
2233// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetProvisionedConcurrencyConfig
2234func (c *Lambda) GetProvisionedConcurrencyConfigRequest(input *GetProvisionedConcurrencyConfigInput) (req *request.Request, output *GetProvisionedConcurrencyConfigOutput) {
2235	op := &request.Operation{
2236		Name:       opGetProvisionedConcurrencyConfig,
2237		HTTPMethod: "GET",
2238		HTTPPath:   "/2019-09-30/functions/{FunctionName}/provisioned-concurrency",
2239	}
2240
2241	if input == nil {
2242		input = &GetProvisionedConcurrencyConfigInput{}
2243	}
2244
2245	output = &GetProvisionedConcurrencyConfigOutput{}
2246	req = c.newRequest(op, input, output)
2247	return
2248}
2249
2250// GetProvisionedConcurrencyConfig API operation for AWS Lambda.
2251//
2252// Retrieves the provisioned concurrency configuration for a function's alias
2253// or version.
2254//
2255// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2256// with awserr.Error's Code and Message methods to get detailed information about
2257// the error.
2258//
2259// See the AWS API reference guide for AWS Lambda's
2260// API operation GetProvisionedConcurrencyConfig for usage and error information.
2261//
2262// Returned Error Types:
2263//   * InvalidParameterValueException
2264//   One of the parameters in the request is invalid.
2265//
2266//   * ResourceNotFoundException
2267//   The resource specified in the request does not exist.
2268//
2269//   * TooManyRequestsException
2270//   The request throughput limit was exceeded.
2271//
2272//   * ServiceException
2273//   The AWS Lambda service encountered an internal error.
2274//
2275//   * ProvisionedConcurrencyConfigNotFoundException
2276//   The specified configuration does not exist.
2277//
2278// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetProvisionedConcurrencyConfig
2279func (c *Lambda) GetProvisionedConcurrencyConfig(input *GetProvisionedConcurrencyConfigInput) (*GetProvisionedConcurrencyConfigOutput, error) {
2280	req, out := c.GetProvisionedConcurrencyConfigRequest(input)
2281	return out, req.Send()
2282}
2283
2284// GetProvisionedConcurrencyConfigWithContext is the same as GetProvisionedConcurrencyConfig with the addition of
2285// the ability to pass a context and additional request options.
2286//
2287// See GetProvisionedConcurrencyConfig for details on how to use this API operation.
2288//
2289// The context must be non-nil and will be used for request cancellation. If
2290// the context is nil a panic will occur. In the future the SDK may create
2291// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2292// for more information on using Contexts.
2293func (c *Lambda) GetProvisionedConcurrencyConfigWithContext(ctx aws.Context, input *GetProvisionedConcurrencyConfigInput, opts ...request.Option) (*GetProvisionedConcurrencyConfigOutput, error) {
2294	req, out := c.GetProvisionedConcurrencyConfigRequest(input)
2295	req.SetContext(ctx)
2296	req.ApplyOptions(opts...)
2297	return out, req.Send()
2298}
2299
2300const opInvoke = "Invoke"
2301
2302// InvokeRequest generates a "aws/request.Request" representing the
2303// client's request for the Invoke operation. The "output" return
2304// value will be populated with the request's response once the request completes
2305// successfully.
2306//
2307// Use "Send" method on the returned Request to send the API call to the service.
2308// the "output" return value is not valid until after Send returns without error.
2309//
2310// See Invoke for more information on using the Invoke
2311// API call, and error handling.
2312//
2313// This method is useful when you want to inject custom logic or configuration
2314// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2315//
2316//
2317//    // Example sending a request using the InvokeRequest method.
2318//    req, resp := client.InvokeRequest(params)
2319//
2320//    err := req.Send()
2321//    if err == nil { // resp is now filled
2322//        fmt.Println(resp)
2323//    }
2324//
2325// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/Invoke
2326func (c *Lambda) InvokeRequest(input *InvokeInput) (req *request.Request, output *InvokeOutput) {
2327	op := &request.Operation{
2328		Name:       opInvoke,
2329		HTTPMethod: "POST",
2330		HTTPPath:   "/2015-03-31/functions/{FunctionName}/invocations",
2331	}
2332
2333	if input == nil {
2334		input = &InvokeInput{}
2335	}
2336
2337	output = &InvokeOutput{}
2338	req = c.newRequest(op, input, output)
2339	return
2340}
2341
2342// Invoke API operation for AWS Lambda.
2343//
2344// Invokes a Lambda function. You can invoke a function synchronously (and wait
2345// for the response), or asynchronously. To invoke a function asynchronously,
2346// set InvocationType to Event.
2347//
2348// For synchronous invocation (https://docs.aws.amazon.com/lambda/latest/dg/invocation-sync.html),
2349// details about the function response, including errors, are included in the
2350// response body and headers. For either invocation type, you can find more
2351// information in the execution log (https://docs.aws.amazon.com/lambda/latest/dg/monitoring-functions.html)
2352// and trace (https://docs.aws.amazon.com/lambda/latest/dg/lambda-x-ray.html).
2353//
2354// When an error occurs, your function may be invoked multiple times. Retry
2355// behavior varies by error type, client, event source, and invocation type.
2356// For example, if you invoke a function asynchronously and it returns an error,
2357// Lambda executes the function up to two more times. For more information,
2358// see Retry Behavior (https://docs.aws.amazon.com/lambda/latest/dg/retries-on-errors.html).
2359//
2360// For asynchronous invocation (https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html),
2361// Lambda adds events to a queue before sending them to your function. If your
2362// function does not have enough capacity to keep up with the queue, events
2363// may be lost. Occasionally, your function may receive the same event multiple
2364// times, even if no error occurs. To retain events that were not processed,
2365// configure your function with a dead-letter queue (https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#dlq).
2366//
2367// The status code in the API response doesn't reflect function errors. Error
2368// codes are reserved for errors that prevent your function from executing,
2369// such as permissions errors, limit errors (https://docs.aws.amazon.com/lambda/latest/dg/limits.html),
2370// or issues with your function's code and configuration. For example, Lambda
2371// returns TooManyRequestsException if executing the function would cause you
2372// to exceed a concurrency limit at either the account level (ConcurrentInvocationLimitExceeded)
2373// or function level (ReservedFunctionConcurrentInvocationLimitExceeded).
2374//
2375// For functions with a long timeout, your client might be disconnected during
2376// synchronous invocation while it waits for a response. Configure your HTTP
2377// client, SDK, firewall, proxy, or operating system to allow for long connections
2378// with timeout or keep-alive settings.
2379//
2380// This operation requires permission for the lambda:InvokeFunction (https://docs.aws.amazon.com/IAM/latest/UserGuide/list_awslambda.html)
2381// action.
2382//
2383// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2384// with awserr.Error's Code and Message methods to get detailed information about
2385// the error.
2386//
2387// See the AWS API reference guide for AWS Lambda's
2388// API operation Invoke for usage and error information.
2389//
2390// Returned Error Types:
2391//   * ServiceException
2392//   The AWS Lambda service encountered an internal error.
2393//
2394//   * ResourceNotFoundException
2395//   The resource specified in the request does not exist.
2396//
2397//   * InvalidRequestContentException
2398//   The request body could not be parsed as JSON.
2399//
2400//   * RequestTooLargeException
2401//   The request payload exceeded the Invoke request body JSON input limit. For
2402//   more information, see Limits (https://docs.aws.amazon.com/lambda/latest/dg/limits.html).
2403//
2404//   * UnsupportedMediaTypeException
2405//   The content type of the Invoke request body is not JSON.
2406//
2407//   * TooManyRequestsException
2408//   The request throughput limit was exceeded.
2409//
2410//   * InvalidParameterValueException
2411//   One of the parameters in the request is invalid.
2412//
2413//   * EC2UnexpectedException
2414//   AWS Lambda received an unexpected EC2 client exception while setting up for
2415//   the Lambda function.
2416//
2417//   * SubnetIPAddressLimitReachedException
2418//   AWS Lambda was not able to set up VPC access for the Lambda function because
2419//   one or more configured subnets has no available IP addresses.
2420//
2421//   * ENILimitReachedException
2422//   AWS Lambda was not able to create an elastic network interface in the VPC,
2423//   specified as part of Lambda function configuration, because the limit for
2424//   network interfaces has been reached.
2425//
2426//   * EFSMountConnectivityException
2427//   The function couldn't make a network connection to the configured file system.
2428//
2429//   * EFSMountFailureException
2430//   The function couldn't mount the configured file system due to a permission
2431//   or configuration issue.
2432//
2433//   * EFSMountTimeoutException
2434//   The function was able to make a network connection to the configured file
2435//   system, but the mount operation timed out.
2436//
2437//   * EFSIOException
2438//   An error occured when reading from or writing to a connected file system.
2439//
2440//   * EC2ThrottledException
2441//   AWS Lambda was throttled by Amazon EC2 during Lambda function initialization
2442//   using the execution role provided for the Lambda function.
2443//
2444//   * EC2AccessDeniedException
2445//   Need additional permissions to configure VPC settings.
2446//
2447//   * InvalidSubnetIDException
2448//   The Subnet ID provided in the Lambda function VPC configuration is invalid.
2449//
2450//   * InvalidSecurityGroupIDException
2451//   The Security Group ID provided in the Lambda function VPC configuration is
2452//   invalid.
2453//
2454//   * InvalidZipFileException
2455//   AWS Lambda could not unzip the deployment package.
2456//
2457//   * KMSDisabledException
2458//   Lambda was unable to decrypt the environment variables because the KMS key
2459//   used is disabled. Check the Lambda function's KMS key settings.
2460//
2461//   * KMSInvalidStateException
2462//   Lambda was unable to decrypt the environment variables because the KMS key
2463//   used is in an invalid state for Decrypt. Check the function's KMS key settings.
2464//
2465//   * KMSAccessDeniedException
2466//   Lambda was unable to decrypt the environment variables because KMS access
2467//   was denied. Check the Lambda function's KMS permissions.
2468//
2469//   * KMSNotFoundException
2470//   Lambda was unable to decrypt the environment variables because the KMS key
2471//   was not found. Check the function's KMS key settings.
2472//
2473//   * InvalidRuntimeException
2474//   The runtime or runtime version specified is not supported.
2475//
2476//   * ResourceConflictException
2477//   The resource already exists, or another operation is in progress.
2478//
2479//   * ResourceNotReadyException
2480//   The function is inactive and its VPC connection is no longer available. Wait
2481//   for the VPC connection to reestablish and try again.
2482//
2483// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/Invoke
2484func (c *Lambda) Invoke(input *InvokeInput) (*InvokeOutput, error) {
2485	req, out := c.InvokeRequest(input)
2486	return out, req.Send()
2487}
2488
2489// InvokeWithContext is the same as Invoke with the addition of
2490// the ability to pass a context and additional request options.
2491//
2492// See Invoke for details on how to use this API operation.
2493//
2494// The context must be non-nil and will be used for request cancellation. If
2495// the context is nil a panic will occur. In the future the SDK may create
2496// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2497// for more information on using Contexts.
2498func (c *Lambda) InvokeWithContext(ctx aws.Context, input *InvokeInput, opts ...request.Option) (*InvokeOutput, error) {
2499	req, out := c.InvokeRequest(input)
2500	req.SetContext(ctx)
2501	req.ApplyOptions(opts...)
2502	return out, req.Send()
2503}
2504
2505const opInvokeAsync = "InvokeAsync"
2506
2507// InvokeAsyncRequest generates a "aws/request.Request" representing the
2508// client's request for the InvokeAsync operation. The "output" return
2509// value will be populated with the request's response once the request completes
2510// successfully.
2511//
2512// Use "Send" method on the returned Request to send the API call to the service.
2513// the "output" return value is not valid until after Send returns without error.
2514//
2515// See InvokeAsync for more information on using the InvokeAsync
2516// API call, and error handling.
2517//
2518// This method is useful when you want to inject custom logic or configuration
2519// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2520//
2521//
2522//    // Example sending a request using the InvokeAsyncRequest method.
2523//    req, resp := client.InvokeAsyncRequest(params)
2524//
2525//    err := req.Send()
2526//    if err == nil { // resp is now filled
2527//        fmt.Println(resp)
2528//    }
2529//
2530// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/InvokeAsync
2531//
2532// Deprecated: InvokeAsync has been deprecated
2533func (c *Lambda) InvokeAsyncRequest(input *InvokeAsyncInput) (req *request.Request, output *InvokeAsyncOutput) {
2534	if c.Client.Config.Logger != nil {
2535		c.Client.Config.Logger.Log("This operation, InvokeAsync, has been deprecated")
2536	}
2537	op := &request.Operation{
2538		Name:       opInvokeAsync,
2539		HTTPMethod: "POST",
2540		HTTPPath:   "/2014-11-13/functions/{FunctionName}/invoke-async/",
2541	}
2542
2543	if input == nil {
2544		input = &InvokeAsyncInput{}
2545	}
2546
2547	output = &InvokeAsyncOutput{}
2548	req = c.newRequest(op, input, output)
2549	return
2550}
2551
2552// InvokeAsync API operation for AWS Lambda.
2553//
2554//
2555// For asynchronous function invocation, use Invoke.
2556//
2557// Invokes a function asynchronously.
2558//
2559// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2560// with awserr.Error's Code and Message methods to get detailed information about
2561// the error.
2562//
2563// See the AWS API reference guide for AWS Lambda's
2564// API operation InvokeAsync for usage and error information.
2565//
2566// Returned Error Types:
2567//   * ServiceException
2568//   The AWS Lambda service encountered an internal error.
2569//
2570//   * ResourceNotFoundException
2571//   The resource specified in the request does not exist.
2572//
2573//   * InvalidRequestContentException
2574//   The request body could not be parsed as JSON.
2575//
2576//   * InvalidRuntimeException
2577//   The runtime or runtime version specified is not supported.
2578//
2579//   * ResourceConflictException
2580//   The resource already exists, or another operation is in progress.
2581//
2582// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/InvokeAsync
2583//
2584// Deprecated: InvokeAsync has been deprecated
2585func (c *Lambda) InvokeAsync(input *InvokeAsyncInput) (*InvokeAsyncOutput, error) {
2586	req, out := c.InvokeAsyncRequest(input)
2587	return out, req.Send()
2588}
2589
2590// InvokeAsyncWithContext is the same as InvokeAsync with the addition of
2591// the ability to pass a context and additional request options.
2592//
2593// See InvokeAsync for details on how to use this API operation.
2594//
2595// The context must be non-nil and will be used for request cancellation. If
2596// the context is nil a panic will occur. In the future the SDK may create
2597// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2598// for more information on using Contexts.
2599//
2600// Deprecated: InvokeAsyncWithContext has been deprecated
2601func (c *Lambda) InvokeAsyncWithContext(ctx aws.Context, input *InvokeAsyncInput, opts ...request.Option) (*InvokeAsyncOutput, error) {
2602	req, out := c.InvokeAsyncRequest(input)
2603	req.SetContext(ctx)
2604	req.ApplyOptions(opts...)
2605	return out, req.Send()
2606}
2607
2608const opListAliases = "ListAliases"
2609
2610// ListAliasesRequest generates a "aws/request.Request" representing the
2611// client's request for the ListAliases operation. The "output" return
2612// value will be populated with the request's response once the request completes
2613// successfully.
2614//
2615// Use "Send" method on the returned Request to send the API call to the service.
2616// the "output" return value is not valid until after Send returns without error.
2617//
2618// See ListAliases for more information on using the ListAliases
2619// API call, and error handling.
2620//
2621// This method is useful when you want to inject custom logic or configuration
2622// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2623//
2624//
2625//    // Example sending a request using the ListAliasesRequest method.
2626//    req, resp := client.ListAliasesRequest(params)
2627//
2628//    err := req.Send()
2629//    if err == nil { // resp is now filled
2630//        fmt.Println(resp)
2631//    }
2632//
2633// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListAliases
2634func (c *Lambda) ListAliasesRequest(input *ListAliasesInput) (req *request.Request, output *ListAliasesOutput) {
2635	op := &request.Operation{
2636		Name:       opListAliases,
2637		HTTPMethod: "GET",
2638		HTTPPath:   "/2015-03-31/functions/{FunctionName}/aliases",
2639		Paginator: &request.Paginator{
2640			InputTokens:     []string{"Marker"},
2641			OutputTokens:    []string{"NextMarker"},
2642			LimitToken:      "MaxItems",
2643			TruncationToken: "",
2644		},
2645	}
2646
2647	if input == nil {
2648		input = &ListAliasesInput{}
2649	}
2650
2651	output = &ListAliasesOutput{}
2652	req = c.newRequest(op, input, output)
2653	return
2654}
2655
2656// ListAliases API operation for AWS Lambda.
2657//
2658// Returns a list of aliases (https://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html)
2659// for a Lambda function.
2660//
2661// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2662// with awserr.Error's Code and Message methods to get detailed information about
2663// the error.
2664//
2665// See the AWS API reference guide for AWS Lambda's
2666// API operation ListAliases for usage and error information.
2667//
2668// Returned Error Types:
2669//   * ServiceException
2670//   The AWS Lambda service encountered an internal error.
2671//
2672//   * ResourceNotFoundException
2673//   The resource specified in the request does not exist.
2674//
2675//   * InvalidParameterValueException
2676//   One of the parameters in the request is invalid.
2677//
2678//   * TooManyRequestsException
2679//   The request throughput limit was exceeded.
2680//
2681// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListAliases
2682func (c *Lambda) ListAliases(input *ListAliasesInput) (*ListAliasesOutput, error) {
2683	req, out := c.ListAliasesRequest(input)
2684	return out, req.Send()
2685}
2686
2687// ListAliasesWithContext is the same as ListAliases with the addition of
2688// the ability to pass a context and additional request options.
2689//
2690// See ListAliases for details on how to use this API operation.
2691//
2692// The context must be non-nil and will be used for request cancellation. If
2693// the context is nil a panic will occur. In the future the SDK may create
2694// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2695// for more information on using Contexts.
2696func (c *Lambda) ListAliasesWithContext(ctx aws.Context, input *ListAliasesInput, opts ...request.Option) (*ListAliasesOutput, error) {
2697	req, out := c.ListAliasesRequest(input)
2698	req.SetContext(ctx)
2699	req.ApplyOptions(opts...)
2700	return out, req.Send()
2701}
2702
2703// ListAliasesPages iterates over the pages of a ListAliases operation,
2704// calling the "fn" function with the response data for each page. To stop
2705// iterating, return false from the fn function.
2706//
2707// See ListAliases method for more information on how to use this operation.
2708//
2709// Note: This operation can generate multiple requests to a service.
2710//
2711//    // Example iterating over at most 3 pages of a ListAliases operation.
2712//    pageNum := 0
2713//    err := client.ListAliasesPages(params,
2714//        func(page *lambda.ListAliasesOutput, lastPage bool) bool {
2715//            pageNum++
2716//            fmt.Println(page)
2717//            return pageNum <= 3
2718//        })
2719//
2720func (c *Lambda) ListAliasesPages(input *ListAliasesInput, fn func(*ListAliasesOutput, bool) bool) error {
2721	return c.ListAliasesPagesWithContext(aws.BackgroundContext(), input, fn)
2722}
2723
2724// ListAliasesPagesWithContext same as ListAliasesPages except
2725// it takes a Context and allows setting request options on the pages.
2726//
2727// The context must be non-nil and will be used for request cancellation. If
2728// the context is nil a panic will occur. In the future the SDK may create
2729// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2730// for more information on using Contexts.
2731func (c *Lambda) ListAliasesPagesWithContext(ctx aws.Context, input *ListAliasesInput, fn func(*ListAliasesOutput, bool) bool, opts ...request.Option) error {
2732	p := request.Pagination{
2733		NewRequest: func() (*request.Request, error) {
2734			var inCpy *ListAliasesInput
2735			if input != nil {
2736				tmp := *input
2737				inCpy = &tmp
2738			}
2739			req, _ := c.ListAliasesRequest(inCpy)
2740			req.SetContext(ctx)
2741			req.ApplyOptions(opts...)
2742			return req, nil
2743		},
2744	}
2745
2746	for p.Next() {
2747		if !fn(p.Page().(*ListAliasesOutput), !p.HasNextPage()) {
2748			break
2749		}
2750	}
2751
2752	return p.Err()
2753}
2754
2755const opListEventSourceMappings = "ListEventSourceMappings"
2756
2757// ListEventSourceMappingsRequest generates a "aws/request.Request" representing the
2758// client's request for the ListEventSourceMappings operation. The "output" return
2759// value will be populated with the request's response once the request completes
2760// successfully.
2761//
2762// Use "Send" method on the returned Request to send the API call to the service.
2763// the "output" return value is not valid until after Send returns without error.
2764//
2765// See ListEventSourceMappings for more information on using the ListEventSourceMappings
2766// API call, and error handling.
2767//
2768// This method is useful when you want to inject custom logic or configuration
2769// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2770//
2771//
2772//    // Example sending a request using the ListEventSourceMappingsRequest method.
2773//    req, resp := client.ListEventSourceMappingsRequest(params)
2774//
2775//    err := req.Send()
2776//    if err == nil { // resp is now filled
2777//        fmt.Println(resp)
2778//    }
2779//
2780// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListEventSourceMappings
2781func (c *Lambda) ListEventSourceMappingsRequest(input *ListEventSourceMappingsInput) (req *request.Request, output *ListEventSourceMappingsOutput) {
2782	op := &request.Operation{
2783		Name:       opListEventSourceMappings,
2784		HTTPMethod: "GET",
2785		HTTPPath:   "/2015-03-31/event-source-mappings/",
2786		Paginator: &request.Paginator{
2787			InputTokens:     []string{"Marker"},
2788			OutputTokens:    []string{"NextMarker"},
2789			LimitToken:      "MaxItems",
2790			TruncationToken: "",
2791		},
2792	}
2793
2794	if input == nil {
2795		input = &ListEventSourceMappingsInput{}
2796	}
2797
2798	output = &ListEventSourceMappingsOutput{}
2799	req = c.newRequest(op, input, output)
2800	return
2801}
2802
2803// ListEventSourceMappings API operation for AWS Lambda.
2804//
2805// Lists event source mappings. Specify an EventSourceArn to only show event
2806// source mappings for a single event source.
2807//
2808// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2809// with awserr.Error's Code and Message methods to get detailed information about
2810// the error.
2811//
2812// See the AWS API reference guide for AWS Lambda's
2813// API operation ListEventSourceMappings for usage and error information.
2814//
2815// Returned Error Types:
2816//   * ServiceException
2817//   The AWS Lambda service encountered an internal error.
2818//
2819//   * ResourceNotFoundException
2820//   The resource specified in the request does not exist.
2821//
2822//   * InvalidParameterValueException
2823//   One of the parameters in the request is invalid.
2824//
2825//   * TooManyRequestsException
2826//   The request throughput limit was exceeded.
2827//
2828// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListEventSourceMappings
2829func (c *Lambda) ListEventSourceMappings(input *ListEventSourceMappingsInput) (*ListEventSourceMappingsOutput, error) {
2830	req, out := c.ListEventSourceMappingsRequest(input)
2831	return out, req.Send()
2832}
2833
2834// ListEventSourceMappingsWithContext is the same as ListEventSourceMappings with the addition of
2835// the ability to pass a context and additional request options.
2836//
2837// See ListEventSourceMappings for details on how to use this API operation.
2838//
2839// The context must be non-nil and will be used for request cancellation. If
2840// the context is nil a panic will occur. In the future the SDK may create
2841// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2842// for more information on using Contexts.
2843func (c *Lambda) ListEventSourceMappingsWithContext(ctx aws.Context, input *ListEventSourceMappingsInput, opts ...request.Option) (*ListEventSourceMappingsOutput, error) {
2844	req, out := c.ListEventSourceMappingsRequest(input)
2845	req.SetContext(ctx)
2846	req.ApplyOptions(opts...)
2847	return out, req.Send()
2848}
2849
2850// ListEventSourceMappingsPages iterates over the pages of a ListEventSourceMappings operation,
2851// calling the "fn" function with the response data for each page. To stop
2852// iterating, return false from the fn function.
2853//
2854// See ListEventSourceMappings method for more information on how to use this operation.
2855//
2856// Note: This operation can generate multiple requests to a service.
2857//
2858//    // Example iterating over at most 3 pages of a ListEventSourceMappings operation.
2859//    pageNum := 0
2860//    err := client.ListEventSourceMappingsPages(params,
2861//        func(page *lambda.ListEventSourceMappingsOutput, lastPage bool) bool {
2862//            pageNum++
2863//            fmt.Println(page)
2864//            return pageNum <= 3
2865//        })
2866//
2867func (c *Lambda) ListEventSourceMappingsPages(input *ListEventSourceMappingsInput, fn func(*ListEventSourceMappingsOutput, bool) bool) error {
2868	return c.ListEventSourceMappingsPagesWithContext(aws.BackgroundContext(), input, fn)
2869}
2870
2871// ListEventSourceMappingsPagesWithContext same as ListEventSourceMappingsPages except
2872// it takes a Context and allows setting request options on the pages.
2873//
2874// The context must be non-nil and will be used for request cancellation. If
2875// the context is nil a panic will occur. In the future the SDK may create
2876// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2877// for more information on using Contexts.
2878func (c *Lambda) ListEventSourceMappingsPagesWithContext(ctx aws.Context, input *ListEventSourceMappingsInput, fn func(*ListEventSourceMappingsOutput, bool) bool, opts ...request.Option) error {
2879	p := request.Pagination{
2880		NewRequest: func() (*request.Request, error) {
2881			var inCpy *ListEventSourceMappingsInput
2882			if input != nil {
2883				tmp := *input
2884				inCpy = &tmp
2885			}
2886			req, _ := c.ListEventSourceMappingsRequest(inCpy)
2887			req.SetContext(ctx)
2888			req.ApplyOptions(opts...)
2889			return req, nil
2890		},
2891	}
2892
2893	for p.Next() {
2894		if !fn(p.Page().(*ListEventSourceMappingsOutput), !p.HasNextPage()) {
2895			break
2896		}
2897	}
2898
2899	return p.Err()
2900}
2901
2902const opListFunctionEventInvokeConfigs = "ListFunctionEventInvokeConfigs"
2903
2904// ListFunctionEventInvokeConfigsRequest generates a "aws/request.Request" representing the
2905// client's request for the ListFunctionEventInvokeConfigs operation. The "output" return
2906// value will be populated with the request's response once the request completes
2907// successfully.
2908//
2909// Use "Send" method on the returned Request to send the API call to the service.
2910// the "output" return value is not valid until after Send returns without error.
2911//
2912// See ListFunctionEventInvokeConfigs for more information on using the ListFunctionEventInvokeConfigs
2913// API call, and error handling.
2914//
2915// This method is useful when you want to inject custom logic or configuration
2916// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2917//
2918//
2919//    // Example sending a request using the ListFunctionEventInvokeConfigsRequest method.
2920//    req, resp := client.ListFunctionEventInvokeConfigsRequest(params)
2921//
2922//    err := req.Send()
2923//    if err == nil { // resp is now filled
2924//        fmt.Println(resp)
2925//    }
2926//
2927// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListFunctionEventInvokeConfigs
2928func (c *Lambda) ListFunctionEventInvokeConfigsRequest(input *ListFunctionEventInvokeConfigsInput) (req *request.Request, output *ListFunctionEventInvokeConfigsOutput) {
2929	op := &request.Operation{
2930		Name:       opListFunctionEventInvokeConfigs,
2931		HTTPMethod: "GET",
2932		HTTPPath:   "/2019-09-25/functions/{FunctionName}/event-invoke-config/list",
2933		Paginator: &request.Paginator{
2934			InputTokens:     []string{"Marker"},
2935			OutputTokens:    []string{"NextMarker"},
2936			LimitToken:      "MaxItems",
2937			TruncationToken: "",
2938		},
2939	}
2940
2941	if input == nil {
2942		input = &ListFunctionEventInvokeConfigsInput{}
2943	}
2944
2945	output = &ListFunctionEventInvokeConfigsOutput{}
2946	req = c.newRequest(op, input, output)
2947	return
2948}
2949
2950// ListFunctionEventInvokeConfigs API operation for AWS Lambda.
2951//
2952// Retrieves a list of configurations for asynchronous invocation for a function.
2953//
2954// To configure options for asynchronous invocation, use PutFunctionEventInvokeConfig.
2955//
2956// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2957// with awserr.Error's Code and Message methods to get detailed information about
2958// the error.
2959//
2960// See the AWS API reference guide for AWS Lambda's
2961// API operation ListFunctionEventInvokeConfigs for usage and error information.
2962//
2963// Returned Error Types:
2964//   * InvalidParameterValueException
2965//   One of the parameters in the request is invalid.
2966//
2967//   * ResourceNotFoundException
2968//   The resource specified in the request does not exist.
2969//
2970//   * TooManyRequestsException
2971//   The request throughput limit was exceeded.
2972//
2973//   * ServiceException
2974//   The AWS Lambda service encountered an internal error.
2975//
2976// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListFunctionEventInvokeConfigs
2977func (c *Lambda) ListFunctionEventInvokeConfigs(input *ListFunctionEventInvokeConfigsInput) (*ListFunctionEventInvokeConfigsOutput, error) {
2978	req, out := c.ListFunctionEventInvokeConfigsRequest(input)
2979	return out, req.Send()
2980}
2981
2982// ListFunctionEventInvokeConfigsWithContext is the same as ListFunctionEventInvokeConfigs with the addition of
2983// the ability to pass a context and additional request options.
2984//
2985// See ListFunctionEventInvokeConfigs for details on how to use this API operation.
2986//
2987// The context must be non-nil and will be used for request cancellation. If
2988// the context is nil a panic will occur. In the future the SDK may create
2989// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2990// for more information on using Contexts.
2991func (c *Lambda) ListFunctionEventInvokeConfigsWithContext(ctx aws.Context, input *ListFunctionEventInvokeConfigsInput, opts ...request.Option) (*ListFunctionEventInvokeConfigsOutput, error) {
2992	req, out := c.ListFunctionEventInvokeConfigsRequest(input)
2993	req.SetContext(ctx)
2994	req.ApplyOptions(opts...)
2995	return out, req.Send()
2996}
2997
2998// ListFunctionEventInvokeConfigsPages iterates over the pages of a ListFunctionEventInvokeConfigs operation,
2999// calling the "fn" function with the response data for each page. To stop
3000// iterating, return false from the fn function.
3001//
3002// See ListFunctionEventInvokeConfigs method for more information on how to use this operation.
3003//
3004// Note: This operation can generate multiple requests to a service.
3005//
3006//    // Example iterating over at most 3 pages of a ListFunctionEventInvokeConfigs operation.
3007//    pageNum := 0
3008//    err := client.ListFunctionEventInvokeConfigsPages(params,
3009//        func(page *lambda.ListFunctionEventInvokeConfigsOutput, lastPage bool) bool {
3010//            pageNum++
3011//            fmt.Println(page)
3012//            return pageNum <= 3
3013//        })
3014//
3015func (c *Lambda) ListFunctionEventInvokeConfigsPages(input *ListFunctionEventInvokeConfigsInput, fn func(*ListFunctionEventInvokeConfigsOutput, bool) bool) error {
3016	return c.ListFunctionEventInvokeConfigsPagesWithContext(aws.BackgroundContext(), input, fn)
3017}
3018
3019// ListFunctionEventInvokeConfigsPagesWithContext same as ListFunctionEventInvokeConfigsPages except
3020// it takes a Context and allows setting request options on the pages.
3021//
3022// The context must be non-nil and will be used for request cancellation. If
3023// the context is nil a panic will occur. In the future the SDK may create
3024// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3025// for more information on using Contexts.
3026func (c *Lambda) ListFunctionEventInvokeConfigsPagesWithContext(ctx aws.Context, input *ListFunctionEventInvokeConfigsInput, fn func(*ListFunctionEventInvokeConfigsOutput, bool) bool, opts ...request.Option) error {
3027	p := request.Pagination{
3028		NewRequest: func() (*request.Request, error) {
3029			var inCpy *ListFunctionEventInvokeConfigsInput
3030			if input != nil {
3031				tmp := *input
3032				inCpy = &tmp
3033			}
3034			req, _ := c.ListFunctionEventInvokeConfigsRequest(inCpy)
3035			req.SetContext(ctx)
3036			req.ApplyOptions(opts...)
3037			return req, nil
3038		},
3039	}
3040
3041	for p.Next() {
3042		if !fn(p.Page().(*ListFunctionEventInvokeConfigsOutput), !p.HasNextPage()) {
3043			break
3044		}
3045	}
3046
3047	return p.Err()
3048}
3049
3050const opListFunctions = "ListFunctions"
3051
3052// ListFunctionsRequest generates a "aws/request.Request" representing the
3053// client's request for the ListFunctions operation. The "output" return
3054// value will be populated with the request's response once the request completes
3055// successfully.
3056//
3057// Use "Send" method on the returned Request to send the API call to the service.
3058// the "output" return value is not valid until after Send returns without error.
3059//
3060// See ListFunctions for more information on using the ListFunctions
3061// API call, and error handling.
3062//
3063// This method is useful when you want to inject custom logic or configuration
3064// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3065//
3066//
3067//    // Example sending a request using the ListFunctionsRequest method.
3068//    req, resp := client.ListFunctionsRequest(params)
3069//
3070//    err := req.Send()
3071//    if err == nil { // resp is now filled
3072//        fmt.Println(resp)
3073//    }
3074//
3075// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListFunctions
3076func (c *Lambda) ListFunctionsRequest(input *ListFunctionsInput) (req *request.Request, output *ListFunctionsOutput) {
3077	op := &request.Operation{
3078		Name:       opListFunctions,
3079		HTTPMethod: "GET",
3080		HTTPPath:   "/2015-03-31/functions/",
3081		Paginator: &request.Paginator{
3082			InputTokens:     []string{"Marker"},
3083			OutputTokens:    []string{"NextMarker"},
3084			LimitToken:      "MaxItems",
3085			TruncationToken: "",
3086		},
3087	}
3088
3089	if input == nil {
3090		input = &ListFunctionsInput{}
3091	}
3092
3093	output = &ListFunctionsOutput{}
3094	req = c.newRequest(op, input, output)
3095	return
3096}
3097
3098// ListFunctions API operation for AWS Lambda.
3099//
3100// Returns a list of Lambda functions, with the version-specific configuration
3101// of each. Lambda returns up to 50 functions per call.
3102//
3103// Set FunctionVersion to ALL to include all published versions of each function
3104// in addition to the unpublished version. To get more information about a function
3105// or version, use GetFunction.
3106//
3107// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3108// with awserr.Error's Code and Message methods to get detailed information about
3109// the error.
3110//
3111// See the AWS API reference guide for AWS Lambda's
3112// API operation ListFunctions for usage and error information.
3113//
3114// Returned Error Types:
3115//   * ServiceException
3116//   The AWS Lambda service encountered an internal error.
3117//
3118//   * TooManyRequestsException
3119//   The request throughput limit was exceeded.
3120//
3121//   * InvalidParameterValueException
3122//   One of the parameters in the request is invalid.
3123//
3124// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListFunctions
3125func (c *Lambda) ListFunctions(input *ListFunctionsInput) (*ListFunctionsOutput, error) {
3126	req, out := c.ListFunctionsRequest(input)
3127	return out, req.Send()
3128}
3129
3130// ListFunctionsWithContext is the same as ListFunctions with the addition of
3131// the ability to pass a context and additional request options.
3132//
3133// See ListFunctions for details on how to use this API operation.
3134//
3135// The context must be non-nil and will be used for request cancellation. If
3136// the context is nil a panic will occur. In the future the SDK may create
3137// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3138// for more information on using Contexts.
3139func (c *Lambda) ListFunctionsWithContext(ctx aws.Context, input *ListFunctionsInput, opts ...request.Option) (*ListFunctionsOutput, error) {
3140	req, out := c.ListFunctionsRequest(input)
3141	req.SetContext(ctx)
3142	req.ApplyOptions(opts...)
3143	return out, req.Send()
3144}
3145
3146// ListFunctionsPages iterates over the pages of a ListFunctions operation,
3147// calling the "fn" function with the response data for each page. To stop
3148// iterating, return false from the fn function.
3149//
3150// See ListFunctions method for more information on how to use this operation.
3151//
3152// Note: This operation can generate multiple requests to a service.
3153//
3154//    // Example iterating over at most 3 pages of a ListFunctions operation.
3155//    pageNum := 0
3156//    err := client.ListFunctionsPages(params,
3157//        func(page *lambda.ListFunctionsOutput, lastPage bool) bool {
3158//            pageNum++
3159//            fmt.Println(page)
3160//            return pageNum <= 3
3161//        })
3162//
3163func (c *Lambda) ListFunctionsPages(input *ListFunctionsInput, fn func(*ListFunctionsOutput, bool) bool) error {
3164	return c.ListFunctionsPagesWithContext(aws.BackgroundContext(), input, fn)
3165}
3166
3167// ListFunctionsPagesWithContext same as ListFunctionsPages except
3168// it takes a Context and allows setting request options on the pages.
3169//
3170// The context must be non-nil and will be used for request cancellation. If
3171// the context is nil a panic will occur. In the future the SDK may create
3172// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3173// for more information on using Contexts.
3174func (c *Lambda) ListFunctionsPagesWithContext(ctx aws.Context, input *ListFunctionsInput, fn func(*ListFunctionsOutput, bool) bool, opts ...request.Option) error {
3175	p := request.Pagination{
3176		NewRequest: func() (*request.Request, error) {
3177			var inCpy *ListFunctionsInput
3178			if input != nil {
3179				tmp := *input
3180				inCpy = &tmp
3181			}
3182			req, _ := c.ListFunctionsRequest(inCpy)
3183			req.SetContext(ctx)
3184			req.ApplyOptions(opts...)
3185			return req, nil
3186		},
3187	}
3188
3189	for p.Next() {
3190		if !fn(p.Page().(*ListFunctionsOutput), !p.HasNextPage()) {
3191			break
3192		}
3193	}
3194
3195	return p.Err()
3196}
3197
3198const opListLayerVersions = "ListLayerVersions"
3199
3200// ListLayerVersionsRequest generates a "aws/request.Request" representing the
3201// client's request for the ListLayerVersions operation. The "output" return
3202// value will be populated with the request's response once the request completes
3203// successfully.
3204//
3205// Use "Send" method on the returned Request to send the API call to the service.
3206// the "output" return value is not valid until after Send returns without error.
3207//
3208// See ListLayerVersions for more information on using the ListLayerVersions
3209// API call, and error handling.
3210//
3211// This method is useful when you want to inject custom logic or configuration
3212// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3213//
3214//
3215//    // Example sending a request using the ListLayerVersionsRequest method.
3216//    req, resp := client.ListLayerVersionsRequest(params)
3217//
3218//    err := req.Send()
3219//    if err == nil { // resp is now filled
3220//        fmt.Println(resp)
3221//    }
3222//
3223// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListLayerVersions
3224func (c *Lambda) ListLayerVersionsRequest(input *ListLayerVersionsInput) (req *request.Request, output *ListLayerVersionsOutput) {
3225	op := &request.Operation{
3226		Name:       opListLayerVersions,
3227		HTTPMethod: "GET",
3228		HTTPPath:   "/2018-10-31/layers/{LayerName}/versions",
3229		Paginator: &request.Paginator{
3230			InputTokens:     []string{"Marker"},
3231			OutputTokens:    []string{"NextMarker"},
3232			LimitToken:      "MaxItems",
3233			TruncationToken: "",
3234		},
3235	}
3236
3237	if input == nil {
3238		input = &ListLayerVersionsInput{}
3239	}
3240
3241	output = &ListLayerVersionsOutput{}
3242	req = c.newRequest(op, input, output)
3243	return
3244}
3245
3246// ListLayerVersions API operation for AWS Lambda.
3247//
3248// Lists the versions of an AWS Lambda layer (https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html).
3249// Versions that have been deleted aren't listed. Specify a runtime identifier
3250// (https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html) to list
3251// only versions that indicate that they're compatible with that runtime.
3252//
3253// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3254// with awserr.Error's Code and Message methods to get detailed information about
3255// the error.
3256//
3257// See the AWS API reference guide for AWS Lambda's
3258// API operation ListLayerVersions for usage and error information.
3259//
3260// Returned Error Types:
3261//   * ServiceException
3262//   The AWS Lambda service encountered an internal error.
3263//
3264//   * InvalidParameterValueException
3265//   One of the parameters in the request is invalid.
3266//
3267//   * ResourceNotFoundException
3268//   The resource specified in the request does not exist.
3269//
3270//   * TooManyRequestsException
3271//   The request throughput limit was exceeded.
3272//
3273// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListLayerVersions
3274func (c *Lambda) ListLayerVersions(input *ListLayerVersionsInput) (*ListLayerVersionsOutput, error) {
3275	req, out := c.ListLayerVersionsRequest(input)
3276	return out, req.Send()
3277}
3278
3279// ListLayerVersionsWithContext is the same as ListLayerVersions with the addition of
3280// the ability to pass a context and additional request options.
3281//
3282// See ListLayerVersions for details on how to use this API operation.
3283//
3284// The context must be non-nil and will be used for request cancellation. If
3285// the context is nil a panic will occur. In the future the SDK may create
3286// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3287// for more information on using Contexts.
3288func (c *Lambda) ListLayerVersionsWithContext(ctx aws.Context, input *ListLayerVersionsInput, opts ...request.Option) (*ListLayerVersionsOutput, error) {
3289	req, out := c.ListLayerVersionsRequest(input)
3290	req.SetContext(ctx)
3291	req.ApplyOptions(opts...)
3292	return out, req.Send()
3293}
3294
3295// ListLayerVersionsPages iterates over the pages of a ListLayerVersions operation,
3296// calling the "fn" function with the response data for each page. To stop
3297// iterating, return false from the fn function.
3298//
3299// See ListLayerVersions method for more information on how to use this operation.
3300//
3301// Note: This operation can generate multiple requests to a service.
3302//
3303//    // Example iterating over at most 3 pages of a ListLayerVersions operation.
3304//    pageNum := 0
3305//    err := client.ListLayerVersionsPages(params,
3306//        func(page *lambda.ListLayerVersionsOutput, lastPage bool) bool {
3307//            pageNum++
3308//            fmt.Println(page)
3309//            return pageNum <= 3
3310//        })
3311//
3312func (c *Lambda) ListLayerVersionsPages(input *ListLayerVersionsInput, fn func(*ListLayerVersionsOutput, bool) bool) error {
3313	return c.ListLayerVersionsPagesWithContext(aws.BackgroundContext(), input, fn)
3314}
3315
3316// ListLayerVersionsPagesWithContext same as ListLayerVersionsPages except
3317// it takes a Context and allows setting request options on the pages.
3318//
3319// The context must be non-nil and will be used for request cancellation. If
3320// the context is nil a panic will occur. In the future the SDK may create
3321// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3322// for more information on using Contexts.
3323func (c *Lambda) ListLayerVersionsPagesWithContext(ctx aws.Context, input *ListLayerVersionsInput, fn func(*ListLayerVersionsOutput, bool) bool, opts ...request.Option) error {
3324	p := request.Pagination{
3325		NewRequest: func() (*request.Request, error) {
3326			var inCpy *ListLayerVersionsInput
3327			if input != nil {
3328				tmp := *input
3329				inCpy = &tmp
3330			}
3331			req, _ := c.ListLayerVersionsRequest(inCpy)
3332			req.SetContext(ctx)
3333			req.ApplyOptions(opts...)
3334			return req, nil
3335		},
3336	}
3337
3338	for p.Next() {
3339		if !fn(p.Page().(*ListLayerVersionsOutput), !p.HasNextPage()) {
3340			break
3341		}
3342	}
3343
3344	return p.Err()
3345}
3346
3347const opListLayers = "ListLayers"
3348
3349// ListLayersRequest generates a "aws/request.Request" representing the
3350// client's request for the ListLayers operation. The "output" return
3351// value will be populated with the request's response once the request completes
3352// successfully.
3353//
3354// Use "Send" method on the returned Request to send the API call to the service.
3355// the "output" return value is not valid until after Send returns without error.
3356//
3357// See ListLayers for more information on using the ListLayers
3358// API call, and error handling.
3359//
3360// This method is useful when you want to inject custom logic or configuration
3361// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3362//
3363//
3364//    // Example sending a request using the ListLayersRequest method.
3365//    req, resp := client.ListLayersRequest(params)
3366//
3367//    err := req.Send()
3368//    if err == nil { // resp is now filled
3369//        fmt.Println(resp)
3370//    }
3371//
3372// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListLayers
3373func (c *Lambda) ListLayersRequest(input *ListLayersInput) (req *request.Request, output *ListLayersOutput) {
3374	op := &request.Operation{
3375		Name:       opListLayers,
3376		HTTPMethod: "GET",
3377		HTTPPath:   "/2018-10-31/layers",
3378		Paginator: &request.Paginator{
3379			InputTokens:     []string{"Marker"},
3380			OutputTokens:    []string{"NextMarker"},
3381			LimitToken:      "MaxItems",
3382			TruncationToken: "",
3383		},
3384	}
3385
3386	if input == nil {
3387		input = &ListLayersInput{}
3388	}
3389
3390	output = &ListLayersOutput{}
3391	req = c.newRequest(op, input, output)
3392	return
3393}
3394
3395// ListLayers API operation for AWS Lambda.
3396//
3397// Lists AWS Lambda layers (https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html)
3398// and shows information about the latest version of each. Specify a runtime
3399// identifier (https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html)
3400// to list only layers that indicate that they're compatible with that runtime.
3401//
3402// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3403// with awserr.Error's Code and Message methods to get detailed information about
3404// the error.
3405//
3406// See the AWS API reference guide for AWS Lambda's
3407// API operation ListLayers for usage and error information.
3408//
3409// Returned Error Types:
3410//   * ServiceException
3411//   The AWS Lambda service encountered an internal error.
3412//
3413//   * InvalidParameterValueException
3414//   One of the parameters in the request is invalid.
3415//
3416//   * TooManyRequestsException
3417//   The request throughput limit was exceeded.
3418//
3419// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListLayers
3420func (c *Lambda) ListLayers(input *ListLayersInput) (*ListLayersOutput, error) {
3421	req, out := c.ListLayersRequest(input)
3422	return out, req.Send()
3423}
3424
3425// ListLayersWithContext is the same as ListLayers with the addition of
3426// the ability to pass a context and additional request options.
3427//
3428// See ListLayers for details on how to use this API operation.
3429//
3430// The context must be non-nil and will be used for request cancellation. If
3431// the context is nil a panic will occur. In the future the SDK may create
3432// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3433// for more information on using Contexts.
3434func (c *Lambda) ListLayersWithContext(ctx aws.Context, input *ListLayersInput, opts ...request.Option) (*ListLayersOutput, error) {
3435	req, out := c.ListLayersRequest(input)
3436	req.SetContext(ctx)
3437	req.ApplyOptions(opts...)
3438	return out, req.Send()
3439}
3440
3441// ListLayersPages iterates over the pages of a ListLayers operation,
3442// calling the "fn" function with the response data for each page. To stop
3443// iterating, return false from the fn function.
3444//
3445// See ListLayers method for more information on how to use this operation.
3446//
3447// Note: This operation can generate multiple requests to a service.
3448//
3449//    // Example iterating over at most 3 pages of a ListLayers operation.
3450//    pageNum := 0
3451//    err := client.ListLayersPages(params,
3452//        func(page *lambda.ListLayersOutput, lastPage bool) bool {
3453//            pageNum++
3454//            fmt.Println(page)
3455//            return pageNum <= 3
3456//        })
3457//
3458func (c *Lambda) ListLayersPages(input *ListLayersInput, fn func(*ListLayersOutput, bool) bool) error {
3459	return c.ListLayersPagesWithContext(aws.BackgroundContext(), input, fn)
3460}
3461
3462// ListLayersPagesWithContext same as ListLayersPages except
3463// it takes a Context and allows setting request options on the pages.
3464//
3465// The context must be non-nil and will be used for request cancellation. If
3466// the context is nil a panic will occur. In the future the SDK may create
3467// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3468// for more information on using Contexts.
3469func (c *Lambda) ListLayersPagesWithContext(ctx aws.Context, input *ListLayersInput, fn func(*ListLayersOutput, bool) bool, opts ...request.Option) error {
3470	p := request.Pagination{
3471		NewRequest: func() (*request.Request, error) {
3472			var inCpy *ListLayersInput
3473			if input != nil {
3474				tmp := *input
3475				inCpy = &tmp
3476			}
3477			req, _ := c.ListLayersRequest(inCpy)
3478			req.SetContext(ctx)
3479			req.ApplyOptions(opts...)
3480			return req, nil
3481		},
3482	}
3483
3484	for p.Next() {
3485		if !fn(p.Page().(*ListLayersOutput), !p.HasNextPage()) {
3486			break
3487		}
3488	}
3489
3490	return p.Err()
3491}
3492
3493const opListProvisionedConcurrencyConfigs = "ListProvisionedConcurrencyConfigs"
3494
3495// ListProvisionedConcurrencyConfigsRequest generates a "aws/request.Request" representing the
3496// client's request for the ListProvisionedConcurrencyConfigs operation. The "output" return
3497// value will be populated with the request's response once the request completes
3498// successfully.
3499//
3500// Use "Send" method on the returned Request to send the API call to the service.
3501// the "output" return value is not valid until after Send returns without error.
3502//
3503// See ListProvisionedConcurrencyConfigs for more information on using the ListProvisionedConcurrencyConfigs
3504// API call, and error handling.
3505//
3506// This method is useful when you want to inject custom logic or configuration
3507// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3508//
3509//
3510//    // Example sending a request using the ListProvisionedConcurrencyConfigsRequest method.
3511//    req, resp := client.ListProvisionedConcurrencyConfigsRequest(params)
3512//
3513//    err := req.Send()
3514//    if err == nil { // resp is now filled
3515//        fmt.Println(resp)
3516//    }
3517//
3518// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListProvisionedConcurrencyConfigs
3519func (c *Lambda) ListProvisionedConcurrencyConfigsRequest(input *ListProvisionedConcurrencyConfigsInput) (req *request.Request, output *ListProvisionedConcurrencyConfigsOutput) {
3520	op := &request.Operation{
3521		Name:       opListProvisionedConcurrencyConfigs,
3522		HTTPMethod: "GET",
3523		HTTPPath:   "/2019-09-30/functions/{FunctionName}/provisioned-concurrency?List=ALL",
3524		Paginator: &request.Paginator{
3525			InputTokens:     []string{"Marker"},
3526			OutputTokens:    []string{"NextMarker"},
3527			LimitToken:      "MaxItems",
3528			TruncationToken: "",
3529		},
3530	}
3531
3532	if input == nil {
3533		input = &ListProvisionedConcurrencyConfigsInput{}
3534	}
3535
3536	output = &ListProvisionedConcurrencyConfigsOutput{}
3537	req = c.newRequest(op, input, output)
3538	return
3539}
3540
3541// ListProvisionedConcurrencyConfigs API operation for AWS Lambda.
3542//
3543// Retrieves a list of provisioned concurrency configurations for a function.
3544//
3545// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3546// with awserr.Error's Code and Message methods to get detailed information about
3547// the error.
3548//
3549// See the AWS API reference guide for AWS Lambda's
3550// API operation ListProvisionedConcurrencyConfigs for usage and error information.
3551//
3552// Returned Error Types:
3553//   * InvalidParameterValueException
3554//   One of the parameters in the request is invalid.
3555//
3556//   * ResourceNotFoundException
3557//   The resource specified in the request does not exist.
3558//
3559//   * TooManyRequestsException
3560//   The request throughput limit was exceeded.
3561//
3562//   * ServiceException
3563//   The AWS Lambda service encountered an internal error.
3564//
3565// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListProvisionedConcurrencyConfigs
3566func (c *Lambda) ListProvisionedConcurrencyConfigs(input *ListProvisionedConcurrencyConfigsInput) (*ListProvisionedConcurrencyConfigsOutput, error) {
3567	req, out := c.ListProvisionedConcurrencyConfigsRequest(input)
3568	return out, req.Send()
3569}
3570
3571// ListProvisionedConcurrencyConfigsWithContext is the same as ListProvisionedConcurrencyConfigs with the addition of
3572// the ability to pass a context and additional request options.
3573//
3574// See ListProvisionedConcurrencyConfigs for details on how to use this API operation.
3575//
3576// The context must be non-nil and will be used for request cancellation. If
3577// the context is nil a panic will occur. In the future the SDK may create
3578// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3579// for more information on using Contexts.
3580func (c *Lambda) ListProvisionedConcurrencyConfigsWithContext(ctx aws.Context, input *ListProvisionedConcurrencyConfigsInput, opts ...request.Option) (*ListProvisionedConcurrencyConfigsOutput, error) {
3581	req, out := c.ListProvisionedConcurrencyConfigsRequest(input)
3582	req.SetContext(ctx)
3583	req.ApplyOptions(opts...)
3584	return out, req.Send()
3585}
3586
3587// ListProvisionedConcurrencyConfigsPages iterates over the pages of a ListProvisionedConcurrencyConfigs operation,
3588// calling the "fn" function with the response data for each page. To stop
3589// iterating, return false from the fn function.
3590//
3591// See ListProvisionedConcurrencyConfigs method for more information on how to use this operation.
3592//
3593// Note: This operation can generate multiple requests to a service.
3594//
3595//    // Example iterating over at most 3 pages of a ListProvisionedConcurrencyConfigs operation.
3596//    pageNum := 0
3597//    err := client.ListProvisionedConcurrencyConfigsPages(params,
3598//        func(page *lambda.ListProvisionedConcurrencyConfigsOutput, lastPage bool) bool {
3599//            pageNum++
3600//            fmt.Println(page)
3601//            return pageNum <= 3
3602//        })
3603//
3604func (c *Lambda) ListProvisionedConcurrencyConfigsPages(input *ListProvisionedConcurrencyConfigsInput, fn func(*ListProvisionedConcurrencyConfigsOutput, bool) bool) error {
3605	return c.ListProvisionedConcurrencyConfigsPagesWithContext(aws.BackgroundContext(), input, fn)
3606}
3607
3608// ListProvisionedConcurrencyConfigsPagesWithContext same as ListProvisionedConcurrencyConfigsPages except
3609// it takes a Context and allows setting request options on the pages.
3610//
3611// The context must be non-nil and will be used for request cancellation. If
3612// the context is nil a panic will occur. In the future the SDK may create
3613// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3614// for more information on using Contexts.
3615func (c *Lambda) ListProvisionedConcurrencyConfigsPagesWithContext(ctx aws.Context, input *ListProvisionedConcurrencyConfigsInput, fn func(*ListProvisionedConcurrencyConfigsOutput, bool) bool, opts ...request.Option) error {
3616	p := request.Pagination{
3617		NewRequest: func() (*request.Request, error) {
3618			var inCpy *ListProvisionedConcurrencyConfigsInput
3619			if input != nil {
3620				tmp := *input
3621				inCpy = &tmp
3622			}
3623			req, _ := c.ListProvisionedConcurrencyConfigsRequest(inCpy)
3624			req.SetContext(ctx)
3625			req.ApplyOptions(opts...)
3626			return req, nil
3627		},
3628	}
3629
3630	for p.Next() {
3631		if !fn(p.Page().(*ListProvisionedConcurrencyConfigsOutput), !p.HasNextPage()) {
3632			break
3633		}
3634	}
3635
3636	return p.Err()
3637}
3638
3639const opListTags = "ListTags"
3640
3641// ListTagsRequest generates a "aws/request.Request" representing the
3642// client's request for the ListTags operation. The "output" return
3643// value will be populated with the request's response once the request completes
3644// successfully.
3645//
3646// Use "Send" method on the returned Request to send the API call to the service.
3647// the "output" return value is not valid until after Send returns without error.
3648//
3649// See ListTags for more information on using the ListTags
3650// API call, and error handling.
3651//
3652// This method is useful when you want to inject custom logic or configuration
3653// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3654//
3655//
3656//    // Example sending a request using the ListTagsRequest method.
3657//    req, resp := client.ListTagsRequest(params)
3658//
3659//    err := req.Send()
3660//    if err == nil { // resp is now filled
3661//        fmt.Println(resp)
3662//    }
3663//
3664// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListTags
3665func (c *Lambda) ListTagsRequest(input *ListTagsInput) (req *request.Request, output *ListTagsOutput) {
3666	op := &request.Operation{
3667		Name:       opListTags,
3668		HTTPMethod: "GET",
3669		HTTPPath:   "/2017-03-31/tags/{ARN}",
3670	}
3671
3672	if input == nil {
3673		input = &ListTagsInput{}
3674	}
3675
3676	output = &ListTagsOutput{}
3677	req = c.newRequest(op, input, output)
3678	return
3679}
3680
3681// ListTags API operation for AWS Lambda.
3682//
3683// Returns a function's tags (https://docs.aws.amazon.com/lambda/latest/dg/tagging.html).
3684// You can also view tags with GetFunction.
3685//
3686// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3687// with awserr.Error's Code and Message methods to get detailed information about
3688// the error.
3689//
3690// See the AWS API reference guide for AWS Lambda's
3691// API operation ListTags for usage and error information.
3692//
3693// Returned Error Types:
3694//   * ServiceException
3695//   The AWS Lambda service encountered an internal error.
3696//
3697//   * ResourceNotFoundException
3698//   The resource specified in the request does not exist.
3699//
3700//   * InvalidParameterValueException
3701//   One of the parameters in the request is invalid.
3702//
3703//   * TooManyRequestsException
3704//   The request throughput limit was exceeded.
3705//
3706// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListTags
3707func (c *Lambda) ListTags(input *ListTagsInput) (*ListTagsOutput, error) {
3708	req, out := c.ListTagsRequest(input)
3709	return out, req.Send()
3710}
3711
3712// ListTagsWithContext is the same as ListTags with the addition of
3713// the ability to pass a context and additional request options.
3714//
3715// See ListTags for details on how to use this API operation.
3716//
3717// The context must be non-nil and will be used for request cancellation. If
3718// the context is nil a panic will occur. In the future the SDK may create
3719// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3720// for more information on using Contexts.
3721func (c *Lambda) ListTagsWithContext(ctx aws.Context, input *ListTagsInput, opts ...request.Option) (*ListTagsOutput, error) {
3722	req, out := c.ListTagsRequest(input)
3723	req.SetContext(ctx)
3724	req.ApplyOptions(opts...)
3725	return out, req.Send()
3726}
3727
3728const opListVersionsByFunction = "ListVersionsByFunction"
3729
3730// ListVersionsByFunctionRequest generates a "aws/request.Request" representing the
3731// client's request for the ListVersionsByFunction operation. The "output" return
3732// value will be populated with the request's response once the request completes
3733// successfully.
3734//
3735// Use "Send" method on the returned Request to send the API call to the service.
3736// the "output" return value is not valid until after Send returns without error.
3737//
3738// See ListVersionsByFunction for more information on using the ListVersionsByFunction
3739// API call, and error handling.
3740//
3741// This method is useful when you want to inject custom logic or configuration
3742// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3743//
3744//
3745//    // Example sending a request using the ListVersionsByFunctionRequest method.
3746//    req, resp := client.ListVersionsByFunctionRequest(params)
3747//
3748//    err := req.Send()
3749//    if err == nil { // resp is now filled
3750//        fmt.Println(resp)
3751//    }
3752//
3753// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListVersionsByFunction
3754func (c *Lambda) ListVersionsByFunctionRequest(input *ListVersionsByFunctionInput) (req *request.Request, output *ListVersionsByFunctionOutput) {
3755	op := &request.Operation{
3756		Name:       opListVersionsByFunction,
3757		HTTPMethod: "GET",
3758		HTTPPath:   "/2015-03-31/functions/{FunctionName}/versions",
3759		Paginator: &request.Paginator{
3760			InputTokens:     []string{"Marker"},
3761			OutputTokens:    []string{"NextMarker"},
3762			LimitToken:      "MaxItems",
3763			TruncationToken: "",
3764		},
3765	}
3766
3767	if input == nil {
3768		input = &ListVersionsByFunctionInput{}
3769	}
3770
3771	output = &ListVersionsByFunctionOutput{}
3772	req = c.newRequest(op, input, output)
3773	return
3774}
3775
3776// ListVersionsByFunction API operation for AWS Lambda.
3777//
3778// Returns a list of versions (https://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html),
3779// with the version-specific configuration of each. Lambda returns up to 50
3780// versions per call.
3781//
3782// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3783// with awserr.Error's Code and Message methods to get detailed information about
3784// the error.
3785//
3786// See the AWS API reference guide for AWS Lambda's
3787// API operation ListVersionsByFunction for usage and error information.
3788//
3789// Returned Error Types:
3790//   * ServiceException
3791//   The AWS Lambda service encountered an internal error.
3792//
3793//   * ResourceNotFoundException
3794//   The resource specified in the request does not exist.
3795//
3796//   * InvalidParameterValueException
3797//   One of the parameters in the request is invalid.
3798//
3799//   * TooManyRequestsException
3800//   The request throughput limit was exceeded.
3801//
3802// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListVersionsByFunction
3803func (c *Lambda) ListVersionsByFunction(input *ListVersionsByFunctionInput) (*ListVersionsByFunctionOutput, error) {
3804	req, out := c.ListVersionsByFunctionRequest(input)
3805	return out, req.Send()
3806}
3807
3808// ListVersionsByFunctionWithContext is the same as ListVersionsByFunction with the addition of
3809// the ability to pass a context and additional request options.
3810//
3811// See ListVersionsByFunction for details on how to use this API operation.
3812//
3813// The context must be non-nil and will be used for request cancellation. If
3814// the context is nil a panic will occur. In the future the SDK may create
3815// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3816// for more information on using Contexts.
3817func (c *Lambda) ListVersionsByFunctionWithContext(ctx aws.Context, input *ListVersionsByFunctionInput, opts ...request.Option) (*ListVersionsByFunctionOutput, error) {
3818	req, out := c.ListVersionsByFunctionRequest(input)
3819	req.SetContext(ctx)
3820	req.ApplyOptions(opts...)
3821	return out, req.Send()
3822}
3823
3824// ListVersionsByFunctionPages iterates over the pages of a ListVersionsByFunction operation,
3825// calling the "fn" function with the response data for each page. To stop
3826// iterating, return false from the fn function.
3827//
3828// See ListVersionsByFunction method for more information on how to use this operation.
3829//
3830// Note: This operation can generate multiple requests to a service.
3831//
3832//    // Example iterating over at most 3 pages of a ListVersionsByFunction operation.
3833//    pageNum := 0
3834//    err := client.ListVersionsByFunctionPages(params,
3835//        func(page *lambda.ListVersionsByFunctionOutput, lastPage bool) bool {
3836//            pageNum++
3837//            fmt.Println(page)
3838//            return pageNum <= 3
3839//        })
3840//
3841func (c *Lambda) ListVersionsByFunctionPages(input *ListVersionsByFunctionInput, fn func(*ListVersionsByFunctionOutput, bool) bool) error {
3842	return c.ListVersionsByFunctionPagesWithContext(aws.BackgroundContext(), input, fn)
3843}
3844
3845// ListVersionsByFunctionPagesWithContext same as ListVersionsByFunctionPages except
3846// it takes a Context and allows setting request options on the pages.
3847//
3848// The context must be non-nil and will be used for request cancellation. If
3849// the context is nil a panic will occur. In the future the SDK may create
3850// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3851// for more information on using Contexts.
3852func (c *Lambda) ListVersionsByFunctionPagesWithContext(ctx aws.Context, input *ListVersionsByFunctionInput, fn func(*ListVersionsByFunctionOutput, bool) bool, opts ...request.Option) error {
3853	p := request.Pagination{
3854		NewRequest: func() (*request.Request, error) {
3855			var inCpy *ListVersionsByFunctionInput
3856			if input != nil {
3857				tmp := *input
3858				inCpy = &tmp
3859			}
3860			req, _ := c.ListVersionsByFunctionRequest(inCpy)
3861			req.SetContext(ctx)
3862			req.ApplyOptions(opts...)
3863			return req, nil
3864		},
3865	}
3866
3867	for p.Next() {
3868		if !fn(p.Page().(*ListVersionsByFunctionOutput), !p.HasNextPage()) {
3869			break
3870		}
3871	}
3872
3873	return p.Err()
3874}
3875
3876const opPublishLayerVersion = "PublishLayerVersion"
3877
3878// PublishLayerVersionRequest generates a "aws/request.Request" representing the
3879// client's request for the PublishLayerVersion operation. The "output" return
3880// value will be populated with the request's response once the request completes
3881// successfully.
3882//
3883// Use "Send" method on the returned Request to send the API call to the service.
3884// the "output" return value is not valid until after Send returns without error.
3885//
3886// See PublishLayerVersion for more information on using the PublishLayerVersion
3887// API call, and error handling.
3888//
3889// This method is useful when you want to inject custom logic or configuration
3890// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3891//
3892//
3893//    // Example sending a request using the PublishLayerVersionRequest method.
3894//    req, resp := client.PublishLayerVersionRequest(params)
3895//
3896//    err := req.Send()
3897//    if err == nil { // resp is now filled
3898//        fmt.Println(resp)
3899//    }
3900//
3901// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/PublishLayerVersion
3902func (c *Lambda) PublishLayerVersionRequest(input *PublishLayerVersionInput) (req *request.Request, output *PublishLayerVersionOutput) {
3903	op := &request.Operation{
3904		Name:       opPublishLayerVersion,
3905		HTTPMethod: "POST",
3906		HTTPPath:   "/2018-10-31/layers/{LayerName}/versions",
3907	}
3908
3909	if input == nil {
3910		input = &PublishLayerVersionInput{}
3911	}
3912
3913	output = &PublishLayerVersionOutput{}
3914	req = c.newRequest(op, input, output)
3915	return
3916}
3917
3918// PublishLayerVersion API operation for AWS Lambda.
3919//
3920// Creates an AWS Lambda layer (https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html)
3921// from a ZIP archive. Each time you call PublishLayerVersion with the same
3922// layer name, a new version is created.
3923//
3924// Add layers to your function with CreateFunction or UpdateFunctionConfiguration.
3925//
3926// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3927// with awserr.Error's Code and Message methods to get detailed information about
3928// the error.
3929//
3930// See the AWS API reference guide for AWS Lambda's
3931// API operation PublishLayerVersion for usage and error information.
3932//
3933// Returned Error Types:
3934//   * ServiceException
3935//   The AWS Lambda service encountered an internal error.
3936//
3937//   * ResourceNotFoundException
3938//   The resource specified in the request does not exist.
3939//
3940//   * TooManyRequestsException
3941//   The request throughput limit was exceeded.
3942//
3943//   * InvalidParameterValueException
3944//   One of the parameters in the request is invalid.
3945//
3946//   * CodeStorageExceededException
3947//   You have exceeded your maximum total code size per account. Learn more (https://docs.aws.amazon.com/lambda/latest/dg/limits.html)
3948//
3949// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/PublishLayerVersion
3950func (c *Lambda) PublishLayerVersion(input *PublishLayerVersionInput) (*PublishLayerVersionOutput, error) {
3951	req, out := c.PublishLayerVersionRequest(input)
3952	return out, req.Send()
3953}
3954
3955// PublishLayerVersionWithContext is the same as PublishLayerVersion with the addition of
3956// the ability to pass a context and additional request options.
3957//
3958// See PublishLayerVersion for details on how to use this API operation.
3959//
3960// The context must be non-nil and will be used for request cancellation. If
3961// the context is nil a panic will occur. In the future the SDK may create
3962// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3963// for more information on using Contexts.
3964func (c *Lambda) PublishLayerVersionWithContext(ctx aws.Context, input *PublishLayerVersionInput, opts ...request.Option) (*PublishLayerVersionOutput, error) {
3965	req, out := c.PublishLayerVersionRequest(input)
3966	req.SetContext(ctx)
3967	req.ApplyOptions(opts...)
3968	return out, req.Send()
3969}
3970
3971const opPublishVersion = "PublishVersion"
3972
3973// PublishVersionRequest generates a "aws/request.Request" representing the
3974// client's request for the PublishVersion operation. The "output" return
3975// value will be populated with the request's response once the request completes
3976// successfully.
3977//
3978// Use "Send" method on the returned Request to send the API call to the service.
3979// the "output" return value is not valid until after Send returns without error.
3980//
3981// See PublishVersion for more information on using the PublishVersion
3982// API call, and error handling.
3983//
3984// This method is useful when you want to inject custom logic or configuration
3985// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3986//
3987//
3988//    // Example sending a request using the PublishVersionRequest method.
3989//    req, resp := client.PublishVersionRequest(params)
3990//
3991//    err := req.Send()
3992//    if err == nil { // resp is now filled
3993//        fmt.Println(resp)
3994//    }
3995//
3996// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/PublishVersion
3997func (c *Lambda) PublishVersionRequest(input *PublishVersionInput) (req *request.Request, output *FunctionConfiguration) {
3998	op := &request.Operation{
3999		Name:       opPublishVersion,
4000		HTTPMethod: "POST",
4001		HTTPPath:   "/2015-03-31/functions/{FunctionName}/versions",
4002	}
4003
4004	if input == nil {
4005		input = &PublishVersionInput{}
4006	}
4007
4008	output = &FunctionConfiguration{}
4009	req = c.newRequest(op, input, output)
4010	return
4011}
4012
4013// PublishVersion API operation for AWS Lambda.
4014//
4015// Creates a version (https://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html)
4016// from the current code and configuration of a function. Use versions to create
4017// a snapshot of your function code and configuration that doesn't change.
4018//
4019// AWS Lambda doesn't publish a version if the function's configuration and
4020// code haven't changed since the last version. Use UpdateFunctionCode or UpdateFunctionConfiguration
4021// to update the function before publishing a version.
4022//
4023// Clients can invoke versions directly or with an alias. To create an alias,
4024// use CreateAlias.
4025//
4026// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4027// with awserr.Error's Code and Message methods to get detailed information about
4028// the error.
4029//
4030// See the AWS API reference guide for AWS Lambda's
4031// API operation PublishVersion for usage and error information.
4032//
4033// Returned Error Types:
4034//   * ServiceException
4035//   The AWS Lambda service encountered an internal error.
4036//
4037//   * ResourceNotFoundException
4038//   The resource specified in the request does not exist.
4039//
4040//   * InvalidParameterValueException
4041//   One of the parameters in the request is invalid.
4042//
4043//   * TooManyRequestsException
4044//   The request throughput limit was exceeded.
4045//
4046//   * CodeStorageExceededException
4047//   You have exceeded your maximum total code size per account. Learn more (https://docs.aws.amazon.com/lambda/latest/dg/limits.html)
4048//
4049//   * PreconditionFailedException
4050//   The RevisionId provided does not match the latest RevisionId for the Lambda
4051//   function or alias. Call the GetFunction or the GetAlias API to retrieve the
4052//   latest RevisionId for your resource.
4053//
4054//   * ResourceConflictException
4055//   The resource already exists, or another operation is in progress.
4056//
4057// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/PublishVersion
4058func (c *Lambda) PublishVersion(input *PublishVersionInput) (*FunctionConfiguration, error) {
4059	req, out := c.PublishVersionRequest(input)
4060	return out, req.Send()
4061}
4062
4063// PublishVersionWithContext is the same as PublishVersion with the addition of
4064// the ability to pass a context and additional request options.
4065//
4066// See PublishVersion for details on how to use this API operation.
4067//
4068// The context must be non-nil and will be used for request cancellation. If
4069// the context is nil a panic will occur. In the future the SDK may create
4070// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4071// for more information on using Contexts.
4072func (c *Lambda) PublishVersionWithContext(ctx aws.Context, input *PublishVersionInput, opts ...request.Option) (*FunctionConfiguration, error) {
4073	req, out := c.PublishVersionRequest(input)
4074	req.SetContext(ctx)
4075	req.ApplyOptions(opts...)
4076	return out, req.Send()
4077}
4078
4079const opPutFunctionConcurrency = "PutFunctionConcurrency"
4080
4081// PutFunctionConcurrencyRequest generates a "aws/request.Request" representing the
4082// client's request for the PutFunctionConcurrency operation. The "output" return
4083// value will be populated with the request's response once the request completes
4084// successfully.
4085//
4086// Use "Send" method on the returned Request to send the API call to the service.
4087// the "output" return value is not valid until after Send returns without error.
4088//
4089// See PutFunctionConcurrency for more information on using the PutFunctionConcurrency
4090// API call, and error handling.
4091//
4092// This method is useful when you want to inject custom logic or configuration
4093// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4094//
4095//
4096//    // Example sending a request using the PutFunctionConcurrencyRequest method.
4097//    req, resp := client.PutFunctionConcurrencyRequest(params)
4098//
4099//    err := req.Send()
4100//    if err == nil { // resp is now filled
4101//        fmt.Println(resp)
4102//    }
4103//
4104// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/PutFunctionConcurrency
4105func (c *Lambda) PutFunctionConcurrencyRequest(input *PutFunctionConcurrencyInput) (req *request.Request, output *PutFunctionConcurrencyOutput) {
4106	op := &request.Operation{
4107		Name:       opPutFunctionConcurrency,
4108		HTTPMethod: "PUT",
4109		HTTPPath:   "/2017-10-31/functions/{FunctionName}/concurrency",
4110	}
4111
4112	if input == nil {
4113		input = &PutFunctionConcurrencyInput{}
4114	}
4115
4116	output = &PutFunctionConcurrencyOutput{}
4117	req = c.newRequest(op, input, output)
4118	return
4119}
4120
4121// PutFunctionConcurrency API operation for AWS Lambda.
4122//
4123// Sets the maximum number of simultaneous executions for a function, and reserves
4124// capacity for that concurrency level.
4125//
4126// Concurrency settings apply to the function as a whole, including all published
4127// versions and the unpublished version. Reserving concurrency both ensures
4128// that your function has capacity to process the specified number of events
4129// simultaneously, and prevents it from scaling beyond that level. Use GetFunction
4130// to see the current setting for a function.
4131//
4132// Use GetAccountSettings to see your Regional concurrency limit. You can reserve
4133// concurrency for as many functions as you like, as long as you leave at least
4134// 100 simultaneous executions unreserved for functions that aren't configured
4135// with a per-function limit. For more information, see Managing Concurrency
4136// (https://docs.aws.amazon.com/lambda/latest/dg/concurrent-executions.html).
4137//
4138// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4139// with awserr.Error's Code and Message methods to get detailed information about
4140// the error.
4141//
4142// See the AWS API reference guide for AWS Lambda's
4143// API operation PutFunctionConcurrency for usage and error information.
4144//
4145// Returned Error Types:
4146//   * ServiceException
4147//   The AWS Lambda service encountered an internal error.
4148//
4149//   * InvalidParameterValueException
4150//   One of the parameters in the request is invalid.
4151//
4152//   * ResourceNotFoundException
4153//   The resource specified in the request does not exist.
4154//
4155//   * TooManyRequestsException
4156//   The request throughput limit was exceeded.
4157//
4158//   * ResourceConflictException
4159//   The resource already exists, or another operation is in progress.
4160//
4161// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/PutFunctionConcurrency
4162func (c *Lambda) PutFunctionConcurrency(input *PutFunctionConcurrencyInput) (*PutFunctionConcurrencyOutput, error) {
4163	req, out := c.PutFunctionConcurrencyRequest(input)
4164	return out, req.Send()
4165}
4166
4167// PutFunctionConcurrencyWithContext is the same as PutFunctionConcurrency with the addition of
4168// the ability to pass a context and additional request options.
4169//
4170// See PutFunctionConcurrency for details on how to use this API operation.
4171//
4172// The context must be non-nil and will be used for request cancellation. If
4173// the context is nil a panic will occur. In the future the SDK may create
4174// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4175// for more information on using Contexts.
4176func (c *Lambda) PutFunctionConcurrencyWithContext(ctx aws.Context, input *PutFunctionConcurrencyInput, opts ...request.Option) (*PutFunctionConcurrencyOutput, error) {
4177	req, out := c.PutFunctionConcurrencyRequest(input)
4178	req.SetContext(ctx)
4179	req.ApplyOptions(opts...)
4180	return out, req.Send()
4181}
4182
4183const opPutFunctionEventInvokeConfig = "PutFunctionEventInvokeConfig"
4184
4185// PutFunctionEventInvokeConfigRequest generates a "aws/request.Request" representing the
4186// client's request for the PutFunctionEventInvokeConfig operation. The "output" return
4187// value will be populated with the request's response once the request completes
4188// successfully.
4189//
4190// Use "Send" method on the returned Request to send the API call to the service.
4191// the "output" return value is not valid until after Send returns without error.
4192//
4193// See PutFunctionEventInvokeConfig for more information on using the PutFunctionEventInvokeConfig
4194// API call, and error handling.
4195//
4196// This method is useful when you want to inject custom logic or configuration
4197// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4198//
4199//
4200//    // Example sending a request using the PutFunctionEventInvokeConfigRequest method.
4201//    req, resp := client.PutFunctionEventInvokeConfigRequest(params)
4202//
4203//    err := req.Send()
4204//    if err == nil { // resp is now filled
4205//        fmt.Println(resp)
4206//    }
4207//
4208// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/PutFunctionEventInvokeConfig
4209func (c *Lambda) PutFunctionEventInvokeConfigRequest(input *PutFunctionEventInvokeConfigInput) (req *request.Request, output *PutFunctionEventInvokeConfigOutput) {
4210	op := &request.Operation{
4211		Name:       opPutFunctionEventInvokeConfig,
4212		HTTPMethod: "PUT",
4213		HTTPPath:   "/2019-09-25/functions/{FunctionName}/event-invoke-config",
4214	}
4215
4216	if input == nil {
4217		input = &PutFunctionEventInvokeConfigInput{}
4218	}
4219
4220	output = &PutFunctionEventInvokeConfigOutput{}
4221	req = c.newRequest(op, input, output)
4222	return
4223}
4224
4225// PutFunctionEventInvokeConfig API operation for AWS Lambda.
4226//
4227// Configures options for asynchronous invocation (https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html)
4228// on a function, version, or alias. If a configuration already exists for a
4229// function, version, or alias, this operation overwrites it. If you exclude
4230// any settings, they are removed. To set one option without affecting existing
4231// settings for other options, use UpdateFunctionEventInvokeConfig.
4232//
4233// By default, Lambda retries an asynchronous invocation twice if the function
4234// returns an error. It retains events in a queue for up to six hours. When
4235// an event fails all processing attempts or stays in the asynchronous invocation
4236// queue for too long, Lambda discards it. To retain discarded events, configure
4237// a dead-letter queue with UpdateFunctionConfiguration.
4238//
4239// To send an invocation record to a queue, topic, function, or event bus, specify
4240// a destination (https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#invocation-async-destinations).
4241// You can configure separate destinations for successful invocations (on-success)
4242// and events that fail all processing attempts (on-failure). You can configure
4243// destinations in addition to or instead of a dead-letter queue.
4244//
4245// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4246// with awserr.Error's Code and Message methods to get detailed information about
4247// the error.
4248//
4249// See the AWS API reference guide for AWS Lambda's
4250// API operation PutFunctionEventInvokeConfig for usage and error information.
4251//
4252// Returned Error Types:
4253//   * ServiceException
4254//   The AWS Lambda service encountered an internal error.
4255//
4256//   * ResourceNotFoundException
4257//   The resource specified in the request does not exist.
4258//
4259//   * InvalidParameterValueException
4260//   One of the parameters in the request is invalid.
4261//
4262//   * TooManyRequestsException
4263//   The request throughput limit was exceeded.
4264//
4265// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/PutFunctionEventInvokeConfig
4266func (c *Lambda) PutFunctionEventInvokeConfig(input *PutFunctionEventInvokeConfigInput) (*PutFunctionEventInvokeConfigOutput, error) {
4267	req, out := c.PutFunctionEventInvokeConfigRequest(input)
4268	return out, req.Send()
4269}
4270
4271// PutFunctionEventInvokeConfigWithContext is the same as PutFunctionEventInvokeConfig with the addition of
4272// the ability to pass a context and additional request options.
4273//
4274// See PutFunctionEventInvokeConfig for details on how to use this API operation.
4275//
4276// The context must be non-nil and will be used for request cancellation. If
4277// the context is nil a panic will occur. In the future the SDK may create
4278// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4279// for more information on using Contexts.
4280func (c *Lambda) PutFunctionEventInvokeConfigWithContext(ctx aws.Context, input *PutFunctionEventInvokeConfigInput, opts ...request.Option) (*PutFunctionEventInvokeConfigOutput, error) {
4281	req, out := c.PutFunctionEventInvokeConfigRequest(input)
4282	req.SetContext(ctx)
4283	req.ApplyOptions(opts...)
4284	return out, req.Send()
4285}
4286
4287const opPutProvisionedConcurrencyConfig = "PutProvisionedConcurrencyConfig"
4288
4289// PutProvisionedConcurrencyConfigRequest generates a "aws/request.Request" representing the
4290// client's request for the PutProvisionedConcurrencyConfig operation. The "output" return
4291// value will be populated with the request's response once the request completes
4292// successfully.
4293//
4294// Use "Send" method on the returned Request to send the API call to the service.
4295// the "output" return value is not valid until after Send returns without error.
4296//
4297// See PutProvisionedConcurrencyConfig for more information on using the PutProvisionedConcurrencyConfig
4298// API call, and error handling.
4299//
4300// This method is useful when you want to inject custom logic or configuration
4301// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4302//
4303//
4304//    // Example sending a request using the PutProvisionedConcurrencyConfigRequest method.
4305//    req, resp := client.PutProvisionedConcurrencyConfigRequest(params)
4306//
4307//    err := req.Send()
4308//    if err == nil { // resp is now filled
4309//        fmt.Println(resp)
4310//    }
4311//
4312// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/PutProvisionedConcurrencyConfig
4313func (c *Lambda) PutProvisionedConcurrencyConfigRequest(input *PutProvisionedConcurrencyConfigInput) (req *request.Request, output *PutProvisionedConcurrencyConfigOutput) {
4314	op := &request.Operation{
4315		Name:       opPutProvisionedConcurrencyConfig,
4316		HTTPMethod: "PUT",
4317		HTTPPath:   "/2019-09-30/functions/{FunctionName}/provisioned-concurrency",
4318	}
4319
4320	if input == nil {
4321		input = &PutProvisionedConcurrencyConfigInput{}
4322	}
4323
4324	output = &PutProvisionedConcurrencyConfigOutput{}
4325	req = c.newRequest(op, input, output)
4326	return
4327}
4328
4329// PutProvisionedConcurrencyConfig API operation for AWS Lambda.
4330//
4331// Adds a provisioned concurrency configuration to a function's alias or version.
4332//
4333// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4334// with awserr.Error's Code and Message methods to get detailed information about
4335// the error.
4336//
4337// See the AWS API reference guide for AWS Lambda's
4338// API operation PutProvisionedConcurrencyConfig for usage and error information.
4339//
4340// Returned Error Types:
4341//   * InvalidParameterValueException
4342//   One of the parameters in the request is invalid.
4343//
4344//   * ResourceNotFoundException
4345//   The resource specified in the request does not exist.
4346//
4347//   * ResourceConflictException
4348//   The resource already exists, or another operation is in progress.
4349//
4350//   * TooManyRequestsException
4351//   The request throughput limit was exceeded.
4352//
4353//   * ServiceException
4354//   The AWS Lambda service encountered an internal error.
4355//
4356// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/PutProvisionedConcurrencyConfig
4357func (c *Lambda) PutProvisionedConcurrencyConfig(input *PutProvisionedConcurrencyConfigInput) (*PutProvisionedConcurrencyConfigOutput, error) {
4358	req, out := c.PutProvisionedConcurrencyConfigRequest(input)
4359	return out, req.Send()
4360}
4361
4362// PutProvisionedConcurrencyConfigWithContext is the same as PutProvisionedConcurrencyConfig with the addition of
4363// the ability to pass a context and additional request options.
4364//
4365// See PutProvisionedConcurrencyConfig for details on how to use this API operation.
4366//
4367// The context must be non-nil and will be used for request cancellation. If
4368// the context is nil a panic will occur. In the future the SDK may create
4369// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4370// for more information on using Contexts.
4371func (c *Lambda) PutProvisionedConcurrencyConfigWithContext(ctx aws.Context, input *PutProvisionedConcurrencyConfigInput, opts ...request.Option) (*PutProvisionedConcurrencyConfigOutput, error) {
4372	req, out := c.PutProvisionedConcurrencyConfigRequest(input)
4373	req.SetContext(ctx)
4374	req.ApplyOptions(opts...)
4375	return out, req.Send()
4376}
4377
4378const opRemoveLayerVersionPermission = "RemoveLayerVersionPermission"
4379
4380// RemoveLayerVersionPermissionRequest generates a "aws/request.Request" representing the
4381// client's request for the RemoveLayerVersionPermission operation. The "output" return
4382// value will be populated with the request's response once the request completes
4383// successfully.
4384//
4385// Use "Send" method on the returned Request to send the API call to the service.
4386// the "output" return value is not valid until after Send returns without error.
4387//
4388// See RemoveLayerVersionPermission for more information on using the RemoveLayerVersionPermission
4389// API call, and error handling.
4390//
4391// This method is useful when you want to inject custom logic or configuration
4392// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4393//
4394//
4395//    // Example sending a request using the RemoveLayerVersionPermissionRequest method.
4396//    req, resp := client.RemoveLayerVersionPermissionRequest(params)
4397//
4398//    err := req.Send()
4399//    if err == nil { // resp is now filled
4400//        fmt.Println(resp)
4401//    }
4402//
4403// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/RemoveLayerVersionPermission
4404func (c *Lambda) RemoveLayerVersionPermissionRequest(input *RemoveLayerVersionPermissionInput) (req *request.Request, output *RemoveLayerVersionPermissionOutput) {
4405	op := &request.Operation{
4406		Name:       opRemoveLayerVersionPermission,
4407		HTTPMethod: "DELETE",
4408		HTTPPath:   "/2018-10-31/layers/{LayerName}/versions/{VersionNumber}/policy/{StatementId}",
4409	}
4410
4411	if input == nil {
4412		input = &RemoveLayerVersionPermissionInput{}
4413	}
4414
4415	output = &RemoveLayerVersionPermissionOutput{}
4416	req = c.newRequest(op, input, output)
4417	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4418	return
4419}
4420
4421// RemoveLayerVersionPermission API operation for AWS Lambda.
4422//
4423// Removes a statement from the permissions policy for a version of an AWS Lambda
4424// layer (https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html).
4425// For more information, see AddLayerVersionPermission.
4426//
4427// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4428// with awserr.Error's Code and Message methods to get detailed information about
4429// the error.
4430//
4431// See the AWS API reference guide for AWS Lambda's
4432// API operation RemoveLayerVersionPermission for usage and error information.
4433//
4434// Returned Error Types:
4435//   * ServiceException
4436//   The AWS Lambda service encountered an internal error.
4437//
4438//   * ResourceNotFoundException
4439//   The resource specified in the request does not exist.
4440//
4441//   * InvalidParameterValueException
4442//   One of the parameters in the request is invalid.
4443//
4444//   * TooManyRequestsException
4445//   The request throughput limit was exceeded.
4446//
4447//   * PreconditionFailedException
4448//   The RevisionId provided does not match the latest RevisionId for the Lambda
4449//   function or alias. Call the GetFunction or the GetAlias API to retrieve the
4450//   latest RevisionId for your resource.
4451//
4452// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/RemoveLayerVersionPermission
4453func (c *Lambda) RemoveLayerVersionPermission(input *RemoveLayerVersionPermissionInput) (*RemoveLayerVersionPermissionOutput, error) {
4454	req, out := c.RemoveLayerVersionPermissionRequest(input)
4455	return out, req.Send()
4456}
4457
4458// RemoveLayerVersionPermissionWithContext is the same as RemoveLayerVersionPermission with the addition of
4459// the ability to pass a context and additional request options.
4460//
4461// See RemoveLayerVersionPermission for details on how to use this API operation.
4462//
4463// The context must be non-nil and will be used for request cancellation. If
4464// the context is nil a panic will occur. In the future the SDK may create
4465// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4466// for more information on using Contexts.
4467func (c *Lambda) RemoveLayerVersionPermissionWithContext(ctx aws.Context, input *RemoveLayerVersionPermissionInput, opts ...request.Option) (*RemoveLayerVersionPermissionOutput, error) {
4468	req, out := c.RemoveLayerVersionPermissionRequest(input)
4469	req.SetContext(ctx)
4470	req.ApplyOptions(opts...)
4471	return out, req.Send()
4472}
4473
4474const opRemovePermission = "RemovePermission"
4475
4476// RemovePermissionRequest generates a "aws/request.Request" representing the
4477// client's request for the RemovePermission operation. The "output" return
4478// value will be populated with the request's response once the request completes
4479// successfully.
4480//
4481// Use "Send" method on the returned Request to send the API call to the service.
4482// the "output" return value is not valid until after Send returns without error.
4483//
4484// See RemovePermission for more information on using the RemovePermission
4485// API call, and error handling.
4486//
4487// This method is useful when you want to inject custom logic or configuration
4488// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4489//
4490//
4491//    // Example sending a request using the RemovePermissionRequest method.
4492//    req, resp := client.RemovePermissionRequest(params)
4493//
4494//    err := req.Send()
4495//    if err == nil { // resp is now filled
4496//        fmt.Println(resp)
4497//    }
4498//
4499// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/RemovePermission
4500func (c *Lambda) RemovePermissionRequest(input *RemovePermissionInput) (req *request.Request, output *RemovePermissionOutput) {
4501	op := &request.Operation{
4502		Name:       opRemovePermission,
4503		HTTPMethod: "DELETE",
4504		HTTPPath:   "/2015-03-31/functions/{FunctionName}/policy/{StatementId}",
4505	}
4506
4507	if input == nil {
4508		input = &RemovePermissionInput{}
4509	}
4510
4511	output = &RemovePermissionOutput{}
4512	req = c.newRequest(op, input, output)
4513	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4514	return
4515}
4516
4517// RemovePermission API operation for AWS Lambda.
4518//
4519// Revokes function-use permission from an AWS service or another account. You
4520// can get the ID of the statement from the output of GetPolicy.
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 AWS Lambda's
4527// API operation RemovePermission for usage and error information.
4528//
4529// Returned Error Types:
4530//   * ServiceException
4531//   The AWS Lambda service encountered an internal error.
4532//
4533//   * ResourceNotFoundException
4534//   The resource specified in the request does not exist.
4535//
4536//   * InvalidParameterValueException
4537//   One of the parameters in the request is invalid.
4538//
4539//   * TooManyRequestsException
4540//   The request throughput limit was exceeded.
4541//
4542//   * PreconditionFailedException
4543//   The RevisionId provided does not match the latest RevisionId for the Lambda
4544//   function or alias. Call the GetFunction or the GetAlias API to retrieve the
4545//   latest RevisionId for your resource.
4546//
4547// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/RemovePermission
4548func (c *Lambda) RemovePermission(input *RemovePermissionInput) (*RemovePermissionOutput, error) {
4549	req, out := c.RemovePermissionRequest(input)
4550	return out, req.Send()
4551}
4552
4553// RemovePermissionWithContext is the same as RemovePermission with the addition of
4554// the ability to pass a context and additional request options.
4555//
4556// See RemovePermission for details on how to use this API operation.
4557//
4558// The context must be non-nil and will be used for request cancellation. If
4559// the context is nil a panic will occur. In the future the SDK may create
4560// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4561// for more information on using Contexts.
4562func (c *Lambda) RemovePermissionWithContext(ctx aws.Context, input *RemovePermissionInput, opts ...request.Option) (*RemovePermissionOutput, error) {
4563	req, out := c.RemovePermissionRequest(input)
4564	req.SetContext(ctx)
4565	req.ApplyOptions(opts...)
4566	return out, req.Send()
4567}
4568
4569const opTagResource = "TagResource"
4570
4571// TagResourceRequest generates a "aws/request.Request" representing the
4572// client's request for the TagResource operation. The "output" return
4573// value will be populated with the request's response once the request completes
4574// successfully.
4575//
4576// Use "Send" method on the returned Request to send the API call to the service.
4577// the "output" return value is not valid until after Send returns without error.
4578//
4579// See TagResource for more information on using the TagResource
4580// API call, and error handling.
4581//
4582// This method is useful when you want to inject custom logic or configuration
4583// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4584//
4585//
4586//    // Example sending a request using the TagResourceRequest method.
4587//    req, resp := client.TagResourceRequest(params)
4588//
4589//    err := req.Send()
4590//    if err == nil { // resp is now filled
4591//        fmt.Println(resp)
4592//    }
4593//
4594// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/TagResource
4595func (c *Lambda) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
4596	op := &request.Operation{
4597		Name:       opTagResource,
4598		HTTPMethod: "POST",
4599		HTTPPath:   "/2017-03-31/tags/{ARN}",
4600	}
4601
4602	if input == nil {
4603		input = &TagResourceInput{}
4604	}
4605
4606	output = &TagResourceOutput{}
4607	req = c.newRequest(op, input, output)
4608	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4609	return
4610}
4611
4612// TagResource API operation for AWS Lambda.
4613//
4614// Adds tags (https://docs.aws.amazon.com/lambda/latest/dg/tagging.html) to
4615// a function.
4616//
4617// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4618// with awserr.Error's Code and Message methods to get detailed information about
4619// the error.
4620//
4621// See the AWS API reference guide for AWS Lambda's
4622// API operation TagResource for usage and error information.
4623//
4624// Returned Error Types:
4625//   * ServiceException
4626//   The AWS Lambda service encountered an internal error.
4627//
4628//   * ResourceNotFoundException
4629//   The resource specified in the request does not exist.
4630//
4631//   * InvalidParameterValueException
4632//   One of the parameters in the request is invalid.
4633//
4634//   * TooManyRequestsException
4635//   The request throughput limit was exceeded.
4636//
4637//   * ResourceConflictException
4638//   The resource already exists, or another operation is in progress.
4639//
4640// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/TagResource
4641func (c *Lambda) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
4642	req, out := c.TagResourceRequest(input)
4643	return out, req.Send()
4644}
4645
4646// TagResourceWithContext is the same as TagResource with the addition of
4647// the ability to pass a context and additional request options.
4648//
4649// See TagResource 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 *Lambda) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
4656	req, out := c.TagResourceRequest(input)
4657	req.SetContext(ctx)
4658	req.ApplyOptions(opts...)
4659	return out, req.Send()
4660}
4661
4662const opUntagResource = "UntagResource"
4663
4664// UntagResourceRequest generates a "aws/request.Request" representing the
4665// client's request for the UntagResource operation. The "output" return
4666// value will be populated with the request's response once the request completes
4667// successfully.
4668//
4669// Use "Send" method on the returned Request to send the API call to the service.
4670// the "output" return value is not valid until after Send returns without error.
4671//
4672// See UntagResource for more information on using the UntagResource
4673// API call, and error handling.
4674//
4675// This method is useful when you want to inject custom logic or configuration
4676// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4677//
4678//
4679//    // Example sending a request using the UntagResourceRequest method.
4680//    req, resp := client.UntagResourceRequest(params)
4681//
4682//    err := req.Send()
4683//    if err == nil { // resp is now filled
4684//        fmt.Println(resp)
4685//    }
4686//
4687// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/UntagResource
4688func (c *Lambda) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
4689	op := &request.Operation{
4690		Name:       opUntagResource,
4691		HTTPMethod: "DELETE",
4692		HTTPPath:   "/2017-03-31/tags/{ARN}",
4693	}
4694
4695	if input == nil {
4696		input = &UntagResourceInput{}
4697	}
4698
4699	output = &UntagResourceOutput{}
4700	req = c.newRequest(op, input, output)
4701	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4702	return
4703}
4704
4705// UntagResource API operation for AWS Lambda.
4706//
4707// Removes tags (https://docs.aws.amazon.com/lambda/latest/dg/tagging.html)
4708// from a function.
4709//
4710// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4711// with awserr.Error's Code and Message methods to get detailed information about
4712// the error.
4713//
4714// See the AWS API reference guide for AWS Lambda's
4715// API operation UntagResource for usage and error information.
4716//
4717// Returned Error Types:
4718//   * ServiceException
4719//   The AWS Lambda service encountered an internal error.
4720//
4721//   * ResourceNotFoundException
4722//   The resource specified in the request does not exist.
4723//
4724//   * InvalidParameterValueException
4725//   One of the parameters in the request is invalid.
4726//
4727//   * TooManyRequestsException
4728//   The request throughput limit was exceeded.
4729//
4730//   * ResourceConflictException
4731//   The resource already exists, or another operation is in progress.
4732//
4733// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/UntagResource
4734func (c *Lambda) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
4735	req, out := c.UntagResourceRequest(input)
4736	return out, req.Send()
4737}
4738
4739// UntagResourceWithContext is the same as UntagResource with the addition of
4740// the ability to pass a context and additional request options.
4741//
4742// See UntagResource for details on how to use this API operation.
4743//
4744// The context must be non-nil and will be used for request cancellation. If
4745// the context is nil a panic will occur. In the future the SDK may create
4746// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4747// for more information on using Contexts.
4748func (c *Lambda) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
4749	req, out := c.UntagResourceRequest(input)
4750	req.SetContext(ctx)
4751	req.ApplyOptions(opts...)
4752	return out, req.Send()
4753}
4754
4755const opUpdateAlias = "UpdateAlias"
4756
4757// UpdateAliasRequest generates a "aws/request.Request" representing the
4758// client's request for the UpdateAlias operation. The "output" return
4759// value will be populated with the request's response once the request completes
4760// successfully.
4761//
4762// Use "Send" method on the returned Request to send the API call to the service.
4763// the "output" return value is not valid until after Send returns without error.
4764//
4765// See UpdateAlias for more information on using the UpdateAlias
4766// API call, and error handling.
4767//
4768// This method is useful when you want to inject custom logic or configuration
4769// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4770//
4771//
4772//    // Example sending a request using the UpdateAliasRequest method.
4773//    req, resp := client.UpdateAliasRequest(params)
4774//
4775//    err := req.Send()
4776//    if err == nil { // resp is now filled
4777//        fmt.Println(resp)
4778//    }
4779//
4780// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/UpdateAlias
4781func (c *Lambda) UpdateAliasRequest(input *UpdateAliasInput) (req *request.Request, output *AliasConfiguration) {
4782	op := &request.Operation{
4783		Name:       opUpdateAlias,
4784		HTTPMethod: "PUT",
4785		HTTPPath:   "/2015-03-31/functions/{FunctionName}/aliases/{Name}",
4786	}
4787
4788	if input == nil {
4789		input = &UpdateAliasInput{}
4790	}
4791
4792	output = &AliasConfiguration{}
4793	req = c.newRequest(op, input, output)
4794	return
4795}
4796
4797// UpdateAlias API operation for AWS Lambda.
4798//
4799// Updates the configuration of a Lambda function alias (https://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html).
4800//
4801// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4802// with awserr.Error's Code and Message methods to get detailed information about
4803// the error.
4804//
4805// See the AWS API reference guide for AWS Lambda's
4806// API operation UpdateAlias for usage and error information.
4807//
4808// Returned Error Types:
4809//   * ServiceException
4810//   The AWS Lambda service encountered an internal error.
4811//
4812//   * ResourceNotFoundException
4813//   The resource specified in the request does not exist.
4814//
4815//   * InvalidParameterValueException
4816//   One of the parameters in the request is invalid.
4817//
4818//   * TooManyRequestsException
4819//   The request throughput limit was exceeded.
4820//
4821//   * PreconditionFailedException
4822//   The RevisionId provided does not match the latest RevisionId for the Lambda
4823//   function or alias. Call the GetFunction or the GetAlias API to retrieve the
4824//   latest RevisionId for your resource.
4825//
4826//   * ResourceConflictException
4827//   The resource already exists, or another operation is in progress.
4828//
4829// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/UpdateAlias
4830func (c *Lambda) UpdateAlias(input *UpdateAliasInput) (*AliasConfiguration, error) {
4831	req, out := c.UpdateAliasRequest(input)
4832	return out, req.Send()
4833}
4834
4835// UpdateAliasWithContext is the same as UpdateAlias with the addition of
4836// the ability to pass a context and additional request options.
4837//
4838// See UpdateAlias for details on how to use this API operation.
4839//
4840// The context must be non-nil and will be used for request cancellation. If
4841// the context is nil a panic will occur. In the future the SDK may create
4842// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4843// for more information on using Contexts.
4844func (c *Lambda) UpdateAliasWithContext(ctx aws.Context, input *UpdateAliasInput, opts ...request.Option) (*AliasConfiguration, error) {
4845	req, out := c.UpdateAliasRequest(input)
4846	req.SetContext(ctx)
4847	req.ApplyOptions(opts...)
4848	return out, req.Send()
4849}
4850
4851const opUpdateEventSourceMapping = "UpdateEventSourceMapping"
4852
4853// UpdateEventSourceMappingRequest generates a "aws/request.Request" representing the
4854// client's request for the UpdateEventSourceMapping operation. The "output" return
4855// value will be populated with the request's response once the request completes
4856// successfully.
4857//
4858// Use "Send" method on the returned Request to send the API call to the service.
4859// the "output" return value is not valid until after Send returns without error.
4860//
4861// See UpdateEventSourceMapping for more information on using the UpdateEventSourceMapping
4862// API call, and error handling.
4863//
4864// This method is useful when you want to inject custom logic or configuration
4865// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4866//
4867//
4868//    // Example sending a request using the UpdateEventSourceMappingRequest method.
4869//    req, resp := client.UpdateEventSourceMappingRequest(params)
4870//
4871//    err := req.Send()
4872//    if err == nil { // resp is now filled
4873//        fmt.Println(resp)
4874//    }
4875//
4876// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/UpdateEventSourceMapping
4877func (c *Lambda) UpdateEventSourceMappingRequest(input *UpdateEventSourceMappingInput) (req *request.Request, output *EventSourceMappingConfiguration) {
4878	op := &request.Operation{
4879		Name:       opUpdateEventSourceMapping,
4880		HTTPMethod: "PUT",
4881		HTTPPath:   "/2015-03-31/event-source-mappings/{UUID}",
4882	}
4883
4884	if input == nil {
4885		input = &UpdateEventSourceMappingInput{}
4886	}
4887
4888	output = &EventSourceMappingConfiguration{}
4889	req = c.newRequest(op, input, output)
4890	return
4891}
4892
4893// UpdateEventSourceMapping API operation for AWS Lambda.
4894//
4895// Updates an event source mapping. You can change the function that AWS Lambda
4896// invokes, or pause invocation and resume later from the same location.
4897//
4898// The following error handling options are only available for stream sources
4899// (DynamoDB and Kinesis):
4900//
4901//    * BisectBatchOnFunctionError - If the function returns an error, split
4902//    the batch in two and retry.
4903//
4904//    * DestinationConfig - Send discarded records to an Amazon SQS queue or
4905//    Amazon SNS topic.
4906//
4907//    * MaximumRecordAgeInSeconds - Discard records older than the specified
4908//    age. Default -1 (infinite). Minimum 60. Maximum 604800.
4909//
4910//    * MaximumRetryAttempts - Discard records after the specified number of
4911//    retries. Default -1 (infinite). Minimum 0. Maximum 10000. When infinite,
4912//    failed records will be retried until the record expires.
4913//
4914//    * ParallelizationFactor - Process multiple batches from each shard concurrently.
4915//
4916// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4917// with awserr.Error's Code and Message methods to get detailed information about
4918// the error.
4919//
4920// See the AWS API reference guide for AWS Lambda's
4921// API operation UpdateEventSourceMapping for usage and error information.
4922//
4923// Returned Error Types:
4924//   * ServiceException
4925//   The AWS Lambda service encountered an internal error.
4926//
4927//   * ResourceNotFoundException
4928//   The resource specified in the request does not exist.
4929//
4930//   * InvalidParameterValueException
4931//   One of the parameters in the request is invalid.
4932//
4933//   * TooManyRequestsException
4934//   The request throughput limit was exceeded.
4935//
4936//   * ResourceConflictException
4937//   The resource already exists, or another operation is in progress.
4938//
4939//   * ResourceInUseException
4940//   The operation conflicts with the resource's availability. For example, you
4941//   attempted to update an EventSource Mapping in CREATING, or tried to delete
4942//   a EventSource mapping currently in the UPDATING state.
4943//
4944// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/UpdateEventSourceMapping
4945func (c *Lambda) UpdateEventSourceMapping(input *UpdateEventSourceMappingInput) (*EventSourceMappingConfiguration, error) {
4946	req, out := c.UpdateEventSourceMappingRequest(input)
4947	return out, req.Send()
4948}
4949
4950// UpdateEventSourceMappingWithContext is the same as UpdateEventSourceMapping with the addition of
4951// the ability to pass a context and additional request options.
4952//
4953// See UpdateEventSourceMapping for details on how to use this API operation.
4954//
4955// The context must be non-nil and will be used for request cancellation. If
4956// the context is nil a panic will occur. In the future the SDK may create
4957// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4958// for more information on using Contexts.
4959func (c *Lambda) UpdateEventSourceMappingWithContext(ctx aws.Context, input *UpdateEventSourceMappingInput, opts ...request.Option) (*EventSourceMappingConfiguration, error) {
4960	req, out := c.UpdateEventSourceMappingRequest(input)
4961	req.SetContext(ctx)
4962	req.ApplyOptions(opts...)
4963	return out, req.Send()
4964}
4965
4966const opUpdateFunctionCode = "UpdateFunctionCode"
4967
4968// UpdateFunctionCodeRequest generates a "aws/request.Request" representing the
4969// client's request for the UpdateFunctionCode operation. The "output" return
4970// value will be populated with the request's response once the request completes
4971// successfully.
4972//
4973// Use "Send" method on the returned Request to send the API call to the service.
4974// the "output" return value is not valid until after Send returns without error.
4975//
4976// See UpdateFunctionCode for more information on using the UpdateFunctionCode
4977// API call, and error handling.
4978//
4979// This method is useful when you want to inject custom logic or configuration
4980// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4981//
4982//
4983//    // Example sending a request using the UpdateFunctionCodeRequest method.
4984//    req, resp := client.UpdateFunctionCodeRequest(params)
4985//
4986//    err := req.Send()
4987//    if err == nil { // resp is now filled
4988//        fmt.Println(resp)
4989//    }
4990//
4991// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/UpdateFunctionCode
4992func (c *Lambda) UpdateFunctionCodeRequest(input *UpdateFunctionCodeInput) (req *request.Request, output *FunctionConfiguration) {
4993	op := &request.Operation{
4994		Name:       opUpdateFunctionCode,
4995		HTTPMethod: "PUT",
4996		HTTPPath:   "/2015-03-31/functions/{FunctionName}/code",
4997	}
4998
4999	if input == nil {
5000		input = &UpdateFunctionCodeInput{}
5001	}
5002
5003	output = &FunctionConfiguration{}
5004	req = c.newRequest(op, input, output)
5005	return
5006}
5007
5008// UpdateFunctionCode API operation for AWS Lambda.
5009//
5010// Updates a Lambda function's code.
5011//
5012// The function's code is locked when you publish a version. You can't modify
5013// the code of a published version, only the unpublished version.
5014//
5015// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5016// with awserr.Error's Code and Message methods to get detailed information about
5017// the error.
5018//
5019// See the AWS API reference guide for AWS Lambda's
5020// API operation UpdateFunctionCode for usage and error information.
5021//
5022// Returned Error Types:
5023//   * ServiceException
5024//   The AWS Lambda service encountered an internal error.
5025//
5026//   * ResourceNotFoundException
5027//   The resource specified in the request does not exist.
5028//
5029//   * InvalidParameterValueException
5030//   One of the parameters in the request is invalid.
5031//
5032//   * TooManyRequestsException
5033//   The request throughput limit was exceeded.
5034//
5035//   * CodeStorageExceededException
5036//   You have exceeded your maximum total code size per account. Learn more (https://docs.aws.amazon.com/lambda/latest/dg/limits.html)
5037//
5038//   * PreconditionFailedException
5039//   The RevisionId provided does not match the latest RevisionId for the Lambda
5040//   function or alias. Call the GetFunction or the GetAlias API to retrieve the
5041//   latest RevisionId for your resource.
5042//
5043//   * ResourceConflictException
5044//   The resource already exists, or another operation is in progress.
5045//
5046// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/UpdateFunctionCode
5047func (c *Lambda) UpdateFunctionCode(input *UpdateFunctionCodeInput) (*FunctionConfiguration, error) {
5048	req, out := c.UpdateFunctionCodeRequest(input)
5049	return out, req.Send()
5050}
5051
5052// UpdateFunctionCodeWithContext is the same as UpdateFunctionCode with the addition of
5053// the ability to pass a context and additional request options.
5054//
5055// See UpdateFunctionCode for details on how to use this API operation.
5056//
5057// The context must be non-nil and will be used for request cancellation. If
5058// the context is nil a panic will occur. In the future the SDK may create
5059// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5060// for more information on using Contexts.
5061func (c *Lambda) UpdateFunctionCodeWithContext(ctx aws.Context, input *UpdateFunctionCodeInput, opts ...request.Option) (*FunctionConfiguration, error) {
5062	req, out := c.UpdateFunctionCodeRequest(input)
5063	req.SetContext(ctx)
5064	req.ApplyOptions(opts...)
5065	return out, req.Send()
5066}
5067
5068const opUpdateFunctionConfiguration = "UpdateFunctionConfiguration"
5069
5070// UpdateFunctionConfigurationRequest generates a "aws/request.Request" representing the
5071// client's request for the UpdateFunctionConfiguration operation. The "output" return
5072// value will be populated with the request's response once the request completes
5073// successfully.
5074//
5075// Use "Send" method on the returned Request to send the API call to the service.
5076// the "output" return value is not valid until after Send returns without error.
5077//
5078// See UpdateFunctionConfiguration for more information on using the UpdateFunctionConfiguration
5079// API call, and error handling.
5080//
5081// This method is useful when you want to inject custom logic or configuration
5082// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5083//
5084//
5085//    // Example sending a request using the UpdateFunctionConfigurationRequest method.
5086//    req, resp := client.UpdateFunctionConfigurationRequest(params)
5087//
5088//    err := req.Send()
5089//    if err == nil { // resp is now filled
5090//        fmt.Println(resp)
5091//    }
5092//
5093// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/UpdateFunctionConfiguration
5094func (c *Lambda) UpdateFunctionConfigurationRequest(input *UpdateFunctionConfigurationInput) (req *request.Request, output *FunctionConfiguration) {
5095	op := &request.Operation{
5096		Name:       opUpdateFunctionConfiguration,
5097		HTTPMethod: "PUT",
5098		HTTPPath:   "/2015-03-31/functions/{FunctionName}/configuration",
5099	}
5100
5101	if input == nil {
5102		input = &UpdateFunctionConfigurationInput{}
5103	}
5104
5105	output = &FunctionConfiguration{}
5106	req = c.newRequest(op, input, output)
5107	return
5108}
5109
5110// UpdateFunctionConfiguration API operation for AWS Lambda.
5111//
5112// Modify the version-specific settings of a Lambda function.
5113//
5114// When you update a function, Lambda provisions an instance of the function
5115// and its supporting resources. If your function connects to a VPC, this process
5116// can take a minute. During this time, you can't modify the function, but you
5117// can still invoke it. The LastUpdateStatus, LastUpdateStatusReason, and LastUpdateStatusReasonCode
5118// fields in the response from GetFunctionConfiguration indicate when the update
5119// is complete and the function is processing events with the new configuration.
5120// For more information, see Function States (https://docs.aws.amazon.com/lambda/latest/dg/functions-states.html).
5121//
5122// These settings can vary between versions of a function and are locked when
5123// you publish a version. You can't modify the configuration of a published
5124// version, only the unpublished version.
5125//
5126// To configure function concurrency, use PutFunctionConcurrency. To grant invoke
5127// permissions to an account or AWS service, use AddPermission.
5128//
5129// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5130// with awserr.Error's Code and Message methods to get detailed information about
5131// the error.
5132//
5133// See the AWS API reference guide for AWS Lambda's
5134// API operation UpdateFunctionConfiguration for usage and error information.
5135//
5136// Returned Error Types:
5137//   * ServiceException
5138//   The AWS Lambda service encountered an internal error.
5139//
5140//   * ResourceNotFoundException
5141//   The resource specified in the request does not exist.
5142//
5143//   * InvalidParameterValueException
5144//   One of the parameters in the request is invalid.
5145//
5146//   * TooManyRequestsException
5147//   The request throughput limit was exceeded.
5148//
5149//   * ResourceConflictException
5150//   The resource already exists, or another operation is in progress.
5151//
5152//   * PreconditionFailedException
5153//   The RevisionId provided does not match the latest RevisionId for the Lambda
5154//   function or alias. Call the GetFunction or the GetAlias API to retrieve the
5155//   latest RevisionId for your resource.
5156//
5157// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/UpdateFunctionConfiguration
5158func (c *Lambda) UpdateFunctionConfiguration(input *UpdateFunctionConfigurationInput) (*FunctionConfiguration, error) {
5159	req, out := c.UpdateFunctionConfigurationRequest(input)
5160	return out, req.Send()
5161}
5162
5163// UpdateFunctionConfigurationWithContext is the same as UpdateFunctionConfiguration with the addition of
5164// the ability to pass a context and additional request options.
5165//
5166// See UpdateFunctionConfiguration for details on how to use this API operation.
5167//
5168// The context must be non-nil and will be used for request cancellation. If
5169// the context is nil a panic will occur. In the future the SDK may create
5170// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5171// for more information on using Contexts.
5172func (c *Lambda) UpdateFunctionConfigurationWithContext(ctx aws.Context, input *UpdateFunctionConfigurationInput, opts ...request.Option) (*FunctionConfiguration, error) {
5173	req, out := c.UpdateFunctionConfigurationRequest(input)
5174	req.SetContext(ctx)
5175	req.ApplyOptions(opts...)
5176	return out, req.Send()
5177}
5178
5179const opUpdateFunctionEventInvokeConfig = "UpdateFunctionEventInvokeConfig"
5180
5181// UpdateFunctionEventInvokeConfigRequest generates a "aws/request.Request" representing the
5182// client's request for the UpdateFunctionEventInvokeConfig operation. The "output" return
5183// value will be populated with the request's response once the request completes
5184// successfully.
5185//
5186// Use "Send" method on the returned Request to send the API call to the service.
5187// the "output" return value is not valid until after Send returns without error.
5188//
5189// See UpdateFunctionEventInvokeConfig for more information on using the UpdateFunctionEventInvokeConfig
5190// API call, and error handling.
5191//
5192// This method is useful when you want to inject custom logic or configuration
5193// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5194//
5195//
5196//    // Example sending a request using the UpdateFunctionEventInvokeConfigRequest method.
5197//    req, resp := client.UpdateFunctionEventInvokeConfigRequest(params)
5198//
5199//    err := req.Send()
5200//    if err == nil { // resp is now filled
5201//        fmt.Println(resp)
5202//    }
5203//
5204// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/UpdateFunctionEventInvokeConfig
5205func (c *Lambda) UpdateFunctionEventInvokeConfigRequest(input *UpdateFunctionEventInvokeConfigInput) (req *request.Request, output *UpdateFunctionEventInvokeConfigOutput) {
5206	op := &request.Operation{
5207		Name:       opUpdateFunctionEventInvokeConfig,
5208		HTTPMethod: "POST",
5209		HTTPPath:   "/2019-09-25/functions/{FunctionName}/event-invoke-config",
5210	}
5211
5212	if input == nil {
5213		input = &UpdateFunctionEventInvokeConfigInput{}
5214	}
5215
5216	output = &UpdateFunctionEventInvokeConfigOutput{}
5217	req = c.newRequest(op, input, output)
5218	return
5219}
5220
5221// UpdateFunctionEventInvokeConfig API operation for AWS Lambda.
5222//
5223// Updates the configuration for asynchronous invocation for a function, version,
5224// or alias.
5225//
5226// To configure options for asynchronous invocation, use PutFunctionEventInvokeConfig.
5227//
5228// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5229// with awserr.Error's Code and Message methods to get detailed information about
5230// the error.
5231//
5232// See the AWS API reference guide for AWS Lambda's
5233// API operation UpdateFunctionEventInvokeConfig for usage and error information.
5234//
5235// Returned Error Types:
5236//   * ServiceException
5237//   The AWS Lambda service encountered an internal error.
5238//
5239//   * ResourceNotFoundException
5240//   The resource specified in the request does not exist.
5241//
5242//   * InvalidParameterValueException
5243//   One of the parameters in the request is invalid.
5244//
5245//   * TooManyRequestsException
5246//   The request throughput limit was exceeded.
5247//
5248// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/UpdateFunctionEventInvokeConfig
5249func (c *Lambda) UpdateFunctionEventInvokeConfig(input *UpdateFunctionEventInvokeConfigInput) (*UpdateFunctionEventInvokeConfigOutput, error) {
5250	req, out := c.UpdateFunctionEventInvokeConfigRequest(input)
5251	return out, req.Send()
5252}
5253
5254// UpdateFunctionEventInvokeConfigWithContext is the same as UpdateFunctionEventInvokeConfig with the addition of
5255// the ability to pass a context and additional request options.
5256//
5257// See UpdateFunctionEventInvokeConfig for details on how to use this API operation.
5258//
5259// The context must be non-nil and will be used for request cancellation. If
5260// the context is nil a panic will occur. In the future the SDK may create
5261// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5262// for more information on using Contexts.
5263func (c *Lambda) UpdateFunctionEventInvokeConfigWithContext(ctx aws.Context, input *UpdateFunctionEventInvokeConfigInput, opts ...request.Option) (*UpdateFunctionEventInvokeConfigOutput, error) {
5264	req, out := c.UpdateFunctionEventInvokeConfigRequest(input)
5265	req.SetContext(ctx)
5266	req.ApplyOptions(opts...)
5267	return out, req.Send()
5268}
5269
5270// Limits that are related to concurrency and storage. All file and storage
5271// sizes are in bytes.
5272type AccountLimit struct {
5273	_ struct{} `type:"structure"`
5274
5275	// The maximum size of a function's deployment package and layers when they're
5276	// extracted.
5277	CodeSizeUnzipped *int64 `type:"long"`
5278
5279	// The maximum size of a deployment package when it's uploaded directly to AWS
5280	// Lambda. Use Amazon S3 for larger files.
5281	CodeSizeZipped *int64 `type:"long"`
5282
5283	// The maximum number of simultaneous function executions.
5284	ConcurrentExecutions *int64 `type:"integer"`
5285
5286	// The amount of storage space that you can use for all deployment packages
5287	// and layer archives.
5288	TotalCodeSize *int64 `type:"long"`
5289
5290	// The maximum number of simultaneous function executions, minus the capacity
5291	// that's reserved for individual functions with PutFunctionConcurrency.
5292	UnreservedConcurrentExecutions *int64 `type:"integer"`
5293}
5294
5295// String returns the string representation
5296func (s AccountLimit) String() string {
5297	return awsutil.Prettify(s)
5298}
5299
5300// GoString returns the string representation
5301func (s AccountLimit) GoString() string {
5302	return s.String()
5303}
5304
5305// SetCodeSizeUnzipped sets the CodeSizeUnzipped field's value.
5306func (s *AccountLimit) SetCodeSizeUnzipped(v int64) *AccountLimit {
5307	s.CodeSizeUnzipped = &v
5308	return s
5309}
5310
5311// SetCodeSizeZipped sets the CodeSizeZipped field's value.
5312func (s *AccountLimit) SetCodeSizeZipped(v int64) *AccountLimit {
5313	s.CodeSizeZipped = &v
5314	return s
5315}
5316
5317// SetConcurrentExecutions sets the ConcurrentExecutions field's value.
5318func (s *AccountLimit) SetConcurrentExecutions(v int64) *AccountLimit {
5319	s.ConcurrentExecutions = &v
5320	return s
5321}
5322
5323// SetTotalCodeSize sets the TotalCodeSize field's value.
5324func (s *AccountLimit) SetTotalCodeSize(v int64) *AccountLimit {
5325	s.TotalCodeSize = &v
5326	return s
5327}
5328
5329// SetUnreservedConcurrentExecutions sets the UnreservedConcurrentExecutions field's value.
5330func (s *AccountLimit) SetUnreservedConcurrentExecutions(v int64) *AccountLimit {
5331	s.UnreservedConcurrentExecutions = &v
5332	return s
5333}
5334
5335// The number of functions and amount of storage in use.
5336type AccountUsage struct {
5337	_ struct{} `type:"structure"`
5338
5339	// The number of Lambda functions.
5340	FunctionCount *int64 `type:"long"`
5341
5342	// The amount of storage space, in bytes, that's being used by deployment packages
5343	// and layer archives.
5344	TotalCodeSize *int64 `type:"long"`
5345}
5346
5347// String returns the string representation
5348func (s AccountUsage) String() string {
5349	return awsutil.Prettify(s)
5350}
5351
5352// GoString returns the string representation
5353func (s AccountUsage) GoString() string {
5354	return s.String()
5355}
5356
5357// SetFunctionCount sets the FunctionCount field's value.
5358func (s *AccountUsage) SetFunctionCount(v int64) *AccountUsage {
5359	s.FunctionCount = &v
5360	return s
5361}
5362
5363// SetTotalCodeSize sets the TotalCodeSize field's value.
5364func (s *AccountUsage) SetTotalCodeSize(v int64) *AccountUsage {
5365	s.TotalCodeSize = &v
5366	return s
5367}
5368
5369type AddLayerVersionPermissionInput struct {
5370	_ struct{} `type:"structure"`
5371
5372	// The API action that grants access to the layer. For example, lambda:GetLayerVersion.
5373	//
5374	// Action is a required field
5375	Action *string `type:"string" required:"true"`
5376
5377	// The name or Amazon Resource Name (ARN) of the layer.
5378	//
5379	// LayerName is a required field
5380	LayerName *string `location:"uri" locationName:"LayerName" min:"1" type:"string" required:"true"`
5381
5382	// With the principal set to *, grant permission to all accounts in the specified
5383	// organization.
5384	OrganizationId *string `type:"string"`
5385
5386	// An account ID, or * to grant permission to all AWS accounts.
5387	//
5388	// Principal is a required field
5389	Principal *string `type:"string" required:"true"`
5390
5391	// Only update the policy if the revision ID matches the ID specified. Use this
5392	// option to avoid modifying a policy that has changed since you last read it.
5393	RevisionId *string `location:"querystring" locationName:"RevisionId" type:"string"`
5394
5395	// An identifier that distinguishes the policy from others on the same layer
5396	// version.
5397	//
5398	// StatementId is a required field
5399	StatementId *string `min:"1" type:"string" required:"true"`
5400
5401	// The version number.
5402	//
5403	// VersionNumber is a required field
5404	VersionNumber *int64 `location:"uri" locationName:"VersionNumber" type:"long" required:"true"`
5405}
5406
5407// String returns the string representation
5408func (s AddLayerVersionPermissionInput) String() string {
5409	return awsutil.Prettify(s)
5410}
5411
5412// GoString returns the string representation
5413func (s AddLayerVersionPermissionInput) GoString() string {
5414	return s.String()
5415}
5416
5417// Validate inspects the fields of the type to determine if they are valid.
5418func (s *AddLayerVersionPermissionInput) Validate() error {
5419	invalidParams := request.ErrInvalidParams{Context: "AddLayerVersionPermissionInput"}
5420	if s.Action == nil {
5421		invalidParams.Add(request.NewErrParamRequired("Action"))
5422	}
5423	if s.LayerName == nil {
5424		invalidParams.Add(request.NewErrParamRequired("LayerName"))
5425	}
5426	if s.LayerName != nil && len(*s.LayerName) < 1 {
5427		invalidParams.Add(request.NewErrParamMinLen("LayerName", 1))
5428	}
5429	if s.Principal == nil {
5430		invalidParams.Add(request.NewErrParamRequired("Principal"))
5431	}
5432	if s.StatementId == nil {
5433		invalidParams.Add(request.NewErrParamRequired("StatementId"))
5434	}
5435	if s.StatementId != nil && len(*s.StatementId) < 1 {
5436		invalidParams.Add(request.NewErrParamMinLen("StatementId", 1))
5437	}
5438	if s.VersionNumber == nil {
5439		invalidParams.Add(request.NewErrParamRequired("VersionNumber"))
5440	}
5441
5442	if invalidParams.Len() > 0 {
5443		return invalidParams
5444	}
5445	return nil
5446}
5447
5448// SetAction sets the Action field's value.
5449func (s *AddLayerVersionPermissionInput) SetAction(v string) *AddLayerVersionPermissionInput {
5450	s.Action = &v
5451	return s
5452}
5453
5454// SetLayerName sets the LayerName field's value.
5455func (s *AddLayerVersionPermissionInput) SetLayerName(v string) *AddLayerVersionPermissionInput {
5456	s.LayerName = &v
5457	return s
5458}
5459
5460// SetOrganizationId sets the OrganizationId field's value.
5461func (s *AddLayerVersionPermissionInput) SetOrganizationId(v string) *AddLayerVersionPermissionInput {
5462	s.OrganizationId = &v
5463	return s
5464}
5465
5466// SetPrincipal sets the Principal field's value.
5467func (s *AddLayerVersionPermissionInput) SetPrincipal(v string) *AddLayerVersionPermissionInput {
5468	s.Principal = &v
5469	return s
5470}
5471
5472// SetRevisionId sets the RevisionId field's value.
5473func (s *AddLayerVersionPermissionInput) SetRevisionId(v string) *AddLayerVersionPermissionInput {
5474	s.RevisionId = &v
5475	return s
5476}
5477
5478// SetStatementId sets the StatementId field's value.
5479func (s *AddLayerVersionPermissionInput) SetStatementId(v string) *AddLayerVersionPermissionInput {
5480	s.StatementId = &v
5481	return s
5482}
5483
5484// SetVersionNumber sets the VersionNumber field's value.
5485func (s *AddLayerVersionPermissionInput) SetVersionNumber(v int64) *AddLayerVersionPermissionInput {
5486	s.VersionNumber = &v
5487	return s
5488}
5489
5490type AddLayerVersionPermissionOutput struct {
5491	_ struct{} `type:"structure"`
5492
5493	// A unique identifier for the current revision of the policy.
5494	RevisionId *string `type:"string"`
5495
5496	// The permission statement.
5497	Statement *string `type:"string"`
5498}
5499
5500// String returns the string representation
5501func (s AddLayerVersionPermissionOutput) String() string {
5502	return awsutil.Prettify(s)
5503}
5504
5505// GoString returns the string representation
5506func (s AddLayerVersionPermissionOutput) GoString() string {
5507	return s.String()
5508}
5509
5510// SetRevisionId sets the RevisionId field's value.
5511func (s *AddLayerVersionPermissionOutput) SetRevisionId(v string) *AddLayerVersionPermissionOutput {
5512	s.RevisionId = &v
5513	return s
5514}
5515
5516// SetStatement sets the Statement field's value.
5517func (s *AddLayerVersionPermissionOutput) SetStatement(v string) *AddLayerVersionPermissionOutput {
5518	s.Statement = &v
5519	return s
5520}
5521
5522type AddPermissionInput struct {
5523	_ struct{} `type:"structure"`
5524
5525	// The action that the principal can use on the function. For example, lambda:InvokeFunction
5526	// or lambda:GetFunction.
5527	//
5528	// Action is a required field
5529	Action *string `type:"string" required:"true"`
5530
5531	// For Alexa Smart Home functions, a token that must be supplied by the invoker.
5532	EventSourceToken *string `type:"string"`
5533
5534	// The name of the Lambda function, version, or alias.
5535	//
5536	// Name formats
5537	//
5538	//    * Function name - my-function (name-only), my-function:v1 (with alias).
5539	//
5540	//    * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.
5541	//
5542	//    * Partial ARN - 123456789012:function:my-function.
5543	//
5544	// You can append a version number or alias to any of the formats. The length
5545	// constraint applies only to the full ARN. If you specify only the function
5546	// name, it is limited to 64 characters in length.
5547	//
5548	// FunctionName is a required field
5549	FunctionName *string `location:"uri" locationName:"FunctionName" min:"1" type:"string" required:"true"`
5550
5551	// The AWS service or account that invokes the function. If you specify a service,
5552	// use SourceArn or SourceAccount to limit who can invoke the function through
5553	// that service.
5554	//
5555	// Principal is a required field
5556	Principal *string `type:"string" required:"true"`
5557
5558	// Specify a version or alias to add permissions to a published version of the
5559	// function.
5560	Qualifier *string `location:"querystring" locationName:"Qualifier" min:"1" type:"string"`
5561
5562	// Only update the policy if the revision ID matches the ID that's specified.
5563	// Use this option to avoid modifying a policy that has changed since you last
5564	// read it.
5565	RevisionId *string `type:"string"`
5566
5567	// For Amazon S3, the ID of the account that owns the resource. Use this together
5568	// with SourceArn to ensure that the resource is owned by the specified account.
5569	// It is possible for an Amazon S3 bucket to be deleted by its owner and recreated
5570	// by another account.
5571	SourceAccount *string `type:"string"`
5572
5573	// For AWS services, the ARN of the AWS resource that invokes the function.
5574	// For example, an Amazon S3 bucket or Amazon SNS topic.
5575	SourceArn *string `type:"string"`
5576
5577	// A statement identifier that differentiates the statement from others in the
5578	// same policy.
5579	//
5580	// StatementId is a required field
5581	StatementId *string `min:"1" type:"string" required:"true"`
5582}
5583
5584// String returns the string representation
5585func (s AddPermissionInput) String() string {
5586	return awsutil.Prettify(s)
5587}
5588
5589// GoString returns the string representation
5590func (s AddPermissionInput) GoString() string {
5591	return s.String()
5592}
5593
5594// Validate inspects the fields of the type to determine if they are valid.
5595func (s *AddPermissionInput) Validate() error {
5596	invalidParams := request.ErrInvalidParams{Context: "AddPermissionInput"}
5597	if s.Action == nil {
5598		invalidParams.Add(request.NewErrParamRequired("Action"))
5599	}
5600	if s.FunctionName == nil {
5601		invalidParams.Add(request.NewErrParamRequired("FunctionName"))
5602	}
5603	if s.FunctionName != nil && len(*s.FunctionName) < 1 {
5604		invalidParams.Add(request.NewErrParamMinLen("FunctionName", 1))
5605	}
5606	if s.Principal == nil {
5607		invalidParams.Add(request.NewErrParamRequired("Principal"))
5608	}
5609	if s.Qualifier != nil && len(*s.Qualifier) < 1 {
5610		invalidParams.Add(request.NewErrParamMinLen("Qualifier", 1))
5611	}
5612	if s.StatementId == nil {
5613		invalidParams.Add(request.NewErrParamRequired("StatementId"))
5614	}
5615	if s.StatementId != nil && len(*s.StatementId) < 1 {
5616		invalidParams.Add(request.NewErrParamMinLen("StatementId", 1))
5617	}
5618
5619	if invalidParams.Len() > 0 {
5620		return invalidParams
5621	}
5622	return nil
5623}
5624
5625// SetAction sets the Action field's value.
5626func (s *AddPermissionInput) SetAction(v string) *AddPermissionInput {
5627	s.Action = &v
5628	return s
5629}
5630
5631// SetEventSourceToken sets the EventSourceToken field's value.
5632func (s *AddPermissionInput) SetEventSourceToken(v string) *AddPermissionInput {
5633	s.EventSourceToken = &v
5634	return s
5635}
5636
5637// SetFunctionName sets the FunctionName field's value.
5638func (s *AddPermissionInput) SetFunctionName(v string) *AddPermissionInput {
5639	s.FunctionName = &v
5640	return s
5641}
5642
5643// SetPrincipal sets the Principal field's value.
5644func (s *AddPermissionInput) SetPrincipal(v string) *AddPermissionInput {
5645	s.Principal = &v
5646	return s
5647}
5648
5649// SetQualifier sets the Qualifier field's value.
5650func (s *AddPermissionInput) SetQualifier(v string) *AddPermissionInput {
5651	s.Qualifier = &v
5652	return s
5653}
5654
5655// SetRevisionId sets the RevisionId field's value.
5656func (s *AddPermissionInput) SetRevisionId(v string) *AddPermissionInput {
5657	s.RevisionId = &v
5658	return s
5659}
5660
5661// SetSourceAccount sets the SourceAccount field's value.
5662func (s *AddPermissionInput) SetSourceAccount(v string) *AddPermissionInput {
5663	s.SourceAccount = &v
5664	return s
5665}
5666
5667// SetSourceArn sets the SourceArn field's value.
5668func (s *AddPermissionInput) SetSourceArn(v string) *AddPermissionInput {
5669	s.SourceArn = &v
5670	return s
5671}
5672
5673// SetStatementId sets the StatementId field's value.
5674func (s *AddPermissionInput) SetStatementId(v string) *AddPermissionInput {
5675	s.StatementId = &v
5676	return s
5677}
5678
5679type AddPermissionOutput struct {
5680	_ struct{} `type:"structure"`
5681
5682	// The permission statement that's added to the function policy.
5683	Statement *string `type:"string"`
5684}
5685
5686// String returns the string representation
5687func (s AddPermissionOutput) String() string {
5688	return awsutil.Prettify(s)
5689}
5690
5691// GoString returns the string representation
5692func (s AddPermissionOutput) GoString() string {
5693	return s.String()
5694}
5695
5696// SetStatement sets the Statement field's value.
5697func (s *AddPermissionOutput) SetStatement(v string) *AddPermissionOutput {
5698	s.Statement = &v
5699	return s
5700}
5701
5702// Provides configuration information about a Lambda function alias (https://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html).
5703type AliasConfiguration struct {
5704	_ struct{} `type:"structure"`
5705
5706	// The Amazon Resource Name (ARN) of the alias.
5707	AliasArn *string `type:"string"`
5708
5709	// A description of the alias.
5710	Description *string `type:"string"`
5711
5712	// The function version that the alias invokes.
5713	FunctionVersion *string `min:"1" type:"string"`
5714
5715	// The name of the alias.
5716	Name *string `min:"1" type:"string"`
5717
5718	// A unique identifier that changes when you update the alias.
5719	RevisionId *string `type:"string"`
5720
5721	// The routing configuration (https://docs.aws.amazon.com/lambda/latest/dg/lambda-traffic-shifting-using-aliases.html)
5722	// of the alias.
5723	RoutingConfig *AliasRoutingConfiguration `type:"structure"`
5724}
5725
5726// String returns the string representation
5727func (s AliasConfiguration) String() string {
5728	return awsutil.Prettify(s)
5729}
5730
5731// GoString returns the string representation
5732func (s AliasConfiguration) GoString() string {
5733	return s.String()
5734}
5735
5736// SetAliasArn sets the AliasArn field's value.
5737func (s *AliasConfiguration) SetAliasArn(v string) *AliasConfiguration {
5738	s.AliasArn = &v
5739	return s
5740}
5741
5742// SetDescription sets the Description field's value.
5743func (s *AliasConfiguration) SetDescription(v string) *AliasConfiguration {
5744	s.Description = &v
5745	return s
5746}
5747
5748// SetFunctionVersion sets the FunctionVersion field's value.
5749func (s *AliasConfiguration) SetFunctionVersion(v string) *AliasConfiguration {
5750	s.FunctionVersion = &v
5751	return s
5752}
5753
5754// SetName sets the Name field's value.
5755func (s *AliasConfiguration) SetName(v string) *AliasConfiguration {
5756	s.Name = &v
5757	return s
5758}
5759
5760// SetRevisionId sets the RevisionId field's value.
5761func (s *AliasConfiguration) SetRevisionId(v string) *AliasConfiguration {
5762	s.RevisionId = &v
5763	return s
5764}
5765
5766// SetRoutingConfig sets the RoutingConfig field's value.
5767func (s *AliasConfiguration) SetRoutingConfig(v *AliasRoutingConfiguration) *AliasConfiguration {
5768	s.RoutingConfig = v
5769	return s
5770}
5771
5772// The traffic-shifting (https://docs.aws.amazon.com/lambda/latest/dg/lambda-traffic-shifting-using-aliases.html)
5773// configuration of a Lambda function alias.
5774type AliasRoutingConfiguration struct {
5775	_ struct{} `type:"structure"`
5776
5777	// The second version, and the percentage of traffic that's routed to it.
5778	AdditionalVersionWeights map[string]*float64 `type:"map"`
5779}
5780
5781// String returns the string representation
5782func (s AliasRoutingConfiguration) String() string {
5783	return awsutil.Prettify(s)
5784}
5785
5786// GoString returns the string representation
5787func (s AliasRoutingConfiguration) GoString() string {
5788	return s.String()
5789}
5790
5791// SetAdditionalVersionWeights sets the AdditionalVersionWeights field's value.
5792func (s *AliasRoutingConfiguration) SetAdditionalVersionWeights(v map[string]*float64) *AliasRoutingConfiguration {
5793	s.AdditionalVersionWeights = v
5794	return s
5795}
5796
5797// You have exceeded your maximum total code size per account. Learn more (https://docs.aws.amazon.com/lambda/latest/dg/limits.html)
5798type CodeStorageExceededException struct {
5799	_            struct{}                  `type:"structure"`
5800	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
5801
5802	Message_ *string `locationName:"message" type:"string"`
5803
5804	// The exception type.
5805	Type *string `type:"string"`
5806}
5807
5808// String returns the string representation
5809func (s CodeStorageExceededException) String() string {
5810	return awsutil.Prettify(s)
5811}
5812
5813// GoString returns the string representation
5814func (s CodeStorageExceededException) GoString() string {
5815	return s.String()
5816}
5817
5818func newErrorCodeStorageExceededException(v protocol.ResponseMetadata) error {
5819	return &CodeStorageExceededException{
5820		RespMetadata: v,
5821	}
5822}
5823
5824// Code returns the exception type name.
5825func (s *CodeStorageExceededException) Code() string {
5826	return "CodeStorageExceededException"
5827}
5828
5829// Message returns the exception's message.
5830func (s *CodeStorageExceededException) Message() string {
5831	if s.Message_ != nil {
5832		return *s.Message_
5833	}
5834	return ""
5835}
5836
5837// OrigErr always returns nil, satisfies awserr.Error interface.
5838func (s *CodeStorageExceededException) OrigErr() error {
5839	return nil
5840}
5841
5842func (s *CodeStorageExceededException) Error() string {
5843	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
5844}
5845
5846// Status code returns the HTTP status code for the request's response error.
5847func (s *CodeStorageExceededException) StatusCode() int {
5848	return s.RespMetadata.StatusCode
5849}
5850
5851// RequestID returns the service's response RequestID for request.
5852func (s *CodeStorageExceededException) RequestID() string {
5853	return s.RespMetadata.RequestID
5854}
5855
5856type CreateAliasInput struct {
5857	_ struct{} `type:"structure"`
5858
5859	// A description of the alias.
5860	Description *string `type:"string"`
5861
5862	// The name of the Lambda function.
5863	//
5864	// Name formats
5865	//
5866	//    * Function name - MyFunction.
5867	//
5868	//    * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.
5869	//
5870	//    * Partial ARN - 123456789012:function:MyFunction.
5871	//
5872	// The length constraint applies only to the full ARN. If you specify only the
5873	// function name, it is limited to 64 characters in length.
5874	//
5875	// FunctionName is a required field
5876	FunctionName *string `location:"uri" locationName:"FunctionName" min:"1" type:"string" required:"true"`
5877
5878	// The function version that the alias invokes.
5879	//
5880	// FunctionVersion is a required field
5881	FunctionVersion *string `min:"1" type:"string" required:"true"`
5882
5883	// The name of the alias.
5884	//
5885	// Name is a required field
5886	Name *string `min:"1" type:"string" required:"true"`
5887
5888	// The routing configuration (https://docs.aws.amazon.com/lambda/latest/dg/configuration-aliases.html#configuring-alias-routing)
5889	// of the alias.
5890	RoutingConfig *AliasRoutingConfiguration `type:"structure"`
5891}
5892
5893// String returns the string representation
5894func (s CreateAliasInput) String() string {
5895	return awsutil.Prettify(s)
5896}
5897
5898// GoString returns the string representation
5899func (s CreateAliasInput) GoString() string {
5900	return s.String()
5901}
5902
5903// Validate inspects the fields of the type to determine if they are valid.
5904func (s *CreateAliasInput) Validate() error {
5905	invalidParams := request.ErrInvalidParams{Context: "CreateAliasInput"}
5906	if s.FunctionName == nil {
5907		invalidParams.Add(request.NewErrParamRequired("FunctionName"))
5908	}
5909	if s.FunctionName != nil && len(*s.FunctionName) < 1 {
5910		invalidParams.Add(request.NewErrParamMinLen("FunctionName", 1))
5911	}
5912	if s.FunctionVersion == nil {
5913		invalidParams.Add(request.NewErrParamRequired("FunctionVersion"))
5914	}
5915	if s.FunctionVersion != nil && len(*s.FunctionVersion) < 1 {
5916		invalidParams.Add(request.NewErrParamMinLen("FunctionVersion", 1))
5917	}
5918	if s.Name == nil {
5919		invalidParams.Add(request.NewErrParamRequired("Name"))
5920	}
5921	if s.Name != nil && len(*s.Name) < 1 {
5922		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
5923	}
5924
5925	if invalidParams.Len() > 0 {
5926		return invalidParams
5927	}
5928	return nil
5929}
5930
5931// SetDescription sets the Description field's value.
5932func (s *CreateAliasInput) SetDescription(v string) *CreateAliasInput {
5933	s.Description = &v
5934	return s
5935}
5936
5937// SetFunctionName sets the FunctionName field's value.
5938func (s *CreateAliasInput) SetFunctionName(v string) *CreateAliasInput {
5939	s.FunctionName = &v
5940	return s
5941}
5942
5943// SetFunctionVersion sets the FunctionVersion field's value.
5944func (s *CreateAliasInput) SetFunctionVersion(v string) *CreateAliasInput {
5945	s.FunctionVersion = &v
5946	return s
5947}
5948
5949// SetName sets the Name field's value.
5950func (s *CreateAliasInput) SetName(v string) *CreateAliasInput {
5951	s.Name = &v
5952	return s
5953}
5954
5955// SetRoutingConfig sets the RoutingConfig field's value.
5956func (s *CreateAliasInput) SetRoutingConfig(v *AliasRoutingConfiguration) *CreateAliasInput {
5957	s.RoutingConfig = v
5958	return s
5959}
5960
5961type CreateEventSourceMappingInput struct {
5962	_ struct{} `type:"structure"`
5963
5964	// The maximum number of items to retrieve in a single batch.
5965	//
5966	//    * Amazon Kinesis - Default 100. Max 10,000.
5967	//
5968	//    * Amazon DynamoDB Streams - Default 100. Max 1,000.
5969	//
5970	//    * Amazon Simple Queue Service - Default 10. Max 10.
5971	//
5972	//    * Amazon Managed Streaming for Apache Kafka - Default 100. Max 10,000.
5973	BatchSize *int64 `min:"1" type:"integer"`
5974
5975	// (Streams) If the function returns an error, split the batch in two and retry.
5976	BisectBatchOnFunctionError *bool `type:"boolean"`
5977
5978	// (Streams) An Amazon SQS queue or Amazon SNS topic destination for discarded
5979	// records.
5980	DestinationConfig *DestinationConfig `type:"structure"`
5981
5982	// If true, the event source mapping is active. Set to false to pause polling
5983	// and invocation.
5984	Enabled *bool `type:"boolean"`
5985
5986	// The Amazon Resource Name (ARN) of the event source.
5987	//
5988	//    * Amazon Kinesis - The ARN of the data stream or a stream consumer.
5989	//
5990	//    * Amazon DynamoDB Streams - The ARN of the stream.
5991	//
5992	//    * Amazon Simple Queue Service - The ARN of the queue.
5993	//
5994	//    * Amazon Managed Streaming for Apache Kafka - The ARN of the cluster.
5995	//
5996	// EventSourceArn is a required field
5997	EventSourceArn *string `type:"string" required:"true"`
5998
5999	// The name of the Lambda function.
6000	//
6001	// Name formats
6002	//
6003	//    * Function name - MyFunction.
6004	//
6005	//    * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.
6006	//
6007	//    * Version or Alias ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction:PROD.
6008	//
6009	//    * Partial ARN - 123456789012:function:MyFunction.
6010	//
6011	// The length constraint applies only to the full ARN. If you specify only the
6012	// function name, it's limited to 64 characters in length.
6013	//
6014	// FunctionName is a required field
6015	FunctionName *string `min:"1" type:"string" required:"true"`
6016
6017	// (Streams) The maximum amount of time to gather records before invoking the
6018	// function, in seconds.
6019	MaximumBatchingWindowInSeconds *int64 `type:"integer"`
6020
6021	// (Streams) Discard records older than the specified age. The default value
6022	// is infinite (-1).
6023	MaximumRecordAgeInSeconds *int64 `type:"integer"`
6024
6025	// (Streams) Discard records after the specified number of retries. The default
6026	// value is infinite (-1). When set to infinite (-1), failed records will be
6027	// retried until the record expires.
6028	MaximumRetryAttempts *int64 `type:"integer"`
6029
6030	// (Streams) The number of batches to process from each shard concurrently.
6031	ParallelizationFactor *int64 `min:"1" type:"integer"`
6032
6033	// The position in a stream from which to start reading. Required for Amazon
6034	// Kinesis, Amazon DynamoDB, and Amazon MSK Streams sources. AT_TIMESTAMP is
6035	// only supported for Amazon Kinesis streams.
6036	StartingPosition *string `type:"string" enum:"EventSourcePosition"`
6037
6038	// With StartingPosition set to AT_TIMESTAMP, the time from which to start reading.
6039	StartingPositionTimestamp *time.Time `type:"timestamp"`
6040
6041	// (MSK) The name of the Kafka topic.
6042	Topics []*string `min:"1" type:"list"`
6043}
6044
6045// String returns the string representation
6046func (s CreateEventSourceMappingInput) String() string {
6047	return awsutil.Prettify(s)
6048}
6049
6050// GoString returns the string representation
6051func (s CreateEventSourceMappingInput) GoString() string {
6052	return s.String()
6053}
6054
6055// Validate inspects the fields of the type to determine if they are valid.
6056func (s *CreateEventSourceMappingInput) Validate() error {
6057	invalidParams := request.ErrInvalidParams{Context: "CreateEventSourceMappingInput"}
6058	if s.BatchSize != nil && *s.BatchSize < 1 {
6059		invalidParams.Add(request.NewErrParamMinValue("BatchSize", 1))
6060	}
6061	if s.EventSourceArn == nil {
6062		invalidParams.Add(request.NewErrParamRequired("EventSourceArn"))
6063	}
6064	if s.FunctionName == nil {
6065		invalidParams.Add(request.NewErrParamRequired("FunctionName"))
6066	}
6067	if s.FunctionName != nil && len(*s.FunctionName) < 1 {
6068		invalidParams.Add(request.NewErrParamMinLen("FunctionName", 1))
6069	}
6070	if s.MaximumRecordAgeInSeconds != nil && *s.MaximumRecordAgeInSeconds < -1 {
6071		invalidParams.Add(request.NewErrParamMinValue("MaximumRecordAgeInSeconds", -1))
6072	}
6073	if s.MaximumRetryAttempts != nil && *s.MaximumRetryAttempts < -1 {
6074		invalidParams.Add(request.NewErrParamMinValue("MaximumRetryAttempts", -1))
6075	}
6076	if s.ParallelizationFactor != nil && *s.ParallelizationFactor < 1 {
6077		invalidParams.Add(request.NewErrParamMinValue("ParallelizationFactor", 1))
6078	}
6079	if s.Topics != nil && len(s.Topics) < 1 {
6080		invalidParams.Add(request.NewErrParamMinLen("Topics", 1))
6081	}
6082
6083	if invalidParams.Len() > 0 {
6084		return invalidParams
6085	}
6086	return nil
6087}
6088
6089// SetBatchSize sets the BatchSize field's value.
6090func (s *CreateEventSourceMappingInput) SetBatchSize(v int64) *CreateEventSourceMappingInput {
6091	s.BatchSize = &v
6092	return s
6093}
6094
6095// SetBisectBatchOnFunctionError sets the BisectBatchOnFunctionError field's value.
6096func (s *CreateEventSourceMappingInput) SetBisectBatchOnFunctionError(v bool) *CreateEventSourceMappingInput {
6097	s.BisectBatchOnFunctionError = &v
6098	return s
6099}
6100
6101// SetDestinationConfig sets the DestinationConfig field's value.
6102func (s *CreateEventSourceMappingInput) SetDestinationConfig(v *DestinationConfig) *CreateEventSourceMappingInput {
6103	s.DestinationConfig = v
6104	return s
6105}
6106
6107// SetEnabled sets the Enabled field's value.
6108func (s *CreateEventSourceMappingInput) SetEnabled(v bool) *CreateEventSourceMappingInput {
6109	s.Enabled = &v
6110	return s
6111}
6112
6113// SetEventSourceArn sets the EventSourceArn field's value.
6114func (s *CreateEventSourceMappingInput) SetEventSourceArn(v string) *CreateEventSourceMappingInput {
6115	s.EventSourceArn = &v
6116	return s
6117}
6118
6119// SetFunctionName sets the FunctionName field's value.
6120func (s *CreateEventSourceMappingInput) SetFunctionName(v string) *CreateEventSourceMappingInput {
6121	s.FunctionName = &v
6122	return s
6123}
6124
6125// SetMaximumBatchingWindowInSeconds sets the MaximumBatchingWindowInSeconds field's value.
6126func (s *CreateEventSourceMappingInput) SetMaximumBatchingWindowInSeconds(v int64) *CreateEventSourceMappingInput {
6127	s.MaximumBatchingWindowInSeconds = &v
6128	return s
6129}
6130
6131// SetMaximumRecordAgeInSeconds sets the MaximumRecordAgeInSeconds field's value.
6132func (s *CreateEventSourceMappingInput) SetMaximumRecordAgeInSeconds(v int64) *CreateEventSourceMappingInput {
6133	s.MaximumRecordAgeInSeconds = &v
6134	return s
6135}
6136
6137// SetMaximumRetryAttempts sets the MaximumRetryAttempts field's value.
6138func (s *CreateEventSourceMappingInput) SetMaximumRetryAttempts(v int64) *CreateEventSourceMappingInput {
6139	s.MaximumRetryAttempts = &v
6140	return s
6141}
6142
6143// SetParallelizationFactor sets the ParallelizationFactor field's value.
6144func (s *CreateEventSourceMappingInput) SetParallelizationFactor(v int64) *CreateEventSourceMappingInput {
6145	s.ParallelizationFactor = &v
6146	return s
6147}
6148
6149// SetStartingPosition sets the StartingPosition field's value.
6150func (s *CreateEventSourceMappingInput) SetStartingPosition(v string) *CreateEventSourceMappingInput {
6151	s.StartingPosition = &v
6152	return s
6153}
6154
6155// SetStartingPositionTimestamp sets the StartingPositionTimestamp field's value.
6156func (s *CreateEventSourceMappingInput) SetStartingPositionTimestamp(v time.Time) *CreateEventSourceMappingInput {
6157	s.StartingPositionTimestamp = &v
6158	return s
6159}
6160
6161// SetTopics sets the Topics field's value.
6162func (s *CreateEventSourceMappingInput) SetTopics(v []*string) *CreateEventSourceMappingInput {
6163	s.Topics = v
6164	return s
6165}
6166
6167type CreateFunctionInput struct {
6168	_ struct{} `type:"structure"`
6169
6170	// The code for the function.
6171	//
6172	// Code is a required field
6173	Code *FunctionCode `type:"structure" required:"true"`
6174
6175	// A dead letter queue configuration that specifies the queue or topic where
6176	// Lambda sends asynchronous events when they fail processing. For more information,
6177	// see Dead Letter Queues (https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#dlq).
6178	DeadLetterConfig *DeadLetterConfig `type:"structure"`
6179
6180	// A description of the function.
6181	Description *string `type:"string"`
6182
6183	// Environment variables that are accessible from function code during execution.
6184	Environment *Environment `type:"structure"`
6185
6186	// Connection settings for an Amazon EFS file system.
6187	FileSystemConfigs []*FileSystemConfig `type:"list"`
6188
6189	// The name of the Lambda function.
6190	//
6191	// Name formats
6192	//
6193	//    * Function name - my-function.
6194	//
6195	//    * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.
6196	//
6197	//    * Partial ARN - 123456789012:function:my-function.
6198	//
6199	// The length constraint applies only to the full ARN. If you specify only the
6200	// function name, it is limited to 64 characters in length.
6201	//
6202	// FunctionName is a required field
6203	FunctionName *string `min:"1" type:"string" required:"true"`
6204
6205	// The name of the method within your code that Lambda calls to execute your
6206	// function. The format includes the file name. It can also include namespaces
6207	// and other qualifiers, depending on the runtime. For more information, see
6208	// Programming Model (https://docs.aws.amazon.com/lambda/latest/dg/programming-model-v2.html).
6209	//
6210	// Handler is a required field
6211	Handler *string `type:"string" required:"true"`
6212
6213	// The ARN of the AWS Key Management Service (AWS KMS) key that's used to encrypt
6214	// your function's environment variables. If it's not provided, AWS Lambda uses
6215	// a default service key.
6216	KMSKeyArn *string `type:"string"`
6217
6218	// A list of function layers (https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html)
6219	// to add to the function's execution environment. Specify each layer by its
6220	// ARN, including the version.
6221	Layers []*string `type:"list"`
6222
6223	// The amount of memory that your function has access to. Increasing the function's
6224	// memory also increases its CPU allocation. The default value is 128 MB. The
6225	// value must be a multiple of 64 MB.
6226	MemorySize *int64 `min:"128" type:"integer"`
6227
6228	// Set to true to publish the first version of the function during creation.
6229	Publish *bool `type:"boolean"`
6230
6231	// The Amazon Resource Name (ARN) of the function's execution role.
6232	//
6233	// Role is a required field
6234	Role *string `type:"string" required:"true"`
6235
6236	// The identifier of the function's runtime (https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html).
6237	//
6238	// Runtime is a required field
6239	Runtime *string `type:"string" required:"true" enum:"Runtime"`
6240
6241	// A list of tags (https://docs.aws.amazon.com/lambda/latest/dg/tagging.html)
6242	// to apply to the function.
6243	Tags map[string]*string `type:"map"`
6244
6245	// The amount of time that Lambda allows a function to run before stopping it.
6246	// The default is 3 seconds. The maximum allowed value is 900 seconds.
6247	Timeout *int64 `min:"1" type:"integer"`
6248
6249	// Set Mode to Active to sample and trace a subset of incoming requests with
6250	// AWS X-Ray.
6251	TracingConfig *TracingConfig `type:"structure"`
6252
6253	// For network connectivity to AWS resources in a VPC, specify a list of security
6254	// groups and subnets in the VPC. When you connect a function to a VPC, it can
6255	// only access resources and the internet through that VPC. For more information,
6256	// see VPC Settings (https://docs.aws.amazon.com/lambda/latest/dg/configuration-vpc.html).
6257	VpcConfig *VpcConfig `type:"structure"`
6258}
6259
6260// String returns the string representation
6261func (s CreateFunctionInput) String() string {
6262	return awsutil.Prettify(s)
6263}
6264
6265// GoString returns the string representation
6266func (s CreateFunctionInput) GoString() string {
6267	return s.String()
6268}
6269
6270// Validate inspects the fields of the type to determine if they are valid.
6271func (s *CreateFunctionInput) Validate() error {
6272	invalidParams := request.ErrInvalidParams{Context: "CreateFunctionInput"}
6273	if s.Code == nil {
6274		invalidParams.Add(request.NewErrParamRequired("Code"))
6275	}
6276	if s.FunctionName == nil {
6277		invalidParams.Add(request.NewErrParamRequired("FunctionName"))
6278	}
6279	if s.FunctionName != nil && len(*s.FunctionName) < 1 {
6280		invalidParams.Add(request.NewErrParamMinLen("FunctionName", 1))
6281	}
6282	if s.Handler == nil {
6283		invalidParams.Add(request.NewErrParamRequired("Handler"))
6284	}
6285	if s.MemorySize != nil && *s.MemorySize < 128 {
6286		invalidParams.Add(request.NewErrParamMinValue("MemorySize", 128))
6287	}
6288	if s.Role == nil {
6289		invalidParams.Add(request.NewErrParamRequired("Role"))
6290	}
6291	if s.Runtime == nil {
6292		invalidParams.Add(request.NewErrParamRequired("Runtime"))
6293	}
6294	if s.Timeout != nil && *s.Timeout < 1 {
6295		invalidParams.Add(request.NewErrParamMinValue("Timeout", 1))
6296	}
6297	if s.Code != nil {
6298		if err := s.Code.Validate(); err != nil {
6299			invalidParams.AddNested("Code", err.(request.ErrInvalidParams))
6300		}
6301	}
6302	if s.FileSystemConfigs != nil {
6303		for i, v := range s.FileSystemConfigs {
6304			if v == nil {
6305				continue
6306			}
6307			if err := v.Validate(); err != nil {
6308				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "FileSystemConfigs", i), err.(request.ErrInvalidParams))
6309			}
6310		}
6311	}
6312
6313	if invalidParams.Len() > 0 {
6314		return invalidParams
6315	}
6316	return nil
6317}
6318
6319// SetCode sets the Code field's value.
6320func (s *CreateFunctionInput) SetCode(v *FunctionCode) *CreateFunctionInput {
6321	s.Code = v
6322	return s
6323}
6324
6325// SetDeadLetterConfig sets the DeadLetterConfig field's value.
6326func (s *CreateFunctionInput) SetDeadLetterConfig(v *DeadLetterConfig) *CreateFunctionInput {
6327	s.DeadLetterConfig = v
6328	return s
6329}
6330
6331// SetDescription sets the Description field's value.
6332func (s *CreateFunctionInput) SetDescription(v string) *CreateFunctionInput {
6333	s.Description = &v
6334	return s
6335}
6336
6337// SetEnvironment sets the Environment field's value.
6338func (s *CreateFunctionInput) SetEnvironment(v *Environment) *CreateFunctionInput {
6339	s.Environment = v
6340	return s
6341}
6342
6343// SetFileSystemConfigs sets the FileSystemConfigs field's value.
6344func (s *CreateFunctionInput) SetFileSystemConfigs(v []*FileSystemConfig) *CreateFunctionInput {
6345	s.FileSystemConfigs = v
6346	return s
6347}
6348
6349// SetFunctionName sets the FunctionName field's value.
6350func (s *CreateFunctionInput) SetFunctionName(v string) *CreateFunctionInput {
6351	s.FunctionName = &v
6352	return s
6353}
6354
6355// SetHandler sets the Handler field's value.
6356func (s *CreateFunctionInput) SetHandler(v string) *CreateFunctionInput {
6357	s.Handler = &v
6358	return s
6359}
6360
6361// SetKMSKeyArn sets the KMSKeyArn field's value.
6362func (s *CreateFunctionInput) SetKMSKeyArn(v string) *CreateFunctionInput {
6363	s.KMSKeyArn = &v
6364	return s
6365}
6366
6367// SetLayers sets the Layers field's value.
6368func (s *CreateFunctionInput) SetLayers(v []*string) *CreateFunctionInput {
6369	s.Layers = v
6370	return s
6371}
6372
6373// SetMemorySize sets the MemorySize field's value.
6374func (s *CreateFunctionInput) SetMemorySize(v int64) *CreateFunctionInput {
6375	s.MemorySize = &v
6376	return s
6377}
6378
6379// SetPublish sets the Publish field's value.
6380func (s *CreateFunctionInput) SetPublish(v bool) *CreateFunctionInput {
6381	s.Publish = &v
6382	return s
6383}
6384
6385// SetRole sets the Role field's value.
6386func (s *CreateFunctionInput) SetRole(v string) *CreateFunctionInput {
6387	s.Role = &v
6388	return s
6389}
6390
6391// SetRuntime sets the Runtime field's value.
6392func (s *CreateFunctionInput) SetRuntime(v string) *CreateFunctionInput {
6393	s.Runtime = &v
6394	return s
6395}
6396
6397// SetTags sets the Tags field's value.
6398func (s *CreateFunctionInput) SetTags(v map[string]*string) *CreateFunctionInput {
6399	s.Tags = v
6400	return s
6401}
6402
6403// SetTimeout sets the Timeout field's value.
6404func (s *CreateFunctionInput) SetTimeout(v int64) *CreateFunctionInput {
6405	s.Timeout = &v
6406	return s
6407}
6408
6409// SetTracingConfig sets the TracingConfig field's value.
6410func (s *CreateFunctionInput) SetTracingConfig(v *TracingConfig) *CreateFunctionInput {
6411	s.TracingConfig = v
6412	return s
6413}
6414
6415// SetVpcConfig sets the VpcConfig field's value.
6416func (s *CreateFunctionInput) SetVpcConfig(v *VpcConfig) *CreateFunctionInput {
6417	s.VpcConfig = v
6418	return s
6419}
6420
6421// The dead-letter queue (https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#dlq)
6422// for failed asynchronous invocations.
6423type DeadLetterConfig struct {
6424	_ struct{} `type:"structure"`
6425
6426	// The Amazon Resource Name (ARN) of an Amazon SQS queue or Amazon SNS topic.
6427	TargetArn *string `type:"string"`
6428}
6429
6430// String returns the string representation
6431func (s DeadLetterConfig) String() string {
6432	return awsutil.Prettify(s)
6433}
6434
6435// GoString returns the string representation
6436func (s DeadLetterConfig) GoString() string {
6437	return s.String()
6438}
6439
6440// SetTargetArn sets the TargetArn field's value.
6441func (s *DeadLetterConfig) SetTargetArn(v string) *DeadLetterConfig {
6442	s.TargetArn = &v
6443	return s
6444}
6445
6446type DeleteAliasInput struct {
6447	_ struct{} `type:"structure"`
6448
6449	// The name of the Lambda function.
6450	//
6451	// Name formats
6452	//
6453	//    * Function name - MyFunction.
6454	//
6455	//    * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.
6456	//
6457	//    * Partial ARN - 123456789012:function:MyFunction.
6458	//
6459	// The length constraint applies only to the full ARN. If you specify only the
6460	// function name, it is limited to 64 characters in length.
6461	//
6462	// FunctionName is a required field
6463	FunctionName *string `location:"uri" locationName:"FunctionName" min:"1" type:"string" required:"true"`
6464
6465	// The name of the alias.
6466	//
6467	// Name is a required field
6468	Name *string `location:"uri" locationName:"Name" min:"1" type:"string" required:"true"`
6469}
6470
6471// String returns the string representation
6472func (s DeleteAliasInput) String() string {
6473	return awsutil.Prettify(s)
6474}
6475
6476// GoString returns the string representation
6477func (s DeleteAliasInput) GoString() string {
6478	return s.String()
6479}
6480
6481// Validate inspects the fields of the type to determine if they are valid.
6482func (s *DeleteAliasInput) Validate() error {
6483	invalidParams := request.ErrInvalidParams{Context: "DeleteAliasInput"}
6484	if s.FunctionName == nil {
6485		invalidParams.Add(request.NewErrParamRequired("FunctionName"))
6486	}
6487	if s.FunctionName != nil && len(*s.FunctionName) < 1 {
6488		invalidParams.Add(request.NewErrParamMinLen("FunctionName", 1))
6489	}
6490	if s.Name == nil {
6491		invalidParams.Add(request.NewErrParamRequired("Name"))
6492	}
6493	if s.Name != nil && len(*s.Name) < 1 {
6494		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
6495	}
6496
6497	if invalidParams.Len() > 0 {
6498		return invalidParams
6499	}
6500	return nil
6501}
6502
6503// SetFunctionName sets the FunctionName field's value.
6504func (s *DeleteAliasInput) SetFunctionName(v string) *DeleteAliasInput {
6505	s.FunctionName = &v
6506	return s
6507}
6508
6509// SetName sets the Name field's value.
6510func (s *DeleteAliasInput) SetName(v string) *DeleteAliasInput {
6511	s.Name = &v
6512	return s
6513}
6514
6515type DeleteAliasOutput struct {
6516	_ struct{} `type:"structure"`
6517}
6518
6519// String returns the string representation
6520func (s DeleteAliasOutput) String() string {
6521	return awsutil.Prettify(s)
6522}
6523
6524// GoString returns the string representation
6525func (s DeleteAliasOutput) GoString() string {
6526	return s.String()
6527}
6528
6529type DeleteEventSourceMappingInput struct {
6530	_ struct{} `type:"structure"`
6531
6532	// The identifier of the event source mapping.
6533	//
6534	// UUID is a required field
6535	UUID *string `location:"uri" locationName:"UUID" type:"string" required:"true"`
6536}
6537
6538// String returns the string representation
6539func (s DeleteEventSourceMappingInput) String() string {
6540	return awsutil.Prettify(s)
6541}
6542
6543// GoString returns the string representation
6544func (s DeleteEventSourceMappingInput) GoString() string {
6545	return s.String()
6546}
6547
6548// Validate inspects the fields of the type to determine if they are valid.
6549func (s *DeleteEventSourceMappingInput) Validate() error {
6550	invalidParams := request.ErrInvalidParams{Context: "DeleteEventSourceMappingInput"}
6551	if s.UUID == nil {
6552		invalidParams.Add(request.NewErrParamRequired("UUID"))
6553	}
6554	if s.UUID != nil && len(*s.UUID) < 1 {
6555		invalidParams.Add(request.NewErrParamMinLen("UUID", 1))
6556	}
6557
6558	if invalidParams.Len() > 0 {
6559		return invalidParams
6560	}
6561	return nil
6562}
6563
6564// SetUUID sets the UUID field's value.
6565func (s *DeleteEventSourceMappingInput) SetUUID(v string) *DeleteEventSourceMappingInput {
6566	s.UUID = &v
6567	return s
6568}
6569
6570type DeleteFunctionConcurrencyInput struct {
6571	_ struct{} `type:"structure"`
6572
6573	// The name of the Lambda function.
6574	//
6575	// Name formats
6576	//
6577	//    * Function name - my-function.
6578	//
6579	//    * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.
6580	//
6581	//    * Partial ARN - 123456789012:function:my-function.
6582	//
6583	// The length constraint applies only to the full ARN. If you specify only the
6584	// function name, it is limited to 64 characters in length.
6585	//
6586	// FunctionName is a required field
6587	FunctionName *string `location:"uri" locationName:"FunctionName" min:"1" type:"string" required:"true"`
6588}
6589
6590// String returns the string representation
6591func (s DeleteFunctionConcurrencyInput) String() string {
6592	return awsutil.Prettify(s)
6593}
6594
6595// GoString returns the string representation
6596func (s DeleteFunctionConcurrencyInput) GoString() string {
6597	return s.String()
6598}
6599
6600// Validate inspects the fields of the type to determine if they are valid.
6601func (s *DeleteFunctionConcurrencyInput) Validate() error {
6602	invalidParams := request.ErrInvalidParams{Context: "DeleteFunctionConcurrencyInput"}
6603	if s.FunctionName == nil {
6604		invalidParams.Add(request.NewErrParamRequired("FunctionName"))
6605	}
6606	if s.FunctionName != nil && len(*s.FunctionName) < 1 {
6607		invalidParams.Add(request.NewErrParamMinLen("FunctionName", 1))
6608	}
6609
6610	if invalidParams.Len() > 0 {
6611		return invalidParams
6612	}
6613	return nil
6614}
6615
6616// SetFunctionName sets the FunctionName field's value.
6617func (s *DeleteFunctionConcurrencyInput) SetFunctionName(v string) *DeleteFunctionConcurrencyInput {
6618	s.FunctionName = &v
6619	return s
6620}
6621
6622type DeleteFunctionConcurrencyOutput struct {
6623	_ struct{} `type:"structure"`
6624}
6625
6626// String returns the string representation
6627func (s DeleteFunctionConcurrencyOutput) String() string {
6628	return awsutil.Prettify(s)
6629}
6630
6631// GoString returns the string representation
6632func (s DeleteFunctionConcurrencyOutput) GoString() string {
6633	return s.String()
6634}
6635
6636type DeleteFunctionEventInvokeConfigInput struct {
6637	_ struct{} `type:"structure"`
6638
6639	// The name of the Lambda function, version, or alias.
6640	//
6641	// Name formats
6642	//
6643	//    * Function name - my-function (name-only), my-function:v1 (with alias).
6644	//
6645	//    * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.
6646	//
6647	//    * Partial ARN - 123456789012:function:my-function.
6648	//
6649	// You can append a version number or alias to any of the formats. The length
6650	// constraint applies only to the full ARN. If you specify only the function
6651	// name, it is limited to 64 characters in length.
6652	//
6653	// FunctionName is a required field
6654	FunctionName *string `location:"uri" locationName:"FunctionName" min:"1" type:"string" required:"true"`
6655
6656	// A version number or alias name.
6657	Qualifier *string `location:"querystring" locationName:"Qualifier" min:"1" type:"string"`
6658}
6659
6660// String returns the string representation
6661func (s DeleteFunctionEventInvokeConfigInput) String() string {
6662	return awsutil.Prettify(s)
6663}
6664
6665// GoString returns the string representation
6666func (s DeleteFunctionEventInvokeConfigInput) GoString() string {
6667	return s.String()
6668}
6669
6670// Validate inspects the fields of the type to determine if they are valid.
6671func (s *DeleteFunctionEventInvokeConfigInput) Validate() error {
6672	invalidParams := request.ErrInvalidParams{Context: "DeleteFunctionEventInvokeConfigInput"}
6673	if s.FunctionName == nil {
6674		invalidParams.Add(request.NewErrParamRequired("FunctionName"))
6675	}
6676	if s.FunctionName != nil && len(*s.FunctionName) < 1 {
6677		invalidParams.Add(request.NewErrParamMinLen("FunctionName", 1))
6678	}
6679	if s.Qualifier != nil && len(*s.Qualifier) < 1 {
6680		invalidParams.Add(request.NewErrParamMinLen("Qualifier", 1))
6681	}
6682
6683	if invalidParams.Len() > 0 {
6684		return invalidParams
6685	}
6686	return nil
6687}
6688
6689// SetFunctionName sets the FunctionName field's value.
6690func (s *DeleteFunctionEventInvokeConfigInput) SetFunctionName(v string) *DeleteFunctionEventInvokeConfigInput {
6691	s.FunctionName = &v
6692	return s
6693}
6694
6695// SetQualifier sets the Qualifier field's value.
6696func (s *DeleteFunctionEventInvokeConfigInput) SetQualifier(v string) *DeleteFunctionEventInvokeConfigInput {
6697	s.Qualifier = &v
6698	return s
6699}
6700
6701type DeleteFunctionEventInvokeConfigOutput struct {
6702	_ struct{} `type:"structure"`
6703}
6704
6705// String returns the string representation
6706func (s DeleteFunctionEventInvokeConfigOutput) String() string {
6707	return awsutil.Prettify(s)
6708}
6709
6710// GoString returns the string representation
6711func (s DeleteFunctionEventInvokeConfigOutput) GoString() string {
6712	return s.String()
6713}
6714
6715type DeleteFunctionInput struct {
6716	_ struct{} `type:"structure"`
6717
6718	// The name of the Lambda function or version.
6719	//
6720	// Name formats
6721	//
6722	//    * Function name - my-function (name-only), my-function:1 (with version).
6723	//
6724	//    * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.
6725	//
6726	//    * Partial ARN - 123456789012:function:my-function.
6727	//
6728	// You can append a version number or alias to any of the formats. The length
6729	// constraint applies only to the full ARN. If you specify only the function
6730	// name, it is limited to 64 characters in length.
6731	//
6732	// FunctionName is a required field
6733	FunctionName *string `location:"uri" locationName:"FunctionName" min:"1" type:"string" required:"true"`
6734
6735	// Specify a version to delete. You can't delete a version that's referenced
6736	// by an alias.
6737	Qualifier *string `location:"querystring" locationName:"Qualifier" min:"1" type:"string"`
6738}
6739
6740// String returns the string representation
6741func (s DeleteFunctionInput) String() string {
6742	return awsutil.Prettify(s)
6743}
6744
6745// GoString returns the string representation
6746func (s DeleteFunctionInput) GoString() string {
6747	return s.String()
6748}
6749
6750// Validate inspects the fields of the type to determine if they are valid.
6751func (s *DeleteFunctionInput) Validate() error {
6752	invalidParams := request.ErrInvalidParams{Context: "DeleteFunctionInput"}
6753	if s.FunctionName == nil {
6754		invalidParams.Add(request.NewErrParamRequired("FunctionName"))
6755	}
6756	if s.FunctionName != nil && len(*s.FunctionName) < 1 {
6757		invalidParams.Add(request.NewErrParamMinLen("FunctionName", 1))
6758	}
6759	if s.Qualifier != nil && len(*s.Qualifier) < 1 {
6760		invalidParams.Add(request.NewErrParamMinLen("Qualifier", 1))
6761	}
6762
6763	if invalidParams.Len() > 0 {
6764		return invalidParams
6765	}
6766	return nil
6767}
6768
6769// SetFunctionName sets the FunctionName field's value.
6770func (s *DeleteFunctionInput) SetFunctionName(v string) *DeleteFunctionInput {
6771	s.FunctionName = &v
6772	return s
6773}
6774
6775// SetQualifier sets the Qualifier field's value.
6776func (s *DeleteFunctionInput) SetQualifier(v string) *DeleteFunctionInput {
6777	s.Qualifier = &v
6778	return s
6779}
6780
6781type DeleteFunctionOutput struct {
6782	_ struct{} `type:"structure"`
6783}
6784
6785// String returns the string representation
6786func (s DeleteFunctionOutput) String() string {
6787	return awsutil.Prettify(s)
6788}
6789
6790// GoString returns the string representation
6791func (s DeleteFunctionOutput) GoString() string {
6792	return s.String()
6793}
6794
6795type DeleteLayerVersionInput struct {
6796	_ struct{} `type:"structure"`
6797
6798	// The name or Amazon Resource Name (ARN) of the layer.
6799	//
6800	// LayerName is a required field
6801	LayerName *string `location:"uri" locationName:"LayerName" min:"1" type:"string" required:"true"`
6802
6803	// The version number.
6804	//
6805	// VersionNumber is a required field
6806	VersionNumber *int64 `location:"uri" locationName:"VersionNumber" type:"long" required:"true"`
6807}
6808
6809// String returns the string representation
6810func (s DeleteLayerVersionInput) String() string {
6811	return awsutil.Prettify(s)
6812}
6813
6814// GoString returns the string representation
6815func (s DeleteLayerVersionInput) GoString() string {
6816	return s.String()
6817}
6818
6819// Validate inspects the fields of the type to determine if they are valid.
6820func (s *DeleteLayerVersionInput) Validate() error {
6821	invalidParams := request.ErrInvalidParams{Context: "DeleteLayerVersionInput"}
6822	if s.LayerName == nil {
6823		invalidParams.Add(request.NewErrParamRequired("LayerName"))
6824	}
6825	if s.LayerName != nil && len(*s.LayerName) < 1 {
6826		invalidParams.Add(request.NewErrParamMinLen("LayerName", 1))
6827	}
6828	if s.VersionNumber == nil {
6829		invalidParams.Add(request.NewErrParamRequired("VersionNumber"))
6830	}
6831
6832	if invalidParams.Len() > 0 {
6833		return invalidParams
6834	}
6835	return nil
6836}
6837
6838// SetLayerName sets the LayerName field's value.
6839func (s *DeleteLayerVersionInput) SetLayerName(v string) *DeleteLayerVersionInput {
6840	s.LayerName = &v
6841	return s
6842}
6843
6844// SetVersionNumber sets the VersionNumber field's value.
6845func (s *DeleteLayerVersionInput) SetVersionNumber(v int64) *DeleteLayerVersionInput {
6846	s.VersionNumber = &v
6847	return s
6848}
6849
6850type DeleteLayerVersionOutput struct {
6851	_ struct{} `type:"structure"`
6852}
6853
6854// String returns the string representation
6855func (s DeleteLayerVersionOutput) String() string {
6856	return awsutil.Prettify(s)
6857}
6858
6859// GoString returns the string representation
6860func (s DeleteLayerVersionOutput) GoString() string {
6861	return s.String()
6862}
6863
6864type DeleteProvisionedConcurrencyConfigInput struct {
6865	_ struct{} `type:"structure"`
6866
6867	// The name of the Lambda function.
6868	//
6869	// Name formats
6870	//
6871	//    * Function name - my-function.
6872	//
6873	//    * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.
6874	//
6875	//    * Partial ARN - 123456789012:function:my-function.
6876	//
6877	// The length constraint applies only to the full ARN. If you specify only the
6878	// function name, it is limited to 64 characters in length.
6879	//
6880	// FunctionName is a required field
6881	FunctionName *string `location:"uri" locationName:"FunctionName" min:"1" type:"string" required:"true"`
6882
6883	// The version number or alias name.
6884	//
6885	// Qualifier is a required field
6886	Qualifier *string `location:"querystring" locationName:"Qualifier" min:"1" type:"string" required:"true"`
6887}
6888
6889// String returns the string representation
6890func (s DeleteProvisionedConcurrencyConfigInput) String() string {
6891	return awsutil.Prettify(s)
6892}
6893
6894// GoString returns the string representation
6895func (s DeleteProvisionedConcurrencyConfigInput) GoString() string {
6896	return s.String()
6897}
6898
6899// Validate inspects the fields of the type to determine if they are valid.
6900func (s *DeleteProvisionedConcurrencyConfigInput) Validate() error {
6901	invalidParams := request.ErrInvalidParams{Context: "DeleteProvisionedConcurrencyConfigInput"}
6902	if s.FunctionName == nil {
6903		invalidParams.Add(request.NewErrParamRequired("FunctionName"))
6904	}
6905	if s.FunctionName != nil && len(*s.FunctionName) < 1 {
6906		invalidParams.Add(request.NewErrParamMinLen("FunctionName", 1))
6907	}
6908	if s.Qualifier == nil {
6909		invalidParams.Add(request.NewErrParamRequired("Qualifier"))
6910	}
6911	if s.Qualifier != nil && len(*s.Qualifier) < 1 {
6912		invalidParams.Add(request.NewErrParamMinLen("Qualifier", 1))
6913	}
6914
6915	if invalidParams.Len() > 0 {
6916		return invalidParams
6917	}
6918	return nil
6919}
6920
6921// SetFunctionName sets the FunctionName field's value.
6922func (s *DeleteProvisionedConcurrencyConfigInput) SetFunctionName(v string) *DeleteProvisionedConcurrencyConfigInput {
6923	s.FunctionName = &v
6924	return s
6925}
6926
6927// SetQualifier sets the Qualifier field's value.
6928func (s *DeleteProvisionedConcurrencyConfigInput) SetQualifier(v string) *DeleteProvisionedConcurrencyConfigInput {
6929	s.Qualifier = &v
6930	return s
6931}
6932
6933type DeleteProvisionedConcurrencyConfigOutput struct {
6934	_ struct{} `type:"structure"`
6935}
6936
6937// String returns the string representation
6938func (s DeleteProvisionedConcurrencyConfigOutput) String() string {
6939	return awsutil.Prettify(s)
6940}
6941
6942// GoString returns the string representation
6943func (s DeleteProvisionedConcurrencyConfigOutput) GoString() string {
6944	return s.String()
6945}
6946
6947// A configuration object that specifies the destination of an event after Lambda
6948// processes it.
6949type DestinationConfig struct {
6950	_ struct{} `type:"structure"`
6951
6952	// The destination configuration for failed invocations.
6953	OnFailure *OnFailure `type:"structure"`
6954
6955	// The destination configuration for successful invocations.
6956	OnSuccess *OnSuccess `type:"structure"`
6957}
6958
6959// String returns the string representation
6960func (s DestinationConfig) String() string {
6961	return awsutil.Prettify(s)
6962}
6963
6964// GoString returns the string representation
6965func (s DestinationConfig) GoString() string {
6966	return s.String()
6967}
6968
6969// SetOnFailure sets the OnFailure field's value.
6970func (s *DestinationConfig) SetOnFailure(v *OnFailure) *DestinationConfig {
6971	s.OnFailure = v
6972	return s
6973}
6974
6975// SetOnSuccess sets the OnSuccess field's value.
6976func (s *DestinationConfig) SetOnSuccess(v *OnSuccess) *DestinationConfig {
6977	s.OnSuccess = v
6978	return s
6979}
6980
6981// Need additional permissions to configure VPC settings.
6982type EC2AccessDeniedException struct {
6983	_            struct{}                  `type:"structure"`
6984	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
6985
6986	Message_ *string `locationName:"Message" type:"string"`
6987
6988	Type *string `type:"string"`
6989}
6990
6991// String returns the string representation
6992func (s EC2AccessDeniedException) String() string {
6993	return awsutil.Prettify(s)
6994}
6995
6996// GoString returns the string representation
6997func (s EC2AccessDeniedException) GoString() string {
6998	return s.String()
6999}
7000
7001func newErrorEC2AccessDeniedException(v protocol.ResponseMetadata) error {
7002	return &EC2AccessDeniedException{
7003		RespMetadata: v,
7004	}
7005}
7006
7007// Code returns the exception type name.
7008func (s *EC2AccessDeniedException) Code() string {
7009	return "EC2AccessDeniedException"
7010}
7011
7012// Message returns the exception's message.
7013func (s *EC2AccessDeniedException) Message() string {
7014	if s.Message_ != nil {
7015		return *s.Message_
7016	}
7017	return ""
7018}
7019
7020// OrigErr always returns nil, satisfies awserr.Error interface.
7021func (s *EC2AccessDeniedException) OrigErr() error {
7022	return nil
7023}
7024
7025func (s *EC2AccessDeniedException) Error() string {
7026	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
7027}
7028
7029// Status code returns the HTTP status code for the request's response error.
7030func (s *EC2AccessDeniedException) StatusCode() int {
7031	return s.RespMetadata.StatusCode
7032}
7033
7034// RequestID returns the service's response RequestID for request.
7035func (s *EC2AccessDeniedException) RequestID() string {
7036	return s.RespMetadata.RequestID
7037}
7038
7039// AWS Lambda was throttled by Amazon EC2 during Lambda function initialization
7040// using the execution role provided for the Lambda function.
7041type EC2ThrottledException struct {
7042	_            struct{}                  `type:"structure"`
7043	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
7044
7045	Message_ *string `locationName:"Message" type:"string"`
7046
7047	Type *string `type:"string"`
7048}
7049
7050// String returns the string representation
7051func (s EC2ThrottledException) String() string {
7052	return awsutil.Prettify(s)
7053}
7054
7055// GoString returns the string representation
7056func (s EC2ThrottledException) GoString() string {
7057	return s.String()
7058}
7059
7060func newErrorEC2ThrottledException(v protocol.ResponseMetadata) error {
7061	return &EC2ThrottledException{
7062		RespMetadata: v,
7063	}
7064}
7065
7066// Code returns the exception type name.
7067func (s *EC2ThrottledException) Code() string {
7068	return "EC2ThrottledException"
7069}
7070
7071// Message returns the exception's message.
7072func (s *EC2ThrottledException) Message() string {
7073	if s.Message_ != nil {
7074		return *s.Message_
7075	}
7076	return ""
7077}
7078
7079// OrigErr always returns nil, satisfies awserr.Error interface.
7080func (s *EC2ThrottledException) OrigErr() error {
7081	return nil
7082}
7083
7084func (s *EC2ThrottledException) Error() string {
7085	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
7086}
7087
7088// Status code returns the HTTP status code for the request's response error.
7089func (s *EC2ThrottledException) StatusCode() int {
7090	return s.RespMetadata.StatusCode
7091}
7092
7093// RequestID returns the service's response RequestID for request.
7094func (s *EC2ThrottledException) RequestID() string {
7095	return s.RespMetadata.RequestID
7096}
7097
7098// AWS Lambda received an unexpected EC2 client exception while setting up for
7099// the Lambda function.
7100type EC2UnexpectedException struct {
7101	_            struct{}                  `type:"structure"`
7102	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
7103
7104	EC2ErrorCode *string `type:"string"`
7105
7106	Message_ *string `locationName:"Message" type:"string"`
7107
7108	Type *string `type:"string"`
7109}
7110
7111// String returns the string representation
7112func (s EC2UnexpectedException) String() string {
7113	return awsutil.Prettify(s)
7114}
7115
7116// GoString returns the string representation
7117func (s EC2UnexpectedException) GoString() string {
7118	return s.String()
7119}
7120
7121func newErrorEC2UnexpectedException(v protocol.ResponseMetadata) error {
7122	return &EC2UnexpectedException{
7123		RespMetadata: v,
7124	}
7125}
7126
7127// Code returns the exception type name.
7128func (s *EC2UnexpectedException) Code() string {
7129	return "EC2UnexpectedException"
7130}
7131
7132// Message returns the exception's message.
7133func (s *EC2UnexpectedException) Message() string {
7134	if s.Message_ != nil {
7135		return *s.Message_
7136	}
7137	return ""
7138}
7139
7140// OrigErr always returns nil, satisfies awserr.Error interface.
7141func (s *EC2UnexpectedException) OrigErr() error {
7142	return nil
7143}
7144
7145func (s *EC2UnexpectedException) Error() string {
7146	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
7147}
7148
7149// Status code returns the HTTP status code for the request's response error.
7150func (s *EC2UnexpectedException) StatusCode() int {
7151	return s.RespMetadata.StatusCode
7152}
7153
7154// RequestID returns the service's response RequestID for request.
7155func (s *EC2UnexpectedException) RequestID() string {
7156	return s.RespMetadata.RequestID
7157}
7158
7159// An error occured when reading from or writing to a connected file system.
7160type EFSIOException struct {
7161	_            struct{}                  `type:"structure"`
7162	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
7163
7164	Message_ *string `locationName:"Message" type:"string"`
7165
7166	Type *string `type:"string"`
7167}
7168
7169// String returns the string representation
7170func (s EFSIOException) String() string {
7171	return awsutil.Prettify(s)
7172}
7173
7174// GoString returns the string representation
7175func (s EFSIOException) GoString() string {
7176	return s.String()
7177}
7178
7179func newErrorEFSIOException(v protocol.ResponseMetadata) error {
7180	return &EFSIOException{
7181		RespMetadata: v,
7182	}
7183}
7184
7185// Code returns the exception type name.
7186func (s *EFSIOException) Code() string {
7187	return "EFSIOException"
7188}
7189
7190// Message returns the exception's message.
7191func (s *EFSIOException) Message() string {
7192	if s.Message_ != nil {
7193		return *s.Message_
7194	}
7195	return ""
7196}
7197
7198// OrigErr always returns nil, satisfies awserr.Error interface.
7199func (s *EFSIOException) OrigErr() error {
7200	return nil
7201}
7202
7203func (s *EFSIOException) Error() string {
7204	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
7205}
7206
7207// Status code returns the HTTP status code for the request's response error.
7208func (s *EFSIOException) StatusCode() int {
7209	return s.RespMetadata.StatusCode
7210}
7211
7212// RequestID returns the service's response RequestID for request.
7213func (s *EFSIOException) RequestID() string {
7214	return s.RespMetadata.RequestID
7215}
7216
7217// The function couldn't make a network connection to the configured file system.
7218type EFSMountConnectivityException struct {
7219	_            struct{}                  `type:"structure"`
7220	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
7221
7222	Message_ *string `locationName:"Message" type:"string"`
7223
7224	Type *string `type:"string"`
7225}
7226
7227// String returns the string representation
7228func (s EFSMountConnectivityException) String() string {
7229	return awsutil.Prettify(s)
7230}
7231
7232// GoString returns the string representation
7233func (s EFSMountConnectivityException) GoString() string {
7234	return s.String()
7235}
7236
7237func newErrorEFSMountConnectivityException(v protocol.ResponseMetadata) error {
7238	return &EFSMountConnectivityException{
7239		RespMetadata: v,
7240	}
7241}
7242
7243// Code returns the exception type name.
7244func (s *EFSMountConnectivityException) Code() string {
7245	return "EFSMountConnectivityException"
7246}
7247
7248// Message returns the exception's message.
7249func (s *EFSMountConnectivityException) Message() string {
7250	if s.Message_ != nil {
7251		return *s.Message_
7252	}
7253	return ""
7254}
7255
7256// OrigErr always returns nil, satisfies awserr.Error interface.
7257func (s *EFSMountConnectivityException) OrigErr() error {
7258	return nil
7259}
7260
7261func (s *EFSMountConnectivityException) Error() string {
7262	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
7263}
7264
7265// Status code returns the HTTP status code for the request's response error.
7266func (s *EFSMountConnectivityException) StatusCode() int {
7267	return s.RespMetadata.StatusCode
7268}
7269
7270// RequestID returns the service's response RequestID for request.
7271func (s *EFSMountConnectivityException) RequestID() string {
7272	return s.RespMetadata.RequestID
7273}
7274
7275// The function couldn't mount the configured file system due to a permission
7276// or configuration issue.
7277type EFSMountFailureException struct {
7278	_            struct{}                  `type:"structure"`
7279	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
7280
7281	Message_ *string `locationName:"Message" type:"string"`
7282
7283	Type *string `type:"string"`
7284}
7285
7286// String returns the string representation
7287func (s EFSMountFailureException) String() string {
7288	return awsutil.Prettify(s)
7289}
7290
7291// GoString returns the string representation
7292func (s EFSMountFailureException) GoString() string {
7293	return s.String()
7294}
7295
7296func newErrorEFSMountFailureException(v protocol.ResponseMetadata) error {
7297	return &EFSMountFailureException{
7298		RespMetadata: v,
7299	}
7300}
7301
7302// Code returns the exception type name.
7303func (s *EFSMountFailureException) Code() string {
7304	return "EFSMountFailureException"
7305}
7306
7307// Message returns the exception's message.
7308func (s *EFSMountFailureException) Message() string {
7309	if s.Message_ != nil {
7310		return *s.Message_
7311	}
7312	return ""
7313}
7314
7315// OrigErr always returns nil, satisfies awserr.Error interface.
7316func (s *EFSMountFailureException) OrigErr() error {
7317	return nil
7318}
7319
7320func (s *EFSMountFailureException) Error() string {
7321	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
7322}
7323
7324// Status code returns the HTTP status code for the request's response error.
7325func (s *EFSMountFailureException) StatusCode() int {
7326	return s.RespMetadata.StatusCode
7327}
7328
7329// RequestID returns the service's response RequestID for request.
7330func (s *EFSMountFailureException) RequestID() string {
7331	return s.RespMetadata.RequestID
7332}
7333
7334// The function was able to make a network connection to the configured file
7335// system, but the mount operation timed out.
7336type EFSMountTimeoutException struct {
7337	_            struct{}                  `type:"structure"`
7338	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
7339
7340	Message_ *string `locationName:"Message" type:"string"`
7341
7342	Type *string `type:"string"`
7343}
7344
7345// String returns the string representation
7346func (s EFSMountTimeoutException) String() string {
7347	return awsutil.Prettify(s)
7348}
7349
7350// GoString returns the string representation
7351func (s EFSMountTimeoutException) GoString() string {
7352	return s.String()
7353}
7354
7355func newErrorEFSMountTimeoutException(v protocol.ResponseMetadata) error {
7356	return &EFSMountTimeoutException{
7357		RespMetadata: v,
7358	}
7359}
7360
7361// Code returns the exception type name.
7362func (s *EFSMountTimeoutException) Code() string {
7363	return "EFSMountTimeoutException"
7364}
7365
7366// Message returns the exception's message.
7367func (s *EFSMountTimeoutException) Message() string {
7368	if s.Message_ != nil {
7369		return *s.Message_
7370	}
7371	return ""
7372}
7373
7374// OrigErr always returns nil, satisfies awserr.Error interface.
7375func (s *EFSMountTimeoutException) OrigErr() error {
7376	return nil
7377}
7378
7379func (s *EFSMountTimeoutException) Error() string {
7380	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
7381}
7382
7383// Status code returns the HTTP status code for the request's response error.
7384func (s *EFSMountTimeoutException) StatusCode() int {
7385	return s.RespMetadata.StatusCode
7386}
7387
7388// RequestID returns the service's response RequestID for request.
7389func (s *EFSMountTimeoutException) RequestID() string {
7390	return s.RespMetadata.RequestID
7391}
7392
7393// AWS Lambda was not able to create an elastic network interface in the VPC,
7394// specified as part of Lambda function configuration, because the limit for
7395// network interfaces has been reached.
7396type ENILimitReachedException struct {
7397	_            struct{}                  `type:"structure"`
7398	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
7399
7400	Message_ *string `locationName:"Message" type:"string"`
7401
7402	Type *string `type:"string"`
7403}
7404
7405// String returns the string representation
7406func (s ENILimitReachedException) String() string {
7407	return awsutil.Prettify(s)
7408}
7409
7410// GoString returns the string representation
7411func (s ENILimitReachedException) GoString() string {
7412	return s.String()
7413}
7414
7415func newErrorENILimitReachedException(v protocol.ResponseMetadata) error {
7416	return &ENILimitReachedException{
7417		RespMetadata: v,
7418	}
7419}
7420
7421// Code returns the exception type name.
7422func (s *ENILimitReachedException) Code() string {
7423	return "ENILimitReachedException"
7424}
7425
7426// Message returns the exception's message.
7427func (s *ENILimitReachedException) Message() string {
7428	if s.Message_ != nil {
7429		return *s.Message_
7430	}
7431	return ""
7432}
7433
7434// OrigErr always returns nil, satisfies awserr.Error interface.
7435func (s *ENILimitReachedException) OrigErr() error {
7436	return nil
7437}
7438
7439func (s *ENILimitReachedException) Error() string {
7440	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
7441}
7442
7443// Status code returns the HTTP status code for the request's response error.
7444func (s *ENILimitReachedException) StatusCode() int {
7445	return s.RespMetadata.StatusCode
7446}
7447
7448// RequestID returns the service's response RequestID for request.
7449func (s *ENILimitReachedException) RequestID() string {
7450	return s.RespMetadata.RequestID
7451}
7452
7453// A function's environment variable settings.
7454type Environment struct {
7455	_ struct{} `type:"structure"`
7456
7457	// Environment variable key-value pairs.
7458	Variables map[string]*string `type:"map" sensitive:"true"`
7459}
7460
7461// String returns the string representation
7462func (s Environment) String() string {
7463	return awsutil.Prettify(s)
7464}
7465
7466// GoString returns the string representation
7467func (s Environment) GoString() string {
7468	return s.String()
7469}
7470
7471// SetVariables sets the Variables field's value.
7472func (s *Environment) SetVariables(v map[string]*string) *Environment {
7473	s.Variables = v
7474	return s
7475}
7476
7477// Error messages for environment variables that couldn't be applied.
7478type EnvironmentError struct {
7479	_ struct{} `type:"structure"`
7480
7481	// The error code.
7482	ErrorCode *string `type:"string"`
7483
7484	// The error message.
7485	Message *string `type:"string" sensitive:"true"`
7486}
7487
7488// String returns the string representation
7489func (s EnvironmentError) String() string {
7490	return awsutil.Prettify(s)
7491}
7492
7493// GoString returns the string representation
7494func (s EnvironmentError) GoString() string {
7495	return s.String()
7496}
7497
7498// SetErrorCode sets the ErrorCode field's value.
7499func (s *EnvironmentError) SetErrorCode(v string) *EnvironmentError {
7500	s.ErrorCode = &v
7501	return s
7502}
7503
7504// SetMessage sets the Message field's value.
7505func (s *EnvironmentError) SetMessage(v string) *EnvironmentError {
7506	s.Message = &v
7507	return s
7508}
7509
7510// The results of an operation to update or read environment variables. If the
7511// operation is successful, the response contains the environment variables.
7512// If it failed, the response contains details about the error.
7513type EnvironmentResponse struct {
7514	_ struct{} `type:"structure"`
7515
7516	// Error messages for environment variables that couldn't be applied.
7517	Error *EnvironmentError `type:"structure"`
7518
7519	// Environment variable key-value pairs.
7520	Variables map[string]*string `type:"map" sensitive:"true"`
7521}
7522
7523// String returns the string representation
7524func (s EnvironmentResponse) String() string {
7525	return awsutil.Prettify(s)
7526}
7527
7528// GoString returns the string representation
7529func (s EnvironmentResponse) GoString() string {
7530	return s.String()
7531}
7532
7533// SetError sets the Error field's value.
7534func (s *EnvironmentResponse) SetError(v *EnvironmentError) *EnvironmentResponse {
7535	s.Error = v
7536	return s
7537}
7538
7539// SetVariables sets the Variables field's value.
7540func (s *EnvironmentResponse) SetVariables(v map[string]*string) *EnvironmentResponse {
7541	s.Variables = v
7542	return s
7543}
7544
7545// A mapping between an AWS resource and an AWS Lambda function. See CreateEventSourceMapping
7546// for details.
7547type EventSourceMappingConfiguration struct {
7548	_ struct{} `type:"structure"`
7549
7550	// The maximum number of items to retrieve in a single batch.
7551	BatchSize *int64 `min:"1" type:"integer"`
7552
7553	// (Streams) If the function returns an error, split the batch in two and retry.
7554	BisectBatchOnFunctionError *bool `type:"boolean"`
7555
7556	// (Streams) An Amazon SQS queue or Amazon SNS topic destination for discarded
7557	// records.
7558	DestinationConfig *DestinationConfig `type:"structure"`
7559
7560	// The Amazon Resource Name (ARN) of the event source.
7561	EventSourceArn *string `type:"string"`
7562
7563	// The ARN of the Lambda function.
7564	FunctionArn *string `type:"string"`
7565
7566	// The date that the event source mapping was last updated, or its state changed.
7567	LastModified *time.Time `type:"timestamp"`
7568
7569	// The result of the last AWS Lambda invocation of your Lambda function.
7570	LastProcessingResult *string `type:"string"`
7571
7572	// (Streams) The maximum amount of time to gather records before invoking the
7573	// function, in seconds.
7574	MaximumBatchingWindowInSeconds *int64 `type:"integer"`
7575
7576	// (Streams) The maximum age of a record that Lambda sends to a function for
7577	// processing.
7578	MaximumRecordAgeInSeconds *int64 `type:"integer"`
7579
7580	// (Streams) The maximum number of times to retry when the function returns
7581	// an error.
7582	MaximumRetryAttempts *int64 `type:"integer"`
7583
7584	// (Streams) The number of batches to process from each shard concurrently.
7585	ParallelizationFactor *int64 `min:"1" type:"integer"`
7586
7587	// The state of the event source mapping. It can be one of the following: Creating,
7588	// Enabling, Enabled, Disabling, Disabled, Updating, or Deleting.
7589	State *string `type:"string"`
7590
7591	// Indicates whether the last change to the event source mapping was made by
7592	// a user, or by the Lambda service.
7593	StateTransitionReason *string `type:"string"`
7594
7595	// (MSK) The name of the Kafka topic.
7596	Topics []*string `min:"1" type:"list"`
7597
7598	// The identifier of the event source mapping.
7599	UUID *string `type:"string"`
7600}
7601
7602// String returns the string representation
7603func (s EventSourceMappingConfiguration) String() string {
7604	return awsutil.Prettify(s)
7605}
7606
7607// GoString returns the string representation
7608func (s EventSourceMappingConfiguration) GoString() string {
7609	return s.String()
7610}
7611
7612// SetBatchSize sets the BatchSize field's value.
7613func (s *EventSourceMappingConfiguration) SetBatchSize(v int64) *EventSourceMappingConfiguration {
7614	s.BatchSize = &v
7615	return s
7616}
7617
7618// SetBisectBatchOnFunctionError sets the BisectBatchOnFunctionError field's value.
7619func (s *EventSourceMappingConfiguration) SetBisectBatchOnFunctionError(v bool) *EventSourceMappingConfiguration {
7620	s.BisectBatchOnFunctionError = &v
7621	return s
7622}
7623
7624// SetDestinationConfig sets the DestinationConfig field's value.
7625func (s *EventSourceMappingConfiguration) SetDestinationConfig(v *DestinationConfig) *EventSourceMappingConfiguration {
7626	s.DestinationConfig = v
7627	return s
7628}
7629
7630// SetEventSourceArn sets the EventSourceArn field's value.
7631func (s *EventSourceMappingConfiguration) SetEventSourceArn(v string) *EventSourceMappingConfiguration {
7632	s.EventSourceArn = &v
7633	return s
7634}
7635
7636// SetFunctionArn sets the FunctionArn field's value.
7637func (s *EventSourceMappingConfiguration) SetFunctionArn(v string) *EventSourceMappingConfiguration {
7638	s.FunctionArn = &v
7639	return s
7640}
7641
7642// SetLastModified sets the LastModified field's value.
7643func (s *EventSourceMappingConfiguration) SetLastModified(v time.Time) *EventSourceMappingConfiguration {
7644	s.LastModified = &v
7645	return s
7646}
7647
7648// SetLastProcessingResult sets the LastProcessingResult field's value.
7649func (s *EventSourceMappingConfiguration) SetLastProcessingResult(v string) *EventSourceMappingConfiguration {
7650	s.LastProcessingResult = &v
7651	return s
7652}
7653
7654// SetMaximumBatchingWindowInSeconds sets the MaximumBatchingWindowInSeconds field's value.
7655func (s *EventSourceMappingConfiguration) SetMaximumBatchingWindowInSeconds(v int64) *EventSourceMappingConfiguration {
7656	s.MaximumBatchingWindowInSeconds = &v
7657	return s
7658}
7659
7660// SetMaximumRecordAgeInSeconds sets the MaximumRecordAgeInSeconds field's value.
7661func (s *EventSourceMappingConfiguration) SetMaximumRecordAgeInSeconds(v int64) *EventSourceMappingConfiguration {
7662	s.MaximumRecordAgeInSeconds = &v
7663	return s
7664}
7665
7666// SetMaximumRetryAttempts sets the MaximumRetryAttempts field's value.
7667func (s *EventSourceMappingConfiguration) SetMaximumRetryAttempts(v int64) *EventSourceMappingConfiguration {
7668	s.MaximumRetryAttempts = &v
7669	return s
7670}
7671
7672// SetParallelizationFactor sets the ParallelizationFactor field's value.
7673func (s *EventSourceMappingConfiguration) SetParallelizationFactor(v int64) *EventSourceMappingConfiguration {
7674	s.ParallelizationFactor = &v
7675	return s
7676}
7677
7678// SetState sets the State field's value.
7679func (s *EventSourceMappingConfiguration) SetState(v string) *EventSourceMappingConfiguration {
7680	s.State = &v
7681	return s
7682}
7683
7684// SetStateTransitionReason sets the StateTransitionReason field's value.
7685func (s *EventSourceMappingConfiguration) SetStateTransitionReason(v string) *EventSourceMappingConfiguration {
7686	s.StateTransitionReason = &v
7687	return s
7688}
7689
7690// SetTopics sets the Topics field's value.
7691func (s *EventSourceMappingConfiguration) SetTopics(v []*string) *EventSourceMappingConfiguration {
7692	s.Topics = v
7693	return s
7694}
7695
7696// SetUUID sets the UUID field's value.
7697func (s *EventSourceMappingConfiguration) SetUUID(v string) *EventSourceMappingConfiguration {
7698	s.UUID = &v
7699	return s
7700}
7701
7702// Details about the connection between a Lambda function and an Amazon EFS
7703// file system.
7704type FileSystemConfig struct {
7705	_ struct{} `type:"structure"`
7706
7707	// The Amazon Resource Name (ARN) of the Amazon EFS access point that provides
7708	// access to the file system.
7709	//
7710	// Arn is a required field
7711	Arn *string `type:"string" required:"true"`
7712
7713	// The path where the function can access the file system, starting with /mnt/.
7714	//
7715	// LocalMountPath is a required field
7716	LocalMountPath *string `type:"string" required:"true"`
7717}
7718
7719// String returns the string representation
7720func (s FileSystemConfig) String() string {
7721	return awsutil.Prettify(s)
7722}
7723
7724// GoString returns the string representation
7725func (s FileSystemConfig) GoString() string {
7726	return s.String()
7727}
7728
7729// Validate inspects the fields of the type to determine if they are valid.
7730func (s *FileSystemConfig) Validate() error {
7731	invalidParams := request.ErrInvalidParams{Context: "FileSystemConfig"}
7732	if s.Arn == nil {
7733		invalidParams.Add(request.NewErrParamRequired("Arn"))
7734	}
7735	if s.LocalMountPath == nil {
7736		invalidParams.Add(request.NewErrParamRequired("LocalMountPath"))
7737	}
7738
7739	if invalidParams.Len() > 0 {
7740		return invalidParams
7741	}
7742	return nil
7743}
7744
7745// SetArn sets the Arn field's value.
7746func (s *FileSystemConfig) SetArn(v string) *FileSystemConfig {
7747	s.Arn = &v
7748	return s
7749}
7750
7751// SetLocalMountPath sets the LocalMountPath field's value.
7752func (s *FileSystemConfig) SetLocalMountPath(v string) *FileSystemConfig {
7753	s.LocalMountPath = &v
7754	return s
7755}
7756
7757// The code for the Lambda function. You can specify either an object in Amazon
7758// S3, or upload a deployment package directly.
7759type FunctionCode struct {
7760	_ struct{} `type:"structure"`
7761
7762	// An Amazon S3 bucket in the same AWS Region as your function. The bucket can
7763	// be in a different AWS account.
7764	S3Bucket *string `min:"3" type:"string"`
7765
7766	// The Amazon S3 key of the deployment package.
7767	S3Key *string `min:"1" type:"string"`
7768
7769	// For versioned objects, the version of the deployment package object to use.
7770	S3ObjectVersion *string `min:"1" type:"string"`
7771
7772	// The base64-encoded contents of the deployment package. AWS SDK and AWS CLI
7773	// clients handle the encoding for you.
7774	//
7775	// ZipFile is automatically base64 encoded/decoded by the SDK.
7776	ZipFile []byte `type:"blob" sensitive:"true"`
7777}
7778
7779// String returns the string representation
7780func (s FunctionCode) String() string {
7781	return awsutil.Prettify(s)
7782}
7783
7784// GoString returns the string representation
7785func (s FunctionCode) GoString() string {
7786	return s.String()
7787}
7788
7789// Validate inspects the fields of the type to determine if they are valid.
7790func (s *FunctionCode) Validate() error {
7791	invalidParams := request.ErrInvalidParams{Context: "FunctionCode"}
7792	if s.S3Bucket != nil && len(*s.S3Bucket) < 3 {
7793		invalidParams.Add(request.NewErrParamMinLen("S3Bucket", 3))
7794	}
7795	if s.S3Key != nil && len(*s.S3Key) < 1 {
7796		invalidParams.Add(request.NewErrParamMinLen("S3Key", 1))
7797	}
7798	if s.S3ObjectVersion != nil && len(*s.S3ObjectVersion) < 1 {
7799		invalidParams.Add(request.NewErrParamMinLen("S3ObjectVersion", 1))
7800	}
7801
7802	if invalidParams.Len() > 0 {
7803		return invalidParams
7804	}
7805	return nil
7806}
7807
7808// SetS3Bucket sets the S3Bucket field's value.
7809func (s *FunctionCode) SetS3Bucket(v string) *FunctionCode {
7810	s.S3Bucket = &v
7811	return s
7812}
7813
7814// SetS3Key sets the S3Key field's value.
7815func (s *FunctionCode) SetS3Key(v string) *FunctionCode {
7816	s.S3Key = &v
7817	return s
7818}
7819
7820// SetS3ObjectVersion sets the S3ObjectVersion field's value.
7821func (s *FunctionCode) SetS3ObjectVersion(v string) *FunctionCode {
7822	s.S3ObjectVersion = &v
7823	return s
7824}
7825
7826// SetZipFile sets the ZipFile field's value.
7827func (s *FunctionCode) SetZipFile(v []byte) *FunctionCode {
7828	s.ZipFile = v
7829	return s
7830}
7831
7832// Details about a function's deployment package.
7833type FunctionCodeLocation struct {
7834	_ struct{} `type:"structure"`
7835
7836	// A presigned URL that you can use to download the deployment package.
7837	Location *string `type:"string"`
7838
7839	// The service that's hosting the file.
7840	RepositoryType *string `type:"string"`
7841}
7842
7843// String returns the string representation
7844func (s FunctionCodeLocation) String() string {
7845	return awsutil.Prettify(s)
7846}
7847
7848// GoString returns the string representation
7849func (s FunctionCodeLocation) GoString() string {
7850	return s.String()
7851}
7852
7853// SetLocation sets the Location field's value.
7854func (s *FunctionCodeLocation) SetLocation(v string) *FunctionCodeLocation {
7855	s.Location = &v
7856	return s
7857}
7858
7859// SetRepositoryType sets the RepositoryType field's value.
7860func (s *FunctionCodeLocation) SetRepositoryType(v string) *FunctionCodeLocation {
7861	s.RepositoryType = &v
7862	return s
7863}
7864
7865// Details about a function's configuration.
7866type FunctionConfiguration struct {
7867	_ struct{} `type:"structure"`
7868
7869	// The SHA256 hash of the function's deployment package.
7870	CodeSha256 *string `type:"string"`
7871
7872	// The size of the function's deployment package, in bytes.
7873	CodeSize *int64 `type:"long"`
7874
7875	// The function's dead letter queue.
7876	DeadLetterConfig *DeadLetterConfig `type:"structure"`
7877
7878	// The function's description.
7879	Description *string `type:"string"`
7880
7881	// The function's environment variables.
7882	Environment *EnvironmentResponse `type:"structure"`
7883
7884	// Connection settings for an Amazon EFS file system.
7885	FileSystemConfigs []*FileSystemConfig `type:"list"`
7886
7887	// The function's Amazon Resource Name (ARN).
7888	FunctionArn *string `type:"string"`
7889
7890	// The name of the function.
7891	FunctionName *string `min:"1" type:"string"`
7892
7893	// The function that Lambda calls to begin executing your function.
7894	Handler *string `type:"string"`
7895
7896	// The KMS key that's used to encrypt the function's environment variables.
7897	// This key is only returned if you've configured a customer managed CMK.
7898	KMSKeyArn *string `type:"string"`
7899
7900	// The date and time that the function was last updated, in ISO-8601 format
7901	// (https://www.w3.org/TR/NOTE-datetime) (YYYY-MM-DDThh:mm:ss.sTZD).
7902	LastModified *string `type:"string"`
7903
7904	// The status of the last update that was performed on the function. This is
7905	// first set to Successful after function creation completes.
7906	LastUpdateStatus *string `type:"string" enum:"LastUpdateStatus"`
7907
7908	// The reason for the last update that was performed on the function.
7909	LastUpdateStatusReason *string `type:"string"`
7910
7911	// The reason code for the last update that was performed on the function.
7912	LastUpdateStatusReasonCode *string `type:"string" enum:"LastUpdateStatusReasonCode"`
7913
7914	// The function's layers (https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html).
7915	Layers []*Layer `type:"list"`
7916
7917	// For Lambda@Edge functions, the ARN of the master function.
7918	MasterArn *string `type:"string"`
7919
7920	// The memory that's allocated to the function.
7921	MemorySize *int64 `min:"128" type:"integer"`
7922
7923	// The latest updated revision of the function or alias.
7924	RevisionId *string `type:"string"`
7925
7926	// The function's execution role.
7927	Role *string `type:"string"`
7928
7929	// The runtime environment for the Lambda function.
7930	Runtime *string `type:"string" enum:"Runtime"`
7931
7932	// The current state of the function. When the state is Inactive, you can reactivate
7933	// the function by invoking it.
7934	State *string `type:"string" enum:"State"`
7935
7936	// The reason for the function's current state.
7937	StateReason *string `type:"string"`
7938
7939	// The reason code for the function's current state. When the code is Creating,
7940	// you can't invoke or modify the function.
7941	StateReasonCode *string `type:"string" enum:"StateReasonCode"`
7942
7943	// The amount of time in seconds that Lambda allows a function to run before
7944	// stopping it.
7945	Timeout *int64 `min:"1" type:"integer"`
7946
7947	// The function's AWS X-Ray tracing configuration.
7948	TracingConfig *TracingConfigResponse `type:"structure"`
7949
7950	// The version of the Lambda function.
7951	Version *string `min:"1" type:"string"`
7952
7953	// The function's networking configuration.
7954	VpcConfig *VpcConfigResponse `type:"structure"`
7955}
7956
7957// String returns the string representation
7958func (s FunctionConfiguration) String() string {
7959	return awsutil.Prettify(s)
7960}
7961
7962// GoString returns the string representation
7963func (s FunctionConfiguration) GoString() string {
7964	return s.String()
7965}
7966
7967// SetCodeSha256 sets the CodeSha256 field's value.
7968func (s *FunctionConfiguration) SetCodeSha256(v string) *FunctionConfiguration {
7969	s.CodeSha256 = &v
7970	return s
7971}
7972
7973// SetCodeSize sets the CodeSize field's value.
7974func (s *FunctionConfiguration) SetCodeSize(v int64) *FunctionConfiguration {
7975	s.CodeSize = &v
7976	return s
7977}
7978
7979// SetDeadLetterConfig sets the DeadLetterConfig field's value.
7980func (s *FunctionConfiguration) SetDeadLetterConfig(v *DeadLetterConfig) *FunctionConfiguration {
7981	s.DeadLetterConfig = v
7982	return s
7983}
7984
7985// SetDescription sets the Description field's value.
7986func (s *FunctionConfiguration) SetDescription(v string) *FunctionConfiguration {
7987	s.Description = &v
7988	return s
7989}
7990
7991// SetEnvironment sets the Environment field's value.
7992func (s *FunctionConfiguration) SetEnvironment(v *EnvironmentResponse) *FunctionConfiguration {
7993	s.Environment = v
7994	return s
7995}
7996
7997// SetFileSystemConfigs sets the FileSystemConfigs field's value.
7998func (s *FunctionConfiguration) SetFileSystemConfigs(v []*FileSystemConfig) *FunctionConfiguration {
7999	s.FileSystemConfigs = v
8000	return s
8001}
8002
8003// SetFunctionArn sets the FunctionArn field's value.
8004func (s *FunctionConfiguration) SetFunctionArn(v string) *FunctionConfiguration {
8005	s.FunctionArn = &v
8006	return s
8007}
8008
8009// SetFunctionName sets the FunctionName field's value.
8010func (s *FunctionConfiguration) SetFunctionName(v string) *FunctionConfiguration {
8011	s.FunctionName = &v
8012	return s
8013}
8014
8015// SetHandler sets the Handler field's value.
8016func (s *FunctionConfiguration) SetHandler(v string) *FunctionConfiguration {
8017	s.Handler = &v
8018	return s
8019}
8020
8021// SetKMSKeyArn sets the KMSKeyArn field's value.
8022func (s *FunctionConfiguration) SetKMSKeyArn(v string) *FunctionConfiguration {
8023	s.KMSKeyArn = &v
8024	return s
8025}
8026
8027// SetLastModified sets the LastModified field's value.
8028func (s *FunctionConfiguration) SetLastModified(v string) *FunctionConfiguration {
8029	s.LastModified = &v
8030	return s
8031}
8032
8033// SetLastUpdateStatus sets the LastUpdateStatus field's value.
8034func (s *FunctionConfiguration) SetLastUpdateStatus(v string) *FunctionConfiguration {
8035	s.LastUpdateStatus = &v
8036	return s
8037}
8038
8039// SetLastUpdateStatusReason sets the LastUpdateStatusReason field's value.
8040func (s *FunctionConfiguration) SetLastUpdateStatusReason(v string) *FunctionConfiguration {
8041	s.LastUpdateStatusReason = &v
8042	return s
8043}
8044
8045// SetLastUpdateStatusReasonCode sets the LastUpdateStatusReasonCode field's value.
8046func (s *FunctionConfiguration) SetLastUpdateStatusReasonCode(v string) *FunctionConfiguration {
8047	s.LastUpdateStatusReasonCode = &v
8048	return s
8049}
8050
8051// SetLayers sets the Layers field's value.
8052func (s *FunctionConfiguration) SetLayers(v []*Layer) *FunctionConfiguration {
8053	s.Layers = v
8054	return s
8055}
8056
8057// SetMasterArn sets the MasterArn field's value.
8058func (s *FunctionConfiguration) SetMasterArn(v string) *FunctionConfiguration {
8059	s.MasterArn = &v
8060	return s
8061}
8062
8063// SetMemorySize sets the MemorySize field's value.
8064func (s *FunctionConfiguration) SetMemorySize(v int64) *FunctionConfiguration {
8065	s.MemorySize = &v
8066	return s
8067}
8068
8069// SetRevisionId sets the RevisionId field's value.
8070func (s *FunctionConfiguration) SetRevisionId(v string) *FunctionConfiguration {
8071	s.RevisionId = &v
8072	return s
8073}
8074
8075// SetRole sets the Role field's value.
8076func (s *FunctionConfiguration) SetRole(v string) *FunctionConfiguration {
8077	s.Role = &v
8078	return s
8079}
8080
8081// SetRuntime sets the Runtime field's value.
8082func (s *FunctionConfiguration) SetRuntime(v string) *FunctionConfiguration {
8083	s.Runtime = &v
8084	return s
8085}
8086
8087// SetState sets the State field's value.
8088func (s *FunctionConfiguration) SetState(v string) *FunctionConfiguration {
8089	s.State = &v
8090	return s
8091}
8092
8093// SetStateReason sets the StateReason field's value.
8094func (s *FunctionConfiguration) SetStateReason(v string) *FunctionConfiguration {
8095	s.StateReason = &v
8096	return s
8097}
8098
8099// SetStateReasonCode sets the StateReasonCode field's value.
8100func (s *FunctionConfiguration) SetStateReasonCode(v string) *FunctionConfiguration {
8101	s.StateReasonCode = &v
8102	return s
8103}
8104
8105// SetTimeout sets the Timeout field's value.
8106func (s *FunctionConfiguration) SetTimeout(v int64) *FunctionConfiguration {
8107	s.Timeout = &v
8108	return s
8109}
8110
8111// SetTracingConfig sets the TracingConfig field's value.
8112func (s *FunctionConfiguration) SetTracingConfig(v *TracingConfigResponse) *FunctionConfiguration {
8113	s.TracingConfig = v
8114	return s
8115}
8116
8117// SetVersion sets the Version field's value.
8118func (s *FunctionConfiguration) SetVersion(v string) *FunctionConfiguration {
8119	s.Version = &v
8120	return s
8121}
8122
8123// SetVpcConfig sets the VpcConfig field's value.
8124func (s *FunctionConfiguration) SetVpcConfig(v *VpcConfigResponse) *FunctionConfiguration {
8125	s.VpcConfig = v
8126	return s
8127}
8128
8129type FunctionEventInvokeConfig struct {
8130	_ struct{} `type:"structure"`
8131
8132	// A destination for events after they have been sent to a function for processing.
8133	//
8134	// Destinations
8135	//
8136	//    * Function - The Amazon Resource Name (ARN) of a Lambda function.
8137	//
8138	//    * Queue - The ARN of an SQS queue.
8139	//
8140	//    * Topic - The ARN of an SNS topic.
8141	//
8142	//    * Event Bus - The ARN of an Amazon EventBridge event bus.
8143	DestinationConfig *DestinationConfig `type:"structure"`
8144
8145	// The Amazon Resource Name (ARN) of the function.
8146	FunctionArn *string `type:"string"`
8147
8148	// The date and time that the configuration was last updated.
8149	LastModified *time.Time `type:"timestamp"`
8150
8151	// The maximum age of a request that Lambda sends to a function for processing.
8152	MaximumEventAgeInSeconds *int64 `min:"60" type:"integer"`
8153
8154	// The maximum number of times to retry when the function returns an error.
8155	MaximumRetryAttempts *int64 `type:"integer"`
8156}
8157
8158// String returns the string representation
8159func (s FunctionEventInvokeConfig) String() string {
8160	return awsutil.Prettify(s)
8161}
8162
8163// GoString returns the string representation
8164func (s FunctionEventInvokeConfig) GoString() string {
8165	return s.String()
8166}
8167
8168// SetDestinationConfig sets the DestinationConfig field's value.
8169func (s *FunctionEventInvokeConfig) SetDestinationConfig(v *DestinationConfig) *FunctionEventInvokeConfig {
8170	s.DestinationConfig = v
8171	return s
8172}
8173
8174// SetFunctionArn sets the FunctionArn field's value.
8175func (s *FunctionEventInvokeConfig) SetFunctionArn(v string) *FunctionEventInvokeConfig {
8176	s.FunctionArn = &v
8177	return s
8178}
8179
8180// SetLastModified sets the LastModified field's value.
8181func (s *FunctionEventInvokeConfig) SetLastModified(v time.Time) *FunctionEventInvokeConfig {
8182	s.LastModified = &v
8183	return s
8184}
8185
8186// SetMaximumEventAgeInSeconds sets the MaximumEventAgeInSeconds field's value.
8187func (s *FunctionEventInvokeConfig) SetMaximumEventAgeInSeconds(v int64) *FunctionEventInvokeConfig {
8188	s.MaximumEventAgeInSeconds = &v
8189	return s
8190}
8191
8192// SetMaximumRetryAttempts sets the MaximumRetryAttempts field's value.
8193func (s *FunctionEventInvokeConfig) SetMaximumRetryAttempts(v int64) *FunctionEventInvokeConfig {
8194	s.MaximumRetryAttempts = &v
8195	return s
8196}
8197
8198type GetAccountSettingsInput struct {
8199	_ struct{} `type:"structure"`
8200}
8201
8202// String returns the string representation
8203func (s GetAccountSettingsInput) String() string {
8204	return awsutil.Prettify(s)
8205}
8206
8207// GoString returns the string representation
8208func (s GetAccountSettingsInput) GoString() string {
8209	return s.String()
8210}
8211
8212type GetAccountSettingsOutput struct {
8213	_ struct{} `type:"structure"`
8214
8215	// Limits that are related to concurrency and code storage.
8216	AccountLimit *AccountLimit `type:"structure"`
8217
8218	// The number of functions and amount of storage in use.
8219	AccountUsage *AccountUsage `type:"structure"`
8220}
8221
8222// String returns the string representation
8223func (s GetAccountSettingsOutput) String() string {
8224	return awsutil.Prettify(s)
8225}
8226
8227// GoString returns the string representation
8228func (s GetAccountSettingsOutput) GoString() string {
8229	return s.String()
8230}
8231
8232// SetAccountLimit sets the AccountLimit field's value.
8233func (s *GetAccountSettingsOutput) SetAccountLimit(v *AccountLimit) *GetAccountSettingsOutput {
8234	s.AccountLimit = v
8235	return s
8236}
8237
8238// SetAccountUsage sets the AccountUsage field's value.
8239func (s *GetAccountSettingsOutput) SetAccountUsage(v *AccountUsage) *GetAccountSettingsOutput {
8240	s.AccountUsage = v
8241	return s
8242}
8243
8244type GetAliasInput struct {
8245	_ struct{} `type:"structure"`
8246
8247	// The name of the Lambda function.
8248	//
8249	// Name formats
8250	//
8251	//    * Function name - MyFunction.
8252	//
8253	//    * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.
8254	//
8255	//    * Partial ARN - 123456789012:function:MyFunction.
8256	//
8257	// The length constraint applies only to the full ARN. If you specify only the
8258	// function name, it is limited to 64 characters in length.
8259	//
8260	// FunctionName is a required field
8261	FunctionName *string `location:"uri" locationName:"FunctionName" min:"1" type:"string" required:"true"`
8262
8263	// The name of the alias.
8264	//
8265	// Name is a required field
8266	Name *string `location:"uri" locationName:"Name" min:"1" type:"string" required:"true"`
8267}
8268
8269// String returns the string representation
8270func (s GetAliasInput) String() string {
8271	return awsutil.Prettify(s)
8272}
8273
8274// GoString returns the string representation
8275func (s GetAliasInput) GoString() string {
8276	return s.String()
8277}
8278
8279// Validate inspects the fields of the type to determine if they are valid.
8280func (s *GetAliasInput) Validate() error {
8281	invalidParams := request.ErrInvalidParams{Context: "GetAliasInput"}
8282	if s.FunctionName == nil {
8283		invalidParams.Add(request.NewErrParamRequired("FunctionName"))
8284	}
8285	if s.FunctionName != nil && len(*s.FunctionName) < 1 {
8286		invalidParams.Add(request.NewErrParamMinLen("FunctionName", 1))
8287	}
8288	if s.Name == nil {
8289		invalidParams.Add(request.NewErrParamRequired("Name"))
8290	}
8291	if s.Name != nil && len(*s.Name) < 1 {
8292		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
8293	}
8294
8295	if invalidParams.Len() > 0 {
8296		return invalidParams
8297	}
8298	return nil
8299}
8300
8301// SetFunctionName sets the FunctionName field's value.
8302func (s *GetAliasInput) SetFunctionName(v string) *GetAliasInput {
8303	s.FunctionName = &v
8304	return s
8305}
8306
8307// SetName sets the Name field's value.
8308func (s *GetAliasInput) SetName(v string) *GetAliasInput {
8309	s.Name = &v
8310	return s
8311}
8312
8313type GetEventSourceMappingInput struct {
8314	_ struct{} `type:"structure"`
8315
8316	// The identifier of the event source mapping.
8317	//
8318	// UUID is a required field
8319	UUID *string `location:"uri" locationName:"UUID" type:"string" required:"true"`
8320}
8321
8322// String returns the string representation
8323func (s GetEventSourceMappingInput) String() string {
8324	return awsutil.Prettify(s)
8325}
8326
8327// GoString returns the string representation
8328func (s GetEventSourceMappingInput) GoString() string {
8329	return s.String()
8330}
8331
8332// Validate inspects the fields of the type to determine if they are valid.
8333func (s *GetEventSourceMappingInput) Validate() error {
8334	invalidParams := request.ErrInvalidParams{Context: "GetEventSourceMappingInput"}
8335	if s.UUID == nil {
8336		invalidParams.Add(request.NewErrParamRequired("UUID"))
8337	}
8338	if s.UUID != nil && len(*s.UUID) < 1 {
8339		invalidParams.Add(request.NewErrParamMinLen("UUID", 1))
8340	}
8341
8342	if invalidParams.Len() > 0 {
8343		return invalidParams
8344	}
8345	return nil
8346}
8347
8348// SetUUID sets the UUID field's value.
8349func (s *GetEventSourceMappingInput) SetUUID(v string) *GetEventSourceMappingInput {
8350	s.UUID = &v
8351	return s
8352}
8353
8354type GetFunctionConcurrencyInput struct {
8355	_ struct{} `type:"structure"`
8356
8357	// The name of the Lambda function.
8358	//
8359	// Name formats
8360	//
8361	//    * Function name - my-function.
8362	//
8363	//    * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.
8364	//
8365	//    * Partial ARN - 123456789012:function:my-function.
8366	//
8367	// The length constraint applies only to the full ARN. If you specify only the
8368	// function name, it is limited to 64 characters in length.
8369	//
8370	// FunctionName is a required field
8371	FunctionName *string `location:"uri" locationName:"FunctionName" min:"1" type:"string" required:"true"`
8372}
8373
8374// String returns the string representation
8375func (s GetFunctionConcurrencyInput) String() string {
8376	return awsutil.Prettify(s)
8377}
8378
8379// GoString returns the string representation
8380func (s GetFunctionConcurrencyInput) GoString() string {
8381	return s.String()
8382}
8383
8384// Validate inspects the fields of the type to determine if they are valid.
8385func (s *GetFunctionConcurrencyInput) Validate() error {
8386	invalidParams := request.ErrInvalidParams{Context: "GetFunctionConcurrencyInput"}
8387	if s.FunctionName == nil {
8388		invalidParams.Add(request.NewErrParamRequired("FunctionName"))
8389	}
8390	if s.FunctionName != nil && len(*s.FunctionName) < 1 {
8391		invalidParams.Add(request.NewErrParamMinLen("FunctionName", 1))
8392	}
8393
8394	if invalidParams.Len() > 0 {
8395		return invalidParams
8396	}
8397	return nil
8398}
8399
8400// SetFunctionName sets the FunctionName field's value.
8401func (s *GetFunctionConcurrencyInput) SetFunctionName(v string) *GetFunctionConcurrencyInput {
8402	s.FunctionName = &v
8403	return s
8404}
8405
8406type GetFunctionConcurrencyOutput struct {
8407	_ struct{} `type:"structure"`
8408
8409	// The number of simultaneous executions that are reserved for the function.
8410	ReservedConcurrentExecutions *int64 `type:"integer"`
8411}
8412
8413// String returns the string representation
8414func (s GetFunctionConcurrencyOutput) String() string {
8415	return awsutil.Prettify(s)
8416}
8417
8418// GoString returns the string representation
8419func (s GetFunctionConcurrencyOutput) GoString() string {
8420	return s.String()
8421}
8422
8423// SetReservedConcurrentExecutions sets the ReservedConcurrentExecutions field's value.
8424func (s *GetFunctionConcurrencyOutput) SetReservedConcurrentExecutions(v int64) *GetFunctionConcurrencyOutput {
8425	s.ReservedConcurrentExecutions = &v
8426	return s
8427}
8428
8429type GetFunctionConfigurationInput struct {
8430	_ struct{} `type:"structure"`
8431
8432	// The name of the Lambda function, version, or alias.
8433	//
8434	// Name formats
8435	//
8436	//    * Function name - my-function (name-only), my-function:v1 (with alias).
8437	//
8438	//    * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.
8439	//
8440	//    * Partial ARN - 123456789012:function:my-function.
8441	//
8442	// You can append a version number or alias to any of the formats. The length
8443	// constraint applies only to the full ARN. If you specify only the function
8444	// name, it is limited to 64 characters in length.
8445	//
8446	// FunctionName is a required field
8447	FunctionName *string `location:"uri" locationName:"FunctionName" min:"1" type:"string" required:"true"`
8448
8449	// Specify a version or alias to get details about a published version of the
8450	// function.
8451	Qualifier *string `location:"querystring" locationName:"Qualifier" min:"1" type:"string"`
8452}
8453
8454// String returns the string representation
8455func (s GetFunctionConfigurationInput) String() string {
8456	return awsutil.Prettify(s)
8457}
8458
8459// GoString returns the string representation
8460func (s GetFunctionConfigurationInput) GoString() string {
8461	return s.String()
8462}
8463
8464// Validate inspects the fields of the type to determine if they are valid.
8465func (s *GetFunctionConfigurationInput) Validate() error {
8466	invalidParams := request.ErrInvalidParams{Context: "GetFunctionConfigurationInput"}
8467	if s.FunctionName == nil {
8468		invalidParams.Add(request.NewErrParamRequired("FunctionName"))
8469	}
8470	if s.FunctionName != nil && len(*s.FunctionName) < 1 {
8471		invalidParams.Add(request.NewErrParamMinLen("FunctionName", 1))
8472	}
8473	if s.Qualifier != nil && len(*s.Qualifier) < 1 {
8474		invalidParams.Add(request.NewErrParamMinLen("Qualifier", 1))
8475	}
8476
8477	if invalidParams.Len() > 0 {
8478		return invalidParams
8479	}
8480	return nil
8481}
8482
8483// SetFunctionName sets the FunctionName field's value.
8484func (s *GetFunctionConfigurationInput) SetFunctionName(v string) *GetFunctionConfigurationInput {
8485	s.FunctionName = &v
8486	return s
8487}
8488
8489// SetQualifier sets the Qualifier field's value.
8490func (s *GetFunctionConfigurationInput) SetQualifier(v string) *GetFunctionConfigurationInput {
8491	s.Qualifier = &v
8492	return s
8493}
8494
8495type GetFunctionEventInvokeConfigInput struct {
8496	_ struct{} `type:"structure"`
8497
8498	// The name of the Lambda function, version, or alias.
8499	//
8500	// Name formats
8501	//
8502	//    * Function name - my-function (name-only), my-function:v1 (with alias).
8503	//
8504	//    * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.
8505	//
8506	//    * Partial ARN - 123456789012:function:my-function.
8507	//
8508	// You can append a version number or alias to any of the formats. The length
8509	// constraint applies only to the full ARN. If you specify only the function
8510	// name, it is limited to 64 characters in length.
8511	//
8512	// FunctionName is a required field
8513	FunctionName *string `location:"uri" locationName:"FunctionName" min:"1" type:"string" required:"true"`
8514
8515	// A version number or alias name.
8516	Qualifier *string `location:"querystring" locationName:"Qualifier" min:"1" type:"string"`
8517}
8518
8519// String returns the string representation
8520func (s GetFunctionEventInvokeConfigInput) String() string {
8521	return awsutil.Prettify(s)
8522}
8523
8524// GoString returns the string representation
8525func (s GetFunctionEventInvokeConfigInput) GoString() string {
8526	return s.String()
8527}
8528
8529// Validate inspects the fields of the type to determine if they are valid.
8530func (s *GetFunctionEventInvokeConfigInput) Validate() error {
8531	invalidParams := request.ErrInvalidParams{Context: "GetFunctionEventInvokeConfigInput"}
8532	if s.FunctionName == nil {
8533		invalidParams.Add(request.NewErrParamRequired("FunctionName"))
8534	}
8535	if s.FunctionName != nil && len(*s.FunctionName) < 1 {
8536		invalidParams.Add(request.NewErrParamMinLen("FunctionName", 1))
8537	}
8538	if s.Qualifier != nil && len(*s.Qualifier) < 1 {
8539		invalidParams.Add(request.NewErrParamMinLen("Qualifier", 1))
8540	}
8541
8542	if invalidParams.Len() > 0 {
8543		return invalidParams
8544	}
8545	return nil
8546}
8547
8548// SetFunctionName sets the FunctionName field's value.
8549func (s *GetFunctionEventInvokeConfigInput) SetFunctionName(v string) *GetFunctionEventInvokeConfigInput {
8550	s.FunctionName = &v
8551	return s
8552}
8553
8554// SetQualifier sets the Qualifier field's value.
8555func (s *GetFunctionEventInvokeConfigInput) SetQualifier(v string) *GetFunctionEventInvokeConfigInput {
8556	s.Qualifier = &v
8557	return s
8558}
8559
8560type GetFunctionEventInvokeConfigOutput struct {
8561	_ struct{} `type:"structure"`
8562
8563	// A destination for events after they have been sent to a function for processing.
8564	//
8565	// Destinations
8566	//
8567	//    * Function - The Amazon Resource Name (ARN) of a Lambda function.
8568	//
8569	//    * Queue - The ARN of an SQS queue.
8570	//
8571	//    * Topic - The ARN of an SNS topic.
8572	//
8573	//    * Event Bus - The ARN of an Amazon EventBridge event bus.
8574	DestinationConfig *DestinationConfig `type:"structure"`
8575
8576	// The Amazon Resource Name (ARN) of the function.
8577	FunctionArn *string `type:"string"`
8578
8579	// The date and time that the configuration was last updated.
8580	LastModified *time.Time `type:"timestamp"`
8581
8582	// The maximum age of a request that Lambda sends to a function for processing.
8583	MaximumEventAgeInSeconds *int64 `min:"60" type:"integer"`
8584
8585	// The maximum number of times to retry when the function returns an error.
8586	MaximumRetryAttempts *int64 `type:"integer"`
8587}
8588
8589// String returns the string representation
8590func (s GetFunctionEventInvokeConfigOutput) String() string {
8591	return awsutil.Prettify(s)
8592}
8593
8594// GoString returns the string representation
8595func (s GetFunctionEventInvokeConfigOutput) GoString() string {
8596	return s.String()
8597}
8598
8599// SetDestinationConfig sets the DestinationConfig field's value.
8600func (s *GetFunctionEventInvokeConfigOutput) SetDestinationConfig(v *DestinationConfig) *GetFunctionEventInvokeConfigOutput {
8601	s.DestinationConfig = v
8602	return s
8603}
8604
8605// SetFunctionArn sets the FunctionArn field's value.
8606func (s *GetFunctionEventInvokeConfigOutput) SetFunctionArn(v string) *GetFunctionEventInvokeConfigOutput {
8607	s.FunctionArn = &v
8608	return s
8609}
8610
8611// SetLastModified sets the LastModified field's value.
8612func (s *GetFunctionEventInvokeConfigOutput) SetLastModified(v time.Time) *GetFunctionEventInvokeConfigOutput {
8613	s.LastModified = &v
8614	return s
8615}
8616
8617// SetMaximumEventAgeInSeconds sets the MaximumEventAgeInSeconds field's value.
8618func (s *GetFunctionEventInvokeConfigOutput) SetMaximumEventAgeInSeconds(v int64) *GetFunctionEventInvokeConfigOutput {
8619	s.MaximumEventAgeInSeconds = &v
8620	return s
8621}
8622
8623// SetMaximumRetryAttempts sets the MaximumRetryAttempts field's value.
8624func (s *GetFunctionEventInvokeConfigOutput) SetMaximumRetryAttempts(v int64) *GetFunctionEventInvokeConfigOutput {
8625	s.MaximumRetryAttempts = &v
8626	return s
8627}
8628
8629type GetFunctionInput struct {
8630	_ struct{} `type:"structure"`
8631
8632	// The name of the Lambda function, version, or alias.
8633	//
8634	// Name formats
8635	//
8636	//    * Function name - my-function (name-only), my-function:v1 (with alias).
8637	//
8638	//    * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.
8639	//
8640	//    * Partial ARN - 123456789012:function:my-function.
8641	//
8642	// You can append a version number or alias to any of the formats. The length
8643	// constraint applies only to the full ARN. If you specify only the function
8644	// name, it is limited to 64 characters in length.
8645	//
8646	// FunctionName is a required field
8647	FunctionName *string `location:"uri" locationName:"FunctionName" min:"1" type:"string" required:"true"`
8648
8649	// Specify a version or alias to get details about a published version of the
8650	// function.
8651	Qualifier *string `location:"querystring" locationName:"Qualifier" min:"1" type:"string"`
8652}
8653
8654// String returns the string representation
8655func (s GetFunctionInput) String() string {
8656	return awsutil.Prettify(s)
8657}
8658
8659// GoString returns the string representation
8660func (s GetFunctionInput) GoString() string {
8661	return s.String()
8662}
8663
8664// Validate inspects the fields of the type to determine if they are valid.
8665func (s *GetFunctionInput) Validate() error {
8666	invalidParams := request.ErrInvalidParams{Context: "GetFunctionInput"}
8667	if s.FunctionName == nil {
8668		invalidParams.Add(request.NewErrParamRequired("FunctionName"))
8669	}
8670	if s.FunctionName != nil && len(*s.FunctionName) < 1 {
8671		invalidParams.Add(request.NewErrParamMinLen("FunctionName", 1))
8672	}
8673	if s.Qualifier != nil && len(*s.Qualifier) < 1 {
8674		invalidParams.Add(request.NewErrParamMinLen("Qualifier", 1))
8675	}
8676
8677	if invalidParams.Len() > 0 {
8678		return invalidParams
8679	}
8680	return nil
8681}
8682
8683// SetFunctionName sets the FunctionName field's value.
8684func (s *GetFunctionInput) SetFunctionName(v string) *GetFunctionInput {
8685	s.FunctionName = &v
8686	return s
8687}
8688
8689// SetQualifier sets the Qualifier field's value.
8690func (s *GetFunctionInput) SetQualifier(v string) *GetFunctionInput {
8691	s.Qualifier = &v
8692	return s
8693}
8694
8695type GetFunctionOutput struct {
8696	_ struct{} `type:"structure"`
8697
8698	// The deployment package of the function or version.
8699	Code *FunctionCodeLocation `type:"structure"`
8700
8701	// The function's reserved concurrency (https://docs.aws.amazon.com/lambda/latest/dg/concurrent-executions.html).
8702	Concurrency *PutFunctionConcurrencyOutput `type:"structure"`
8703
8704	// The configuration of the function or version.
8705	Configuration *FunctionConfiguration `type:"structure"`
8706
8707	// The function's tags (https://docs.aws.amazon.com/lambda/latest/dg/tagging.html).
8708	Tags map[string]*string `type:"map"`
8709}
8710
8711// String returns the string representation
8712func (s GetFunctionOutput) String() string {
8713	return awsutil.Prettify(s)
8714}
8715
8716// GoString returns the string representation
8717func (s GetFunctionOutput) GoString() string {
8718	return s.String()
8719}
8720
8721// SetCode sets the Code field's value.
8722func (s *GetFunctionOutput) SetCode(v *FunctionCodeLocation) *GetFunctionOutput {
8723	s.Code = v
8724	return s
8725}
8726
8727// SetConcurrency sets the Concurrency field's value.
8728func (s *GetFunctionOutput) SetConcurrency(v *PutFunctionConcurrencyOutput) *GetFunctionOutput {
8729	s.Concurrency = v
8730	return s
8731}
8732
8733// SetConfiguration sets the Configuration field's value.
8734func (s *GetFunctionOutput) SetConfiguration(v *FunctionConfiguration) *GetFunctionOutput {
8735	s.Configuration = v
8736	return s
8737}
8738
8739// SetTags sets the Tags field's value.
8740func (s *GetFunctionOutput) SetTags(v map[string]*string) *GetFunctionOutput {
8741	s.Tags = v
8742	return s
8743}
8744
8745type GetLayerVersionByArnInput struct {
8746	_ struct{} `type:"structure"`
8747
8748	// The ARN of the layer version.
8749	//
8750	// Arn is a required field
8751	Arn *string `location:"querystring" locationName:"Arn" min:"1" type:"string" required:"true"`
8752}
8753
8754// String returns the string representation
8755func (s GetLayerVersionByArnInput) String() string {
8756	return awsutil.Prettify(s)
8757}
8758
8759// GoString returns the string representation
8760func (s GetLayerVersionByArnInput) GoString() string {
8761	return s.String()
8762}
8763
8764// Validate inspects the fields of the type to determine if they are valid.
8765func (s *GetLayerVersionByArnInput) Validate() error {
8766	invalidParams := request.ErrInvalidParams{Context: "GetLayerVersionByArnInput"}
8767	if s.Arn == nil {
8768		invalidParams.Add(request.NewErrParamRequired("Arn"))
8769	}
8770	if s.Arn != nil && len(*s.Arn) < 1 {
8771		invalidParams.Add(request.NewErrParamMinLen("Arn", 1))
8772	}
8773
8774	if invalidParams.Len() > 0 {
8775		return invalidParams
8776	}
8777	return nil
8778}
8779
8780// SetArn sets the Arn field's value.
8781func (s *GetLayerVersionByArnInput) SetArn(v string) *GetLayerVersionByArnInput {
8782	s.Arn = &v
8783	return s
8784}
8785
8786type GetLayerVersionByArnOutput struct {
8787	_ struct{} `type:"structure"`
8788
8789	// The layer's compatible runtimes.
8790	CompatibleRuntimes []*string `type:"list"`
8791
8792	// Details about the layer version.
8793	Content *LayerVersionContentOutput `type:"structure"`
8794
8795	// The date that the layer version was created, in ISO-8601 format (https://www.w3.org/TR/NOTE-datetime)
8796	// (YYYY-MM-DDThh:mm:ss.sTZD).
8797	CreatedDate *string `type:"string"`
8798
8799	// The description of the version.
8800	Description *string `type:"string"`
8801
8802	// The ARN of the layer.
8803	LayerArn *string `min:"1" type:"string"`
8804
8805	// The ARN of the layer version.
8806	LayerVersionArn *string `min:"1" type:"string"`
8807
8808	// The layer's software license.
8809	LicenseInfo *string `type:"string"`
8810
8811	// The version number.
8812	Version *int64 `type:"long"`
8813}
8814
8815// String returns the string representation
8816func (s GetLayerVersionByArnOutput) String() string {
8817	return awsutil.Prettify(s)
8818}
8819
8820// GoString returns the string representation
8821func (s GetLayerVersionByArnOutput) GoString() string {
8822	return s.String()
8823}
8824
8825// SetCompatibleRuntimes sets the CompatibleRuntimes field's value.
8826func (s *GetLayerVersionByArnOutput) SetCompatibleRuntimes(v []*string) *GetLayerVersionByArnOutput {
8827	s.CompatibleRuntimes = v
8828	return s
8829}
8830
8831// SetContent sets the Content field's value.
8832func (s *GetLayerVersionByArnOutput) SetContent(v *LayerVersionContentOutput) *GetLayerVersionByArnOutput {
8833	s.Content = v
8834	return s
8835}
8836
8837// SetCreatedDate sets the CreatedDate field's value.
8838func (s *GetLayerVersionByArnOutput) SetCreatedDate(v string) *GetLayerVersionByArnOutput {
8839	s.CreatedDate = &v
8840	return s
8841}
8842
8843// SetDescription sets the Description field's value.
8844func (s *GetLayerVersionByArnOutput) SetDescription(v string) *GetLayerVersionByArnOutput {
8845	s.Description = &v
8846	return s
8847}
8848
8849// SetLayerArn sets the LayerArn field's value.
8850func (s *GetLayerVersionByArnOutput) SetLayerArn(v string) *GetLayerVersionByArnOutput {
8851	s.LayerArn = &v
8852	return s
8853}
8854
8855// SetLayerVersionArn sets the LayerVersionArn field's value.
8856func (s *GetLayerVersionByArnOutput) SetLayerVersionArn(v string) *GetLayerVersionByArnOutput {
8857	s.LayerVersionArn = &v
8858	return s
8859}
8860
8861// SetLicenseInfo sets the LicenseInfo field's value.
8862func (s *GetLayerVersionByArnOutput) SetLicenseInfo(v string) *GetLayerVersionByArnOutput {
8863	s.LicenseInfo = &v
8864	return s
8865}
8866
8867// SetVersion sets the Version field's value.
8868func (s *GetLayerVersionByArnOutput) SetVersion(v int64) *GetLayerVersionByArnOutput {
8869	s.Version = &v
8870	return s
8871}
8872
8873type GetLayerVersionInput struct {
8874	_ struct{} `type:"structure"`
8875
8876	// The name or Amazon Resource Name (ARN) of the layer.
8877	//
8878	// LayerName is a required field
8879	LayerName *string `location:"uri" locationName:"LayerName" min:"1" type:"string" required:"true"`
8880
8881	// The version number.
8882	//
8883	// VersionNumber is a required field
8884	VersionNumber *int64 `location:"uri" locationName:"VersionNumber" type:"long" required:"true"`
8885}
8886
8887// String returns the string representation
8888func (s GetLayerVersionInput) String() string {
8889	return awsutil.Prettify(s)
8890}
8891
8892// GoString returns the string representation
8893func (s GetLayerVersionInput) GoString() string {
8894	return s.String()
8895}
8896
8897// Validate inspects the fields of the type to determine if they are valid.
8898func (s *GetLayerVersionInput) Validate() error {
8899	invalidParams := request.ErrInvalidParams{Context: "GetLayerVersionInput"}
8900	if s.LayerName == nil {
8901		invalidParams.Add(request.NewErrParamRequired("LayerName"))
8902	}
8903	if s.LayerName != nil && len(*s.LayerName) < 1 {
8904		invalidParams.Add(request.NewErrParamMinLen("LayerName", 1))
8905	}
8906	if s.VersionNumber == nil {
8907		invalidParams.Add(request.NewErrParamRequired("VersionNumber"))
8908	}
8909
8910	if invalidParams.Len() > 0 {
8911		return invalidParams
8912	}
8913	return nil
8914}
8915
8916// SetLayerName sets the LayerName field's value.
8917func (s *GetLayerVersionInput) SetLayerName(v string) *GetLayerVersionInput {
8918	s.LayerName = &v
8919	return s
8920}
8921
8922// SetVersionNumber sets the VersionNumber field's value.
8923func (s *GetLayerVersionInput) SetVersionNumber(v int64) *GetLayerVersionInput {
8924	s.VersionNumber = &v
8925	return s
8926}
8927
8928type GetLayerVersionOutput struct {
8929	_ struct{} `type:"structure"`
8930
8931	// The layer's compatible runtimes.
8932	CompatibleRuntimes []*string `type:"list"`
8933
8934	// Details about the layer version.
8935	Content *LayerVersionContentOutput `type:"structure"`
8936
8937	// The date that the layer version was created, in ISO-8601 format (https://www.w3.org/TR/NOTE-datetime)
8938	// (YYYY-MM-DDThh:mm:ss.sTZD).
8939	CreatedDate *string `type:"string"`
8940
8941	// The description of the version.
8942	Description *string `type:"string"`
8943
8944	// The ARN of the layer.
8945	LayerArn *string `min:"1" type:"string"`
8946
8947	// The ARN of the layer version.
8948	LayerVersionArn *string `min:"1" type:"string"`
8949
8950	// The layer's software license.
8951	LicenseInfo *string `type:"string"`
8952
8953	// The version number.
8954	Version *int64 `type:"long"`
8955}
8956
8957// String returns the string representation
8958func (s GetLayerVersionOutput) String() string {
8959	return awsutil.Prettify(s)
8960}
8961
8962// GoString returns the string representation
8963func (s GetLayerVersionOutput) GoString() string {
8964	return s.String()
8965}
8966
8967// SetCompatibleRuntimes sets the CompatibleRuntimes field's value.
8968func (s *GetLayerVersionOutput) SetCompatibleRuntimes(v []*string) *GetLayerVersionOutput {
8969	s.CompatibleRuntimes = v
8970	return s
8971}
8972
8973// SetContent sets the Content field's value.
8974func (s *GetLayerVersionOutput) SetContent(v *LayerVersionContentOutput) *GetLayerVersionOutput {
8975	s.Content = v
8976	return s
8977}
8978
8979// SetCreatedDate sets the CreatedDate field's value.
8980func (s *GetLayerVersionOutput) SetCreatedDate(v string) *GetLayerVersionOutput {
8981	s.CreatedDate = &v
8982	return s
8983}
8984
8985// SetDescription sets the Description field's value.
8986func (s *GetLayerVersionOutput) SetDescription(v string) *GetLayerVersionOutput {
8987	s.Description = &v
8988	return s
8989}
8990
8991// SetLayerArn sets the LayerArn field's value.
8992func (s *GetLayerVersionOutput) SetLayerArn(v string) *GetLayerVersionOutput {
8993	s.LayerArn = &v
8994	return s
8995}
8996
8997// SetLayerVersionArn sets the LayerVersionArn field's value.
8998func (s *GetLayerVersionOutput) SetLayerVersionArn(v string) *GetLayerVersionOutput {
8999	s.LayerVersionArn = &v
9000	return s
9001}
9002
9003// SetLicenseInfo sets the LicenseInfo field's value.
9004func (s *GetLayerVersionOutput) SetLicenseInfo(v string) *GetLayerVersionOutput {
9005	s.LicenseInfo = &v
9006	return s
9007}
9008
9009// SetVersion sets the Version field's value.
9010func (s *GetLayerVersionOutput) SetVersion(v int64) *GetLayerVersionOutput {
9011	s.Version = &v
9012	return s
9013}
9014
9015type GetLayerVersionPolicyInput struct {
9016	_ struct{} `type:"structure"`
9017
9018	// The name or Amazon Resource Name (ARN) of the layer.
9019	//
9020	// LayerName is a required field
9021	LayerName *string `location:"uri" locationName:"LayerName" min:"1" type:"string" required:"true"`
9022
9023	// The version number.
9024	//
9025	// VersionNumber is a required field
9026	VersionNumber *int64 `location:"uri" locationName:"VersionNumber" type:"long" required:"true"`
9027}
9028
9029// String returns the string representation
9030func (s GetLayerVersionPolicyInput) String() string {
9031	return awsutil.Prettify(s)
9032}
9033
9034// GoString returns the string representation
9035func (s GetLayerVersionPolicyInput) GoString() string {
9036	return s.String()
9037}
9038
9039// Validate inspects the fields of the type to determine if they are valid.
9040func (s *GetLayerVersionPolicyInput) Validate() error {
9041	invalidParams := request.ErrInvalidParams{Context: "GetLayerVersionPolicyInput"}
9042	if s.LayerName == nil {
9043		invalidParams.Add(request.NewErrParamRequired("LayerName"))
9044	}
9045	if s.LayerName != nil && len(*s.LayerName) < 1 {
9046		invalidParams.Add(request.NewErrParamMinLen("LayerName", 1))
9047	}
9048	if s.VersionNumber == nil {
9049		invalidParams.Add(request.NewErrParamRequired("VersionNumber"))
9050	}
9051
9052	if invalidParams.Len() > 0 {
9053		return invalidParams
9054	}
9055	return nil
9056}
9057
9058// SetLayerName sets the LayerName field's value.
9059func (s *GetLayerVersionPolicyInput) SetLayerName(v string) *GetLayerVersionPolicyInput {
9060	s.LayerName = &v
9061	return s
9062}
9063
9064// SetVersionNumber sets the VersionNumber field's value.
9065func (s *GetLayerVersionPolicyInput) SetVersionNumber(v int64) *GetLayerVersionPolicyInput {
9066	s.VersionNumber = &v
9067	return s
9068}
9069
9070type GetLayerVersionPolicyOutput struct {
9071	_ struct{} `type:"structure"`
9072
9073	// The policy document.
9074	Policy *string `type:"string"`
9075
9076	// A unique identifier for the current revision of the policy.
9077	RevisionId *string `type:"string"`
9078}
9079
9080// String returns the string representation
9081func (s GetLayerVersionPolicyOutput) String() string {
9082	return awsutil.Prettify(s)
9083}
9084
9085// GoString returns the string representation
9086func (s GetLayerVersionPolicyOutput) GoString() string {
9087	return s.String()
9088}
9089
9090// SetPolicy sets the Policy field's value.
9091func (s *GetLayerVersionPolicyOutput) SetPolicy(v string) *GetLayerVersionPolicyOutput {
9092	s.Policy = &v
9093	return s
9094}
9095
9096// SetRevisionId sets the RevisionId field's value.
9097func (s *GetLayerVersionPolicyOutput) SetRevisionId(v string) *GetLayerVersionPolicyOutput {
9098	s.RevisionId = &v
9099	return s
9100}
9101
9102type GetPolicyInput struct {
9103	_ struct{} `type:"structure"`
9104
9105	// The name of the Lambda function, version, or alias.
9106	//
9107	// Name formats
9108	//
9109	//    * Function name - my-function (name-only), my-function:v1 (with alias).
9110	//
9111	//    * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.
9112	//
9113	//    * Partial ARN - 123456789012:function:my-function.
9114	//
9115	// You can append a version number or alias to any of the formats. The length
9116	// constraint applies only to the full ARN. If you specify only the function
9117	// name, it is limited to 64 characters in length.
9118	//
9119	// FunctionName is a required field
9120	FunctionName *string `location:"uri" locationName:"FunctionName" min:"1" type:"string" required:"true"`
9121
9122	// Specify a version or alias to get the policy for that resource.
9123	Qualifier *string `location:"querystring" locationName:"Qualifier" min:"1" type:"string"`
9124}
9125
9126// String returns the string representation
9127func (s GetPolicyInput) String() string {
9128	return awsutil.Prettify(s)
9129}
9130
9131// GoString returns the string representation
9132func (s GetPolicyInput) GoString() string {
9133	return s.String()
9134}
9135
9136// Validate inspects the fields of the type to determine if they are valid.
9137func (s *GetPolicyInput) Validate() error {
9138	invalidParams := request.ErrInvalidParams{Context: "GetPolicyInput"}
9139	if s.FunctionName == nil {
9140		invalidParams.Add(request.NewErrParamRequired("FunctionName"))
9141	}
9142	if s.FunctionName != nil && len(*s.FunctionName) < 1 {
9143		invalidParams.Add(request.NewErrParamMinLen("FunctionName", 1))
9144	}
9145	if s.Qualifier != nil && len(*s.Qualifier) < 1 {
9146		invalidParams.Add(request.NewErrParamMinLen("Qualifier", 1))
9147	}
9148
9149	if invalidParams.Len() > 0 {
9150		return invalidParams
9151	}
9152	return nil
9153}
9154
9155// SetFunctionName sets the FunctionName field's value.
9156func (s *GetPolicyInput) SetFunctionName(v string) *GetPolicyInput {
9157	s.FunctionName = &v
9158	return s
9159}
9160
9161// SetQualifier sets the Qualifier field's value.
9162func (s *GetPolicyInput) SetQualifier(v string) *GetPolicyInput {
9163	s.Qualifier = &v
9164	return s
9165}
9166
9167type GetPolicyOutput struct {
9168	_ struct{} `type:"structure"`
9169
9170	// The resource-based policy.
9171	Policy *string `type:"string"`
9172
9173	// A unique identifier for the current revision of the policy.
9174	RevisionId *string `type:"string"`
9175}
9176
9177// String returns the string representation
9178func (s GetPolicyOutput) String() string {
9179	return awsutil.Prettify(s)
9180}
9181
9182// GoString returns the string representation
9183func (s GetPolicyOutput) GoString() string {
9184	return s.String()
9185}
9186
9187// SetPolicy sets the Policy field's value.
9188func (s *GetPolicyOutput) SetPolicy(v string) *GetPolicyOutput {
9189	s.Policy = &v
9190	return s
9191}
9192
9193// SetRevisionId sets the RevisionId field's value.
9194func (s *GetPolicyOutput) SetRevisionId(v string) *GetPolicyOutput {
9195	s.RevisionId = &v
9196	return s
9197}
9198
9199type GetProvisionedConcurrencyConfigInput struct {
9200	_ struct{} `type:"structure"`
9201
9202	// The name of the Lambda function.
9203	//
9204	// Name formats
9205	//
9206	//    * Function name - my-function.
9207	//
9208	//    * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.
9209	//
9210	//    * Partial ARN - 123456789012:function:my-function.
9211	//
9212	// The length constraint applies only to the full ARN. If you specify only the
9213	// function name, it is limited to 64 characters in length.
9214	//
9215	// FunctionName is a required field
9216	FunctionName *string `location:"uri" locationName:"FunctionName" min:"1" type:"string" required:"true"`
9217
9218	// The version number or alias name.
9219	//
9220	// Qualifier is a required field
9221	Qualifier *string `location:"querystring" locationName:"Qualifier" min:"1" type:"string" required:"true"`
9222}
9223
9224// String returns the string representation
9225func (s GetProvisionedConcurrencyConfigInput) String() string {
9226	return awsutil.Prettify(s)
9227}
9228
9229// GoString returns the string representation
9230func (s GetProvisionedConcurrencyConfigInput) GoString() string {
9231	return s.String()
9232}
9233
9234// Validate inspects the fields of the type to determine if they are valid.
9235func (s *GetProvisionedConcurrencyConfigInput) Validate() error {
9236	invalidParams := request.ErrInvalidParams{Context: "GetProvisionedConcurrencyConfigInput"}
9237	if s.FunctionName == nil {
9238		invalidParams.Add(request.NewErrParamRequired("FunctionName"))
9239	}
9240	if s.FunctionName != nil && len(*s.FunctionName) < 1 {
9241		invalidParams.Add(request.NewErrParamMinLen("FunctionName", 1))
9242	}
9243	if s.Qualifier == nil {
9244		invalidParams.Add(request.NewErrParamRequired("Qualifier"))
9245	}
9246	if s.Qualifier != nil && len(*s.Qualifier) < 1 {
9247		invalidParams.Add(request.NewErrParamMinLen("Qualifier", 1))
9248	}
9249
9250	if invalidParams.Len() > 0 {
9251		return invalidParams
9252	}
9253	return nil
9254}
9255
9256// SetFunctionName sets the FunctionName field's value.
9257func (s *GetProvisionedConcurrencyConfigInput) SetFunctionName(v string) *GetProvisionedConcurrencyConfigInput {
9258	s.FunctionName = &v
9259	return s
9260}
9261
9262// SetQualifier sets the Qualifier field's value.
9263func (s *GetProvisionedConcurrencyConfigInput) SetQualifier(v string) *GetProvisionedConcurrencyConfigInput {
9264	s.Qualifier = &v
9265	return s
9266}
9267
9268type GetProvisionedConcurrencyConfigOutput struct {
9269	_ struct{} `type:"structure"`
9270
9271	// The amount of provisioned concurrency allocated.
9272	AllocatedProvisionedConcurrentExecutions *int64 `type:"integer"`
9273
9274	// The amount of provisioned concurrency available.
9275	AvailableProvisionedConcurrentExecutions *int64 `type:"integer"`
9276
9277	// The date and time that a user last updated the configuration, in ISO 8601
9278	// format (https://www.iso.org/iso-8601-date-and-time-format.html).
9279	LastModified *string `type:"string"`
9280
9281	// The amount of provisioned concurrency requested.
9282	RequestedProvisionedConcurrentExecutions *int64 `min:"1" type:"integer"`
9283
9284	// The status of the allocation process.
9285	Status *string `type:"string" enum:"ProvisionedConcurrencyStatusEnum"`
9286
9287	// For failed allocations, the reason that provisioned concurrency could not
9288	// be allocated.
9289	StatusReason *string `type:"string"`
9290}
9291
9292// String returns the string representation
9293func (s GetProvisionedConcurrencyConfigOutput) String() string {
9294	return awsutil.Prettify(s)
9295}
9296
9297// GoString returns the string representation
9298func (s GetProvisionedConcurrencyConfigOutput) GoString() string {
9299	return s.String()
9300}
9301
9302// SetAllocatedProvisionedConcurrentExecutions sets the AllocatedProvisionedConcurrentExecutions field's value.
9303func (s *GetProvisionedConcurrencyConfigOutput) SetAllocatedProvisionedConcurrentExecutions(v int64) *GetProvisionedConcurrencyConfigOutput {
9304	s.AllocatedProvisionedConcurrentExecutions = &v
9305	return s
9306}
9307
9308// SetAvailableProvisionedConcurrentExecutions sets the AvailableProvisionedConcurrentExecutions field's value.
9309func (s *GetProvisionedConcurrencyConfigOutput) SetAvailableProvisionedConcurrentExecutions(v int64) *GetProvisionedConcurrencyConfigOutput {
9310	s.AvailableProvisionedConcurrentExecutions = &v
9311	return s
9312}
9313
9314// SetLastModified sets the LastModified field's value.
9315func (s *GetProvisionedConcurrencyConfigOutput) SetLastModified(v string) *GetProvisionedConcurrencyConfigOutput {
9316	s.LastModified = &v
9317	return s
9318}
9319
9320// SetRequestedProvisionedConcurrentExecutions sets the RequestedProvisionedConcurrentExecutions field's value.
9321func (s *GetProvisionedConcurrencyConfigOutput) SetRequestedProvisionedConcurrentExecutions(v int64) *GetProvisionedConcurrencyConfigOutput {
9322	s.RequestedProvisionedConcurrentExecutions = &v
9323	return s
9324}
9325
9326// SetStatus sets the Status field's value.
9327func (s *GetProvisionedConcurrencyConfigOutput) SetStatus(v string) *GetProvisionedConcurrencyConfigOutput {
9328	s.Status = &v
9329	return s
9330}
9331
9332// SetStatusReason sets the StatusReason field's value.
9333func (s *GetProvisionedConcurrencyConfigOutput) SetStatusReason(v string) *GetProvisionedConcurrencyConfigOutput {
9334	s.StatusReason = &v
9335	return s
9336}
9337
9338// One of the parameters in the request is invalid.
9339type InvalidParameterValueException struct {
9340	_            struct{}                  `type:"structure"`
9341	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
9342
9343	// The exception message.
9344	Message_ *string `locationName:"message" type:"string"`
9345
9346	// The exception type.
9347	Type *string `type:"string"`
9348}
9349
9350// String returns the string representation
9351func (s InvalidParameterValueException) String() string {
9352	return awsutil.Prettify(s)
9353}
9354
9355// GoString returns the string representation
9356func (s InvalidParameterValueException) GoString() string {
9357	return s.String()
9358}
9359
9360func newErrorInvalidParameterValueException(v protocol.ResponseMetadata) error {
9361	return &InvalidParameterValueException{
9362		RespMetadata: v,
9363	}
9364}
9365
9366// Code returns the exception type name.
9367func (s *InvalidParameterValueException) Code() string {
9368	return "InvalidParameterValueException"
9369}
9370
9371// Message returns the exception's message.
9372func (s *InvalidParameterValueException) Message() string {
9373	if s.Message_ != nil {
9374		return *s.Message_
9375	}
9376	return ""
9377}
9378
9379// OrigErr always returns nil, satisfies awserr.Error interface.
9380func (s *InvalidParameterValueException) OrigErr() error {
9381	return nil
9382}
9383
9384func (s *InvalidParameterValueException) Error() string {
9385	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
9386}
9387
9388// Status code returns the HTTP status code for the request's response error.
9389func (s *InvalidParameterValueException) StatusCode() int {
9390	return s.RespMetadata.StatusCode
9391}
9392
9393// RequestID returns the service's response RequestID for request.
9394func (s *InvalidParameterValueException) RequestID() string {
9395	return s.RespMetadata.RequestID
9396}
9397
9398// The request body could not be parsed as JSON.
9399type InvalidRequestContentException struct {
9400	_            struct{}                  `type:"structure"`
9401	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
9402
9403	// The exception message.
9404	Message_ *string `locationName:"message" type:"string"`
9405
9406	// The exception type.
9407	Type *string `type:"string"`
9408}
9409
9410// String returns the string representation
9411func (s InvalidRequestContentException) String() string {
9412	return awsutil.Prettify(s)
9413}
9414
9415// GoString returns the string representation
9416func (s InvalidRequestContentException) GoString() string {
9417	return s.String()
9418}
9419
9420func newErrorInvalidRequestContentException(v protocol.ResponseMetadata) error {
9421	return &InvalidRequestContentException{
9422		RespMetadata: v,
9423	}
9424}
9425
9426// Code returns the exception type name.
9427func (s *InvalidRequestContentException) Code() string {
9428	return "InvalidRequestContentException"
9429}
9430
9431// Message returns the exception's message.
9432func (s *InvalidRequestContentException) Message() string {
9433	if s.Message_ != nil {
9434		return *s.Message_
9435	}
9436	return ""
9437}
9438
9439// OrigErr always returns nil, satisfies awserr.Error interface.
9440func (s *InvalidRequestContentException) OrigErr() error {
9441	return nil
9442}
9443
9444func (s *InvalidRequestContentException) Error() string {
9445	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
9446}
9447
9448// Status code returns the HTTP status code for the request's response error.
9449func (s *InvalidRequestContentException) StatusCode() int {
9450	return s.RespMetadata.StatusCode
9451}
9452
9453// RequestID returns the service's response RequestID for request.
9454func (s *InvalidRequestContentException) RequestID() string {
9455	return s.RespMetadata.RequestID
9456}
9457
9458// The runtime or runtime version specified is not supported.
9459type InvalidRuntimeException struct {
9460	_            struct{}                  `type:"structure"`
9461	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
9462
9463	Message_ *string `locationName:"Message" type:"string"`
9464
9465	Type *string `type:"string"`
9466}
9467
9468// String returns the string representation
9469func (s InvalidRuntimeException) String() string {
9470	return awsutil.Prettify(s)
9471}
9472
9473// GoString returns the string representation
9474func (s InvalidRuntimeException) GoString() string {
9475	return s.String()
9476}
9477
9478func newErrorInvalidRuntimeException(v protocol.ResponseMetadata) error {
9479	return &InvalidRuntimeException{
9480		RespMetadata: v,
9481	}
9482}
9483
9484// Code returns the exception type name.
9485func (s *InvalidRuntimeException) Code() string {
9486	return "InvalidRuntimeException"
9487}
9488
9489// Message returns the exception's message.
9490func (s *InvalidRuntimeException) Message() string {
9491	if s.Message_ != nil {
9492		return *s.Message_
9493	}
9494	return ""
9495}
9496
9497// OrigErr always returns nil, satisfies awserr.Error interface.
9498func (s *InvalidRuntimeException) OrigErr() error {
9499	return nil
9500}
9501
9502func (s *InvalidRuntimeException) Error() string {
9503	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
9504}
9505
9506// Status code returns the HTTP status code for the request's response error.
9507func (s *InvalidRuntimeException) StatusCode() int {
9508	return s.RespMetadata.StatusCode
9509}
9510
9511// RequestID returns the service's response RequestID for request.
9512func (s *InvalidRuntimeException) RequestID() string {
9513	return s.RespMetadata.RequestID
9514}
9515
9516// The Security Group ID provided in the Lambda function VPC configuration is
9517// invalid.
9518type InvalidSecurityGroupIDException struct {
9519	_            struct{}                  `type:"structure"`
9520	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
9521
9522	Message_ *string `locationName:"Message" type:"string"`
9523
9524	Type *string `type:"string"`
9525}
9526
9527// String returns the string representation
9528func (s InvalidSecurityGroupIDException) String() string {
9529	return awsutil.Prettify(s)
9530}
9531
9532// GoString returns the string representation
9533func (s InvalidSecurityGroupIDException) GoString() string {
9534	return s.String()
9535}
9536
9537func newErrorInvalidSecurityGroupIDException(v protocol.ResponseMetadata) error {
9538	return &InvalidSecurityGroupIDException{
9539		RespMetadata: v,
9540	}
9541}
9542
9543// Code returns the exception type name.
9544func (s *InvalidSecurityGroupIDException) Code() string {
9545	return "InvalidSecurityGroupIDException"
9546}
9547
9548// Message returns the exception's message.
9549func (s *InvalidSecurityGroupIDException) Message() string {
9550	if s.Message_ != nil {
9551		return *s.Message_
9552	}
9553	return ""
9554}
9555
9556// OrigErr always returns nil, satisfies awserr.Error interface.
9557func (s *InvalidSecurityGroupIDException) OrigErr() error {
9558	return nil
9559}
9560
9561func (s *InvalidSecurityGroupIDException) Error() string {
9562	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
9563}
9564
9565// Status code returns the HTTP status code for the request's response error.
9566func (s *InvalidSecurityGroupIDException) StatusCode() int {
9567	return s.RespMetadata.StatusCode
9568}
9569
9570// RequestID returns the service's response RequestID for request.
9571func (s *InvalidSecurityGroupIDException) RequestID() string {
9572	return s.RespMetadata.RequestID
9573}
9574
9575// The Subnet ID provided in the Lambda function VPC configuration is invalid.
9576type InvalidSubnetIDException struct {
9577	_            struct{}                  `type:"structure"`
9578	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
9579
9580	Message_ *string `locationName:"Message" type:"string"`
9581
9582	Type *string `type:"string"`
9583}
9584
9585// String returns the string representation
9586func (s InvalidSubnetIDException) String() string {
9587	return awsutil.Prettify(s)
9588}
9589
9590// GoString returns the string representation
9591func (s InvalidSubnetIDException) GoString() string {
9592	return s.String()
9593}
9594
9595func newErrorInvalidSubnetIDException(v protocol.ResponseMetadata) error {
9596	return &InvalidSubnetIDException{
9597		RespMetadata: v,
9598	}
9599}
9600
9601// Code returns the exception type name.
9602func (s *InvalidSubnetIDException) Code() string {
9603	return "InvalidSubnetIDException"
9604}
9605
9606// Message returns the exception's message.
9607func (s *InvalidSubnetIDException) Message() string {
9608	if s.Message_ != nil {
9609		return *s.Message_
9610	}
9611	return ""
9612}
9613
9614// OrigErr always returns nil, satisfies awserr.Error interface.
9615func (s *InvalidSubnetIDException) OrigErr() error {
9616	return nil
9617}
9618
9619func (s *InvalidSubnetIDException) Error() string {
9620	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
9621}
9622
9623// Status code returns the HTTP status code for the request's response error.
9624func (s *InvalidSubnetIDException) StatusCode() int {
9625	return s.RespMetadata.StatusCode
9626}
9627
9628// RequestID returns the service's response RequestID for request.
9629func (s *InvalidSubnetIDException) RequestID() string {
9630	return s.RespMetadata.RequestID
9631}
9632
9633// AWS Lambda could not unzip the deployment package.
9634type InvalidZipFileException struct {
9635	_            struct{}                  `type:"structure"`
9636	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
9637
9638	Message_ *string `locationName:"Message" type:"string"`
9639
9640	Type *string `type:"string"`
9641}
9642
9643// String returns the string representation
9644func (s InvalidZipFileException) String() string {
9645	return awsutil.Prettify(s)
9646}
9647
9648// GoString returns the string representation
9649func (s InvalidZipFileException) GoString() string {
9650	return s.String()
9651}
9652
9653func newErrorInvalidZipFileException(v protocol.ResponseMetadata) error {
9654	return &InvalidZipFileException{
9655		RespMetadata: v,
9656	}
9657}
9658
9659// Code returns the exception type name.
9660func (s *InvalidZipFileException) Code() string {
9661	return "InvalidZipFileException"
9662}
9663
9664// Message returns the exception's message.
9665func (s *InvalidZipFileException) Message() string {
9666	if s.Message_ != nil {
9667		return *s.Message_
9668	}
9669	return ""
9670}
9671
9672// OrigErr always returns nil, satisfies awserr.Error interface.
9673func (s *InvalidZipFileException) OrigErr() error {
9674	return nil
9675}
9676
9677func (s *InvalidZipFileException) Error() string {
9678	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
9679}
9680
9681// Status code returns the HTTP status code for the request's response error.
9682func (s *InvalidZipFileException) StatusCode() int {
9683	return s.RespMetadata.StatusCode
9684}
9685
9686// RequestID returns the service's response RequestID for request.
9687func (s *InvalidZipFileException) RequestID() string {
9688	return s.RespMetadata.RequestID
9689}
9690
9691// Deprecated: InvokeAsyncInput has been deprecated
9692type InvokeAsyncInput struct {
9693	_ struct{} `deprecated:"true" type:"structure" payload:"InvokeArgs"`
9694
9695	// The name of the Lambda function.
9696	//
9697	// Name formats
9698	//
9699	//    * Function name - my-function.
9700	//
9701	//    * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.
9702	//
9703	//    * Partial ARN - 123456789012:function:my-function.
9704	//
9705	// The length constraint applies only to the full ARN. If you specify only the
9706	// function name, it is limited to 64 characters in length.
9707	//
9708	// FunctionName is a required field
9709	FunctionName *string `location:"uri" locationName:"FunctionName" min:"1" type:"string" required:"true"`
9710
9711	// The JSON that you want to provide to your Lambda function as input.
9712	//
9713	// InvokeArgs is a required field
9714	InvokeArgs io.ReadSeeker `type:"blob" required:"true"`
9715}
9716
9717// String returns the string representation
9718func (s InvokeAsyncInput) String() string {
9719	return awsutil.Prettify(s)
9720}
9721
9722// GoString returns the string representation
9723func (s InvokeAsyncInput) GoString() string {
9724	return s.String()
9725}
9726
9727// Validate inspects the fields of the type to determine if they are valid.
9728func (s *InvokeAsyncInput) Validate() error {
9729	invalidParams := request.ErrInvalidParams{Context: "InvokeAsyncInput"}
9730	if s.FunctionName == nil {
9731		invalidParams.Add(request.NewErrParamRequired("FunctionName"))
9732	}
9733	if s.FunctionName != nil && len(*s.FunctionName) < 1 {
9734		invalidParams.Add(request.NewErrParamMinLen("FunctionName", 1))
9735	}
9736	if s.InvokeArgs == nil {
9737		invalidParams.Add(request.NewErrParamRequired("InvokeArgs"))
9738	}
9739
9740	if invalidParams.Len() > 0 {
9741		return invalidParams
9742	}
9743	return nil
9744}
9745
9746// SetFunctionName sets the FunctionName field's value.
9747func (s *InvokeAsyncInput) SetFunctionName(v string) *InvokeAsyncInput {
9748	s.FunctionName = &v
9749	return s
9750}
9751
9752// SetInvokeArgs sets the InvokeArgs field's value.
9753func (s *InvokeAsyncInput) SetInvokeArgs(v io.ReadSeeker) *InvokeAsyncInput {
9754	s.InvokeArgs = v
9755	return s
9756}
9757
9758// A success response (202 Accepted) indicates that the request is queued for
9759// invocation.
9760//
9761// Deprecated: InvokeAsyncOutput has been deprecated
9762type InvokeAsyncOutput struct {
9763	_ struct{} `deprecated:"true" type:"structure"`
9764
9765	// The status code.
9766	Status *int64 `location:"statusCode" type:"integer"`
9767}
9768
9769// String returns the string representation
9770func (s InvokeAsyncOutput) String() string {
9771	return awsutil.Prettify(s)
9772}
9773
9774// GoString returns the string representation
9775func (s InvokeAsyncOutput) GoString() string {
9776	return s.String()
9777}
9778
9779// SetStatus sets the Status field's value.
9780func (s *InvokeAsyncOutput) SetStatus(v int64) *InvokeAsyncOutput {
9781	s.Status = &v
9782	return s
9783}
9784
9785type InvokeInput struct {
9786	_ struct{} `type:"structure" payload:"Payload"`
9787
9788	// Up to 3583 bytes of base64-encoded data about the invoking client to pass
9789	// to the function in the context object.
9790	ClientContext *string `location:"header" locationName:"X-Amz-Client-Context" type:"string"`
9791
9792	// The name of the Lambda function, version, or alias.
9793	//
9794	// Name formats
9795	//
9796	//    * Function name - my-function (name-only), my-function:v1 (with alias).
9797	//
9798	//    * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.
9799	//
9800	//    * Partial ARN - 123456789012:function:my-function.
9801	//
9802	// You can append a version number or alias to any of the formats. The length
9803	// constraint applies only to the full ARN. If you specify only the function
9804	// name, it is limited to 64 characters in length.
9805	//
9806	// FunctionName is a required field
9807	FunctionName *string `location:"uri" locationName:"FunctionName" min:"1" type:"string" required:"true"`
9808
9809	// Choose from the following options.
9810	//
9811	//    * RequestResponse (default) - Invoke the function synchronously. Keep
9812	//    the connection open until the function returns a response or times out.
9813	//    The API response includes the function response and additional data.
9814	//
9815	//    * Event - Invoke the function asynchronously. Send events that fail multiple
9816	//    times to the function's dead-letter queue (if it's configured). The API
9817	//    response only includes a status code.
9818	//
9819	//    * DryRun - Validate parameter values and verify that the user or role
9820	//    has permission to invoke the function.
9821	InvocationType *string `location:"header" locationName:"X-Amz-Invocation-Type" type:"string" enum:"InvocationType"`
9822
9823	// Set to Tail to include the execution log in the response.
9824	LogType *string `location:"header" locationName:"X-Amz-Log-Type" type:"string" enum:"LogType"`
9825
9826	// The JSON that you want to provide to your Lambda function as input.
9827	Payload []byte `type:"blob" sensitive:"true"`
9828
9829	// Specify a version or alias to invoke a published version of the function.
9830	Qualifier *string `location:"querystring" locationName:"Qualifier" min:"1" type:"string"`
9831}
9832
9833// String returns the string representation
9834func (s InvokeInput) String() string {
9835	return awsutil.Prettify(s)
9836}
9837
9838// GoString returns the string representation
9839func (s InvokeInput) GoString() string {
9840	return s.String()
9841}
9842
9843// Validate inspects the fields of the type to determine if they are valid.
9844func (s *InvokeInput) Validate() error {
9845	invalidParams := request.ErrInvalidParams{Context: "InvokeInput"}
9846	if s.FunctionName == nil {
9847		invalidParams.Add(request.NewErrParamRequired("FunctionName"))
9848	}
9849	if s.FunctionName != nil && len(*s.FunctionName) < 1 {
9850		invalidParams.Add(request.NewErrParamMinLen("FunctionName", 1))
9851	}
9852	if s.Qualifier != nil && len(*s.Qualifier) < 1 {
9853		invalidParams.Add(request.NewErrParamMinLen("Qualifier", 1))
9854	}
9855
9856	if invalidParams.Len() > 0 {
9857		return invalidParams
9858	}
9859	return nil
9860}
9861
9862// SetClientContext sets the ClientContext field's value.
9863func (s *InvokeInput) SetClientContext(v string) *InvokeInput {
9864	s.ClientContext = &v
9865	return s
9866}
9867
9868// SetFunctionName sets the FunctionName field's value.
9869func (s *InvokeInput) SetFunctionName(v string) *InvokeInput {
9870	s.FunctionName = &v
9871	return s
9872}
9873
9874// SetInvocationType sets the InvocationType field's value.
9875func (s *InvokeInput) SetInvocationType(v string) *InvokeInput {
9876	s.InvocationType = &v
9877	return s
9878}
9879
9880// SetLogType sets the LogType field's value.
9881func (s *InvokeInput) SetLogType(v string) *InvokeInput {
9882	s.LogType = &v
9883	return s
9884}
9885
9886// SetPayload sets the Payload field's value.
9887func (s *InvokeInput) SetPayload(v []byte) *InvokeInput {
9888	s.Payload = v
9889	return s
9890}
9891
9892// SetQualifier sets the Qualifier field's value.
9893func (s *InvokeInput) SetQualifier(v string) *InvokeInput {
9894	s.Qualifier = &v
9895	return s
9896}
9897
9898type InvokeOutput struct {
9899	_ struct{} `type:"structure" payload:"Payload"`
9900
9901	// The version of the function that executed. When you invoke a function with
9902	// an alias, this indicates which version the alias resolved to.
9903	ExecutedVersion *string `location:"header" locationName:"X-Amz-Executed-Version" min:"1" type:"string"`
9904
9905	// If present, indicates that an error occurred during function execution. Details
9906	// about the error are included in the response payload.
9907	FunctionError *string `location:"header" locationName:"X-Amz-Function-Error" type:"string"`
9908
9909	// The last 4 KB of the execution log, which is base64 encoded.
9910	LogResult *string `location:"header" locationName:"X-Amz-Log-Result" type:"string"`
9911
9912	// The response from the function, or an error object.
9913	Payload []byte `type:"blob" sensitive:"true"`
9914
9915	// The HTTP status code is in the 200 range for a successful request. For the
9916	// RequestResponse invocation type, this status code is 200. For the Event invocation
9917	// type, this status code is 202. For the DryRun invocation type, the status
9918	// code is 204.
9919	StatusCode *int64 `location:"statusCode" type:"integer"`
9920}
9921
9922// String returns the string representation
9923func (s InvokeOutput) String() string {
9924	return awsutil.Prettify(s)
9925}
9926
9927// GoString returns the string representation
9928func (s InvokeOutput) GoString() string {
9929	return s.String()
9930}
9931
9932// SetExecutedVersion sets the ExecutedVersion field's value.
9933func (s *InvokeOutput) SetExecutedVersion(v string) *InvokeOutput {
9934	s.ExecutedVersion = &v
9935	return s
9936}
9937
9938// SetFunctionError sets the FunctionError field's value.
9939func (s *InvokeOutput) SetFunctionError(v string) *InvokeOutput {
9940	s.FunctionError = &v
9941	return s
9942}
9943
9944// SetLogResult sets the LogResult field's value.
9945func (s *InvokeOutput) SetLogResult(v string) *InvokeOutput {
9946	s.LogResult = &v
9947	return s
9948}
9949
9950// SetPayload sets the Payload field's value.
9951func (s *InvokeOutput) SetPayload(v []byte) *InvokeOutput {
9952	s.Payload = v
9953	return s
9954}
9955
9956// SetStatusCode sets the StatusCode field's value.
9957func (s *InvokeOutput) SetStatusCode(v int64) *InvokeOutput {
9958	s.StatusCode = &v
9959	return s
9960}
9961
9962// Lambda was unable to decrypt the environment variables because KMS access
9963// was denied. Check the Lambda function's KMS permissions.
9964type KMSAccessDeniedException struct {
9965	_            struct{}                  `type:"structure"`
9966	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
9967
9968	Message_ *string `locationName:"Message" type:"string"`
9969
9970	Type *string `type:"string"`
9971}
9972
9973// String returns the string representation
9974func (s KMSAccessDeniedException) String() string {
9975	return awsutil.Prettify(s)
9976}
9977
9978// GoString returns the string representation
9979func (s KMSAccessDeniedException) GoString() string {
9980	return s.String()
9981}
9982
9983func newErrorKMSAccessDeniedException(v protocol.ResponseMetadata) error {
9984	return &KMSAccessDeniedException{
9985		RespMetadata: v,
9986	}
9987}
9988
9989// Code returns the exception type name.
9990func (s *KMSAccessDeniedException) Code() string {
9991	return "KMSAccessDeniedException"
9992}
9993
9994// Message returns the exception's message.
9995func (s *KMSAccessDeniedException) Message() string {
9996	if s.Message_ != nil {
9997		return *s.Message_
9998	}
9999	return ""
10000}
10001
10002// OrigErr always returns nil, satisfies awserr.Error interface.
10003func (s *KMSAccessDeniedException) OrigErr() error {
10004	return nil
10005}
10006
10007func (s *KMSAccessDeniedException) Error() string {
10008	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
10009}
10010
10011// Status code returns the HTTP status code for the request's response error.
10012func (s *KMSAccessDeniedException) StatusCode() int {
10013	return s.RespMetadata.StatusCode
10014}
10015
10016// RequestID returns the service's response RequestID for request.
10017func (s *KMSAccessDeniedException) RequestID() string {
10018	return s.RespMetadata.RequestID
10019}
10020
10021// Lambda was unable to decrypt the environment variables because the KMS key
10022// used is disabled. Check the Lambda function's KMS key settings.
10023type KMSDisabledException struct {
10024	_            struct{}                  `type:"structure"`
10025	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
10026
10027	Message_ *string `locationName:"Message" type:"string"`
10028
10029	Type *string `type:"string"`
10030}
10031
10032// String returns the string representation
10033func (s KMSDisabledException) String() string {
10034	return awsutil.Prettify(s)
10035}
10036
10037// GoString returns the string representation
10038func (s KMSDisabledException) GoString() string {
10039	return s.String()
10040}
10041
10042func newErrorKMSDisabledException(v protocol.ResponseMetadata) error {
10043	return &KMSDisabledException{
10044		RespMetadata: v,
10045	}
10046}
10047
10048// Code returns the exception type name.
10049func (s *KMSDisabledException) Code() string {
10050	return "KMSDisabledException"
10051}
10052
10053// Message returns the exception's message.
10054func (s *KMSDisabledException) Message() string {
10055	if s.Message_ != nil {
10056		return *s.Message_
10057	}
10058	return ""
10059}
10060
10061// OrigErr always returns nil, satisfies awserr.Error interface.
10062func (s *KMSDisabledException) OrigErr() error {
10063	return nil
10064}
10065
10066func (s *KMSDisabledException) Error() string {
10067	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
10068}
10069
10070// Status code returns the HTTP status code for the request's response error.
10071func (s *KMSDisabledException) StatusCode() int {
10072	return s.RespMetadata.StatusCode
10073}
10074
10075// RequestID returns the service's response RequestID for request.
10076func (s *KMSDisabledException) RequestID() string {
10077	return s.RespMetadata.RequestID
10078}
10079
10080// Lambda was unable to decrypt the environment variables because the KMS key
10081// used is in an invalid state for Decrypt. Check the function's KMS key settings.
10082type KMSInvalidStateException struct {
10083	_            struct{}                  `type:"structure"`
10084	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
10085
10086	Message_ *string `locationName:"Message" type:"string"`
10087
10088	Type *string `type:"string"`
10089}
10090
10091// String returns the string representation
10092func (s KMSInvalidStateException) String() string {
10093	return awsutil.Prettify(s)
10094}
10095
10096// GoString returns the string representation
10097func (s KMSInvalidStateException) GoString() string {
10098	return s.String()
10099}
10100
10101func newErrorKMSInvalidStateException(v protocol.ResponseMetadata) error {
10102	return &KMSInvalidStateException{
10103		RespMetadata: v,
10104	}
10105}
10106
10107// Code returns the exception type name.
10108func (s *KMSInvalidStateException) Code() string {
10109	return "KMSInvalidStateException"
10110}
10111
10112// Message returns the exception's message.
10113func (s *KMSInvalidStateException) Message() string {
10114	if s.Message_ != nil {
10115		return *s.Message_
10116	}
10117	return ""
10118}
10119
10120// OrigErr always returns nil, satisfies awserr.Error interface.
10121func (s *KMSInvalidStateException) OrigErr() error {
10122	return nil
10123}
10124
10125func (s *KMSInvalidStateException) Error() string {
10126	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
10127}
10128
10129// Status code returns the HTTP status code for the request's response error.
10130func (s *KMSInvalidStateException) StatusCode() int {
10131	return s.RespMetadata.StatusCode
10132}
10133
10134// RequestID returns the service's response RequestID for request.
10135func (s *KMSInvalidStateException) RequestID() string {
10136	return s.RespMetadata.RequestID
10137}
10138
10139// Lambda was unable to decrypt the environment variables because the KMS key
10140// was not found. Check the function's KMS key settings.
10141type KMSNotFoundException struct {
10142	_            struct{}                  `type:"structure"`
10143	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
10144
10145	Message_ *string `locationName:"Message" type:"string"`
10146
10147	Type *string `type:"string"`
10148}
10149
10150// String returns the string representation
10151func (s KMSNotFoundException) String() string {
10152	return awsutil.Prettify(s)
10153}
10154
10155// GoString returns the string representation
10156func (s KMSNotFoundException) GoString() string {
10157	return s.String()
10158}
10159
10160func newErrorKMSNotFoundException(v protocol.ResponseMetadata) error {
10161	return &KMSNotFoundException{
10162		RespMetadata: v,
10163	}
10164}
10165
10166// Code returns the exception type name.
10167func (s *KMSNotFoundException) Code() string {
10168	return "KMSNotFoundException"
10169}
10170
10171// Message returns the exception's message.
10172func (s *KMSNotFoundException) Message() string {
10173	if s.Message_ != nil {
10174		return *s.Message_
10175	}
10176	return ""
10177}
10178
10179// OrigErr always returns nil, satisfies awserr.Error interface.
10180func (s *KMSNotFoundException) OrigErr() error {
10181	return nil
10182}
10183
10184func (s *KMSNotFoundException) Error() string {
10185	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
10186}
10187
10188// Status code returns the HTTP status code for the request's response error.
10189func (s *KMSNotFoundException) StatusCode() int {
10190	return s.RespMetadata.StatusCode
10191}
10192
10193// RequestID returns the service's response RequestID for request.
10194func (s *KMSNotFoundException) RequestID() string {
10195	return s.RespMetadata.RequestID
10196}
10197
10198// An AWS Lambda layer (https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html).
10199type Layer struct {
10200	_ struct{} `type:"structure"`
10201
10202	// The Amazon Resource Name (ARN) of the function layer.
10203	Arn *string `min:"1" type:"string"`
10204
10205	// The size of the layer archive in bytes.
10206	CodeSize *int64 `type:"long"`
10207}
10208
10209// String returns the string representation
10210func (s Layer) String() string {
10211	return awsutil.Prettify(s)
10212}
10213
10214// GoString returns the string representation
10215func (s Layer) GoString() string {
10216	return s.String()
10217}
10218
10219// SetArn sets the Arn field's value.
10220func (s *Layer) SetArn(v string) *Layer {
10221	s.Arn = &v
10222	return s
10223}
10224
10225// SetCodeSize sets the CodeSize field's value.
10226func (s *Layer) SetCodeSize(v int64) *Layer {
10227	s.CodeSize = &v
10228	return s
10229}
10230
10231// A ZIP archive that contains the contents of an AWS Lambda layer (https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html).
10232// You can specify either an Amazon S3 location, or upload a layer archive directly.
10233type LayerVersionContentInput struct {
10234	_ struct{} `type:"structure"`
10235
10236	// The Amazon S3 bucket of the layer archive.
10237	S3Bucket *string `min:"3" type:"string"`
10238
10239	// The Amazon S3 key of the layer archive.
10240	S3Key *string `min:"1" type:"string"`
10241
10242	// For versioned objects, the version of the layer archive object to use.
10243	S3ObjectVersion *string `min:"1" type:"string"`
10244
10245	// The base64-encoded contents of the layer archive. AWS SDK and AWS CLI clients
10246	// handle the encoding for you.
10247	//
10248	// ZipFile is automatically base64 encoded/decoded by the SDK.
10249	ZipFile []byte `type:"blob" sensitive:"true"`
10250}
10251
10252// String returns the string representation
10253func (s LayerVersionContentInput) String() string {
10254	return awsutil.Prettify(s)
10255}
10256
10257// GoString returns the string representation
10258func (s LayerVersionContentInput) GoString() string {
10259	return s.String()
10260}
10261
10262// Validate inspects the fields of the type to determine if they are valid.
10263func (s *LayerVersionContentInput) Validate() error {
10264	invalidParams := request.ErrInvalidParams{Context: "LayerVersionContentInput"}
10265	if s.S3Bucket != nil && len(*s.S3Bucket) < 3 {
10266		invalidParams.Add(request.NewErrParamMinLen("S3Bucket", 3))
10267	}
10268	if s.S3Key != nil && len(*s.S3Key) < 1 {
10269		invalidParams.Add(request.NewErrParamMinLen("S3Key", 1))
10270	}
10271	if s.S3ObjectVersion != nil && len(*s.S3ObjectVersion) < 1 {
10272		invalidParams.Add(request.NewErrParamMinLen("S3ObjectVersion", 1))
10273	}
10274
10275	if invalidParams.Len() > 0 {
10276		return invalidParams
10277	}
10278	return nil
10279}
10280
10281// SetS3Bucket sets the S3Bucket field's value.
10282func (s *LayerVersionContentInput) SetS3Bucket(v string) *LayerVersionContentInput {
10283	s.S3Bucket = &v
10284	return s
10285}
10286
10287// SetS3Key sets the S3Key field's value.
10288func (s *LayerVersionContentInput) SetS3Key(v string) *LayerVersionContentInput {
10289	s.S3Key = &v
10290	return s
10291}
10292
10293// SetS3ObjectVersion sets the S3ObjectVersion field's value.
10294func (s *LayerVersionContentInput) SetS3ObjectVersion(v string) *LayerVersionContentInput {
10295	s.S3ObjectVersion = &v
10296	return s
10297}
10298
10299// SetZipFile sets the ZipFile field's value.
10300func (s *LayerVersionContentInput) SetZipFile(v []byte) *LayerVersionContentInput {
10301	s.ZipFile = v
10302	return s
10303}
10304
10305// Details about a version of an AWS Lambda layer (https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html).
10306type LayerVersionContentOutput struct {
10307	_ struct{} `type:"structure"`
10308
10309	// The SHA-256 hash of the layer archive.
10310	CodeSha256 *string `type:"string"`
10311
10312	// The size of the layer archive in bytes.
10313	CodeSize *int64 `type:"long"`
10314
10315	// A link to the layer archive in Amazon S3 that is valid for 10 minutes.
10316	Location *string `type:"string"`
10317}
10318
10319// String returns the string representation
10320func (s LayerVersionContentOutput) String() string {
10321	return awsutil.Prettify(s)
10322}
10323
10324// GoString returns the string representation
10325func (s LayerVersionContentOutput) GoString() string {
10326	return s.String()
10327}
10328
10329// SetCodeSha256 sets the CodeSha256 field's value.
10330func (s *LayerVersionContentOutput) SetCodeSha256(v string) *LayerVersionContentOutput {
10331	s.CodeSha256 = &v
10332	return s
10333}
10334
10335// SetCodeSize sets the CodeSize field's value.
10336func (s *LayerVersionContentOutput) SetCodeSize(v int64) *LayerVersionContentOutput {
10337	s.CodeSize = &v
10338	return s
10339}
10340
10341// SetLocation sets the Location field's value.
10342func (s *LayerVersionContentOutput) SetLocation(v string) *LayerVersionContentOutput {
10343	s.Location = &v
10344	return s
10345}
10346
10347// Details about a version of an AWS Lambda layer (https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html).
10348type LayerVersionsListItem struct {
10349	_ struct{} `type:"structure"`
10350
10351	// The layer's compatible runtimes.
10352	CompatibleRuntimes []*string `type:"list"`
10353
10354	// The date that the version was created, in ISO 8601 format. For example, 2018-11-27T15:10:45.123+0000.
10355	CreatedDate *string `type:"string"`
10356
10357	// The description of the version.
10358	Description *string `type:"string"`
10359
10360	// The ARN of the layer version.
10361	LayerVersionArn *string `min:"1" type:"string"`
10362
10363	// The layer's open-source license.
10364	LicenseInfo *string `type:"string"`
10365
10366	// The version number.
10367	Version *int64 `type:"long"`
10368}
10369
10370// String returns the string representation
10371func (s LayerVersionsListItem) String() string {
10372	return awsutil.Prettify(s)
10373}
10374
10375// GoString returns the string representation
10376func (s LayerVersionsListItem) GoString() string {
10377	return s.String()
10378}
10379
10380// SetCompatibleRuntimes sets the CompatibleRuntimes field's value.
10381func (s *LayerVersionsListItem) SetCompatibleRuntimes(v []*string) *LayerVersionsListItem {
10382	s.CompatibleRuntimes = v
10383	return s
10384}
10385
10386// SetCreatedDate sets the CreatedDate field's value.
10387func (s *LayerVersionsListItem) SetCreatedDate(v string) *LayerVersionsListItem {
10388	s.CreatedDate = &v
10389	return s
10390}
10391
10392// SetDescription sets the Description field's value.
10393func (s *LayerVersionsListItem) SetDescription(v string) *LayerVersionsListItem {
10394	s.Description = &v
10395	return s
10396}
10397
10398// SetLayerVersionArn sets the LayerVersionArn field's value.
10399func (s *LayerVersionsListItem) SetLayerVersionArn(v string) *LayerVersionsListItem {
10400	s.LayerVersionArn = &v
10401	return s
10402}
10403
10404// SetLicenseInfo sets the LicenseInfo field's value.
10405func (s *LayerVersionsListItem) SetLicenseInfo(v string) *LayerVersionsListItem {
10406	s.LicenseInfo = &v
10407	return s
10408}
10409
10410// SetVersion sets the Version field's value.
10411func (s *LayerVersionsListItem) SetVersion(v int64) *LayerVersionsListItem {
10412	s.Version = &v
10413	return s
10414}
10415
10416// Details about an AWS Lambda layer (https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html).
10417type LayersListItem struct {
10418	_ struct{} `type:"structure"`
10419
10420	// The newest version of the layer.
10421	LatestMatchingVersion *LayerVersionsListItem `type:"structure"`
10422
10423	// The Amazon Resource Name (ARN) of the function layer.
10424	LayerArn *string `min:"1" type:"string"`
10425
10426	// The name of the layer.
10427	LayerName *string `min:"1" type:"string"`
10428}
10429
10430// String returns the string representation
10431func (s LayersListItem) String() string {
10432	return awsutil.Prettify(s)
10433}
10434
10435// GoString returns the string representation
10436func (s LayersListItem) GoString() string {
10437	return s.String()
10438}
10439
10440// SetLatestMatchingVersion sets the LatestMatchingVersion field's value.
10441func (s *LayersListItem) SetLatestMatchingVersion(v *LayerVersionsListItem) *LayersListItem {
10442	s.LatestMatchingVersion = v
10443	return s
10444}
10445
10446// SetLayerArn sets the LayerArn field's value.
10447func (s *LayersListItem) SetLayerArn(v string) *LayersListItem {
10448	s.LayerArn = &v
10449	return s
10450}
10451
10452// SetLayerName sets the LayerName field's value.
10453func (s *LayersListItem) SetLayerName(v string) *LayersListItem {
10454	s.LayerName = &v
10455	return s
10456}
10457
10458type ListAliasesInput struct {
10459	_ struct{} `type:"structure"`
10460
10461	// The name of the Lambda function.
10462	//
10463	// Name formats
10464	//
10465	//    * Function name - MyFunction.
10466	//
10467	//    * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.
10468	//
10469	//    * Partial ARN - 123456789012:function:MyFunction.
10470	//
10471	// The length constraint applies only to the full ARN. If you specify only the
10472	// function name, it is limited to 64 characters in length.
10473	//
10474	// FunctionName is a required field
10475	FunctionName *string `location:"uri" locationName:"FunctionName" min:"1" type:"string" required:"true"`
10476
10477	// Specify a function version to only list aliases that invoke that version.
10478	FunctionVersion *string `location:"querystring" locationName:"FunctionVersion" min:"1" type:"string"`
10479
10480	// Specify the pagination token that's returned by a previous request to retrieve
10481	// the next page of results.
10482	Marker *string `location:"querystring" locationName:"Marker" type:"string"`
10483
10484	// Limit the number of aliases returned.
10485	MaxItems *int64 `location:"querystring" locationName:"MaxItems" min:"1" type:"integer"`
10486}
10487
10488// String returns the string representation
10489func (s ListAliasesInput) String() string {
10490	return awsutil.Prettify(s)
10491}
10492
10493// GoString returns the string representation
10494func (s ListAliasesInput) GoString() string {
10495	return s.String()
10496}
10497
10498// Validate inspects the fields of the type to determine if they are valid.
10499func (s *ListAliasesInput) Validate() error {
10500	invalidParams := request.ErrInvalidParams{Context: "ListAliasesInput"}
10501	if s.FunctionName == nil {
10502		invalidParams.Add(request.NewErrParamRequired("FunctionName"))
10503	}
10504	if s.FunctionName != nil && len(*s.FunctionName) < 1 {
10505		invalidParams.Add(request.NewErrParamMinLen("FunctionName", 1))
10506	}
10507	if s.FunctionVersion != nil && len(*s.FunctionVersion) < 1 {
10508		invalidParams.Add(request.NewErrParamMinLen("FunctionVersion", 1))
10509	}
10510	if s.MaxItems != nil && *s.MaxItems < 1 {
10511		invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1))
10512	}
10513
10514	if invalidParams.Len() > 0 {
10515		return invalidParams
10516	}
10517	return nil
10518}
10519
10520// SetFunctionName sets the FunctionName field's value.
10521func (s *ListAliasesInput) SetFunctionName(v string) *ListAliasesInput {
10522	s.FunctionName = &v
10523	return s
10524}
10525
10526// SetFunctionVersion sets the FunctionVersion field's value.
10527func (s *ListAliasesInput) SetFunctionVersion(v string) *ListAliasesInput {
10528	s.FunctionVersion = &v
10529	return s
10530}
10531
10532// SetMarker sets the Marker field's value.
10533func (s *ListAliasesInput) SetMarker(v string) *ListAliasesInput {
10534	s.Marker = &v
10535	return s
10536}
10537
10538// SetMaxItems sets the MaxItems field's value.
10539func (s *ListAliasesInput) SetMaxItems(v int64) *ListAliasesInput {
10540	s.MaxItems = &v
10541	return s
10542}
10543
10544type ListAliasesOutput struct {
10545	_ struct{} `type:"structure"`
10546
10547	// A list of aliases.
10548	Aliases []*AliasConfiguration `type:"list"`
10549
10550	// The pagination token that's included if more results are available.
10551	NextMarker *string `type:"string"`
10552}
10553
10554// String returns the string representation
10555func (s ListAliasesOutput) String() string {
10556	return awsutil.Prettify(s)
10557}
10558
10559// GoString returns the string representation
10560func (s ListAliasesOutput) GoString() string {
10561	return s.String()
10562}
10563
10564// SetAliases sets the Aliases field's value.
10565func (s *ListAliasesOutput) SetAliases(v []*AliasConfiguration) *ListAliasesOutput {
10566	s.Aliases = v
10567	return s
10568}
10569
10570// SetNextMarker sets the NextMarker field's value.
10571func (s *ListAliasesOutput) SetNextMarker(v string) *ListAliasesOutput {
10572	s.NextMarker = &v
10573	return s
10574}
10575
10576type ListEventSourceMappingsInput struct {
10577	_ struct{} `type:"structure"`
10578
10579	// The Amazon Resource Name (ARN) of the event source.
10580	//
10581	//    * Amazon Kinesis - The ARN of the data stream or a stream consumer.
10582	//
10583	//    * Amazon DynamoDB Streams - The ARN of the stream.
10584	//
10585	//    * Amazon Simple Queue Service - The ARN of the queue.
10586	//
10587	//    * Amazon Managed Streaming for Apache Kafka - The ARN of the cluster.
10588	EventSourceArn *string `location:"querystring" locationName:"EventSourceArn" type:"string"`
10589
10590	// The name of the Lambda function.
10591	//
10592	// Name formats
10593	//
10594	//    * Function name - MyFunction.
10595	//
10596	//    * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.
10597	//
10598	//    * Version or Alias ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction:PROD.
10599	//
10600	//    * Partial ARN - 123456789012:function:MyFunction.
10601	//
10602	// The length constraint applies only to the full ARN. If you specify only the
10603	// function name, it's limited to 64 characters in length.
10604	FunctionName *string `location:"querystring" locationName:"FunctionName" min:"1" type:"string"`
10605
10606	// A pagination token returned by a previous call.
10607	Marker *string `location:"querystring" locationName:"Marker" type:"string"`
10608
10609	// The maximum number of event source mappings to return.
10610	MaxItems *int64 `location:"querystring" locationName:"MaxItems" min:"1" type:"integer"`
10611}
10612
10613// String returns the string representation
10614func (s ListEventSourceMappingsInput) String() string {
10615	return awsutil.Prettify(s)
10616}
10617
10618// GoString returns the string representation
10619func (s ListEventSourceMappingsInput) GoString() string {
10620	return s.String()
10621}
10622
10623// Validate inspects the fields of the type to determine if they are valid.
10624func (s *ListEventSourceMappingsInput) Validate() error {
10625	invalidParams := request.ErrInvalidParams{Context: "ListEventSourceMappingsInput"}
10626	if s.FunctionName != nil && len(*s.FunctionName) < 1 {
10627		invalidParams.Add(request.NewErrParamMinLen("FunctionName", 1))
10628	}
10629	if s.MaxItems != nil && *s.MaxItems < 1 {
10630		invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1))
10631	}
10632
10633	if invalidParams.Len() > 0 {
10634		return invalidParams
10635	}
10636	return nil
10637}
10638
10639// SetEventSourceArn sets the EventSourceArn field's value.
10640func (s *ListEventSourceMappingsInput) SetEventSourceArn(v string) *ListEventSourceMappingsInput {
10641	s.EventSourceArn = &v
10642	return s
10643}
10644
10645// SetFunctionName sets the FunctionName field's value.
10646func (s *ListEventSourceMappingsInput) SetFunctionName(v string) *ListEventSourceMappingsInput {
10647	s.FunctionName = &v
10648	return s
10649}
10650
10651// SetMarker sets the Marker field's value.
10652func (s *ListEventSourceMappingsInput) SetMarker(v string) *ListEventSourceMappingsInput {
10653	s.Marker = &v
10654	return s
10655}
10656
10657// SetMaxItems sets the MaxItems field's value.
10658func (s *ListEventSourceMappingsInput) SetMaxItems(v int64) *ListEventSourceMappingsInput {
10659	s.MaxItems = &v
10660	return s
10661}
10662
10663type ListEventSourceMappingsOutput struct {
10664	_ struct{} `type:"structure"`
10665
10666	// A list of event source mappings.
10667	EventSourceMappings []*EventSourceMappingConfiguration `type:"list"`
10668
10669	// A pagination token that's returned when the response doesn't contain all
10670	// event source mappings.
10671	NextMarker *string `type:"string"`
10672}
10673
10674// String returns the string representation
10675func (s ListEventSourceMappingsOutput) String() string {
10676	return awsutil.Prettify(s)
10677}
10678
10679// GoString returns the string representation
10680func (s ListEventSourceMappingsOutput) GoString() string {
10681	return s.String()
10682}
10683
10684// SetEventSourceMappings sets the EventSourceMappings field's value.
10685func (s *ListEventSourceMappingsOutput) SetEventSourceMappings(v []*EventSourceMappingConfiguration) *ListEventSourceMappingsOutput {
10686	s.EventSourceMappings = v
10687	return s
10688}
10689
10690// SetNextMarker sets the NextMarker field's value.
10691func (s *ListEventSourceMappingsOutput) SetNextMarker(v string) *ListEventSourceMappingsOutput {
10692	s.NextMarker = &v
10693	return s
10694}
10695
10696type ListFunctionEventInvokeConfigsInput struct {
10697	_ struct{} `type:"structure"`
10698
10699	// The name of the Lambda function.
10700	//
10701	// Name formats
10702	//
10703	//    * Function name - my-function.
10704	//
10705	//    * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.
10706	//
10707	//    * Partial ARN - 123456789012:function:my-function.
10708	//
10709	// The length constraint applies only to the full ARN. If you specify only the
10710	// function name, it is limited to 64 characters in length.
10711	//
10712	// FunctionName is a required field
10713	FunctionName *string `location:"uri" locationName:"FunctionName" min:"1" type:"string" required:"true"`
10714
10715	// Specify the pagination token that's returned by a previous request to retrieve
10716	// the next page of results.
10717	Marker *string `location:"querystring" locationName:"Marker" type:"string"`
10718
10719	// The maximum number of configurations to return.
10720	MaxItems *int64 `location:"querystring" locationName:"MaxItems" min:"1" type:"integer"`
10721}
10722
10723// String returns the string representation
10724func (s ListFunctionEventInvokeConfigsInput) String() string {
10725	return awsutil.Prettify(s)
10726}
10727
10728// GoString returns the string representation
10729func (s ListFunctionEventInvokeConfigsInput) GoString() string {
10730	return s.String()
10731}
10732
10733// Validate inspects the fields of the type to determine if they are valid.
10734func (s *ListFunctionEventInvokeConfigsInput) Validate() error {
10735	invalidParams := request.ErrInvalidParams{Context: "ListFunctionEventInvokeConfigsInput"}
10736	if s.FunctionName == nil {
10737		invalidParams.Add(request.NewErrParamRequired("FunctionName"))
10738	}
10739	if s.FunctionName != nil && len(*s.FunctionName) < 1 {
10740		invalidParams.Add(request.NewErrParamMinLen("FunctionName", 1))
10741	}
10742	if s.MaxItems != nil && *s.MaxItems < 1 {
10743		invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1))
10744	}
10745
10746	if invalidParams.Len() > 0 {
10747		return invalidParams
10748	}
10749	return nil
10750}
10751
10752// SetFunctionName sets the FunctionName field's value.
10753func (s *ListFunctionEventInvokeConfigsInput) SetFunctionName(v string) *ListFunctionEventInvokeConfigsInput {
10754	s.FunctionName = &v
10755	return s
10756}
10757
10758// SetMarker sets the Marker field's value.
10759func (s *ListFunctionEventInvokeConfigsInput) SetMarker(v string) *ListFunctionEventInvokeConfigsInput {
10760	s.Marker = &v
10761	return s
10762}
10763
10764// SetMaxItems sets the MaxItems field's value.
10765func (s *ListFunctionEventInvokeConfigsInput) SetMaxItems(v int64) *ListFunctionEventInvokeConfigsInput {
10766	s.MaxItems = &v
10767	return s
10768}
10769
10770type ListFunctionEventInvokeConfigsOutput struct {
10771	_ struct{} `type:"structure"`
10772
10773	// A list of configurations.
10774	FunctionEventInvokeConfigs []*FunctionEventInvokeConfig `type:"list"`
10775
10776	// The pagination token that's included if more results are available.
10777	NextMarker *string `type:"string"`
10778}
10779
10780// String returns the string representation
10781func (s ListFunctionEventInvokeConfigsOutput) String() string {
10782	return awsutil.Prettify(s)
10783}
10784
10785// GoString returns the string representation
10786func (s ListFunctionEventInvokeConfigsOutput) GoString() string {
10787	return s.String()
10788}
10789
10790// SetFunctionEventInvokeConfigs sets the FunctionEventInvokeConfigs field's value.
10791func (s *ListFunctionEventInvokeConfigsOutput) SetFunctionEventInvokeConfigs(v []*FunctionEventInvokeConfig) *ListFunctionEventInvokeConfigsOutput {
10792	s.FunctionEventInvokeConfigs = v
10793	return s
10794}
10795
10796// SetNextMarker sets the NextMarker field's value.
10797func (s *ListFunctionEventInvokeConfigsOutput) SetNextMarker(v string) *ListFunctionEventInvokeConfigsOutput {
10798	s.NextMarker = &v
10799	return s
10800}
10801
10802type ListFunctionsInput struct {
10803	_ struct{} `type:"structure"`
10804
10805	// Set to ALL to include entries for all published versions of each function.
10806	FunctionVersion *string `location:"querystring" locationName:"FunctionVersion" type:"string" enum:"FunctionVersion"`
10807
10808	// Specify the pagination token that's returned by a previous request to retrieve
10809	// the next page of results.
10810	Marker *string `location:"querystring" locationName:"Marker" type:"string"`
10811
10812	// For Lambda@Edge functions, the AWS Region of the master function. For example,
10813	// us-east-1 filters the list of functions to only include Lambda@Edge functions
10814	// replicated from a master function in US East (N. Virginia). If specified,
10815	// you must set FunctionVersion to ALL.
10816	MasterRegion *string `location:"querystring" locationName:"MasterRegion" type:"string"`
10817
10818	// The maximum number of functions to return.
10819	MaxItems *int64 `location:"querystring" locationName:"MaxItems" min:"1" type:"integer"`
10820}
10821
10822// String returns the string representation
10823func (s ListFunctionsInput) String() string {
10824	return awsutil.Prettify(s)
10825}
10826
10827// GoString returns the string representation
10828func (s ListFunctionsInput) GoString() string {
10829	return s.String()
10830}
10831
10832// Validate inspects the fields of the type to determine if they are valid.
10833func (s *ListFunctionsInput) Validate() error {
10834	invalidParams := request.ErrInvalidParams{Context: "ListFunctionsInput"}
10835	if s.MaxItems != nil && *s.MaxItems < 1 {
10836		invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1))
10837	}
10838
10839	if invalidParams.Len() > 0 {
10840		return invalidParams
10841	}
10842	return nil
10843}
10844
10845// SetFunctionVersion sets the FunctionVersion field's value.
10846func (s *ListFunctionsInput) SetFunctionVersion(v string) *ListFunctionsInput {
10847	s.FunctionVersion = &v
10848	return s
10849}
10850
10851// SetMarker sets the Marker field's value.
10852func (s *ListFunctionsInput) SetMarker(v string) *ListFunctionsInput {
10853	s.Marker = &v
10854	return s
10855}
10856
10857// SetMasterRegion sets the MasterRegion field's value.
10858func (s *ListFunctionsInput) SetMasterRegion(v string) *ListFunctionsInput {
10859	s.MasterRegion = &v
10860	return s
10861}
10862
10863// SetMaxItems sets the MaxItems field's value.
10864func (s *ListFunctionsInput) SetMaxItems(v int64) *ListFunctionsInput {
10865	s.MaxItems = &v
10866	return s
10867}
10868
10869// A list of Lambda functions.
10870type ListFunctionsOutput struct {
10871	_ struct{} `type:"structure"`
10872
10873	// A list of Lambda functions.
10874	Functions []*FunctionConfiguration `type:"list"`
10875
10876	// The pagination token that's included if more results are available.
10877	NextMarker *string `type:"string"`
10878}
10879
10880// String returns the string representation
10881func (s ListFunctionsOutput) String() string {
10882	return awsutil.Prettify(s)
10883}
10884
10885// GoString returns the string representation
10886func (s ListFunctionsOutput) GoString() string {
10887	return s.String()
10888}
10889
10890// SetFunctions sets the Functions field's value.
10891func (s *ListFunctionsOutput) SetFunctions(v []*FunctionConfiguration) *ListFunctionsOutput {
10892	s.Functions = v
10893	return s
10894}
10895
10896// SetNextMarker sets the NextMarker field's value.
10897func (s *ListFunctionsOutput) SetNextMarker(v string) *ListFunctionsOutput {
10898	s.NextMarker = &v
10899	return s
10900}
10901
10902type ListLayerVersionsInput struct {
10903	_ struct{} `type:"structure"`
10904
10905	// A runtime identifier. For example, go1.x.
10906	CompatibleRuntime *string `location:"querystring" locationName:"CompatibleRuntime" type:"string" enum:"Runtime"`
10907
10908	// The name or Amazon Resource Name (ARN) of the layer.
10909	//
10910	// LayerName is a required field
10911	LayerName *string `location:"uri" locationName:"LayerName" min:"1" type:"string" required:"true"`
10912
10913	// A pagination token returned by a previous call.
10914	Marker *string `location:"querystring" locationName:"Marker" type:"string"`
10915
10916	// The maximum number of versions to return.
10917	MaxItems *int64 `location:"querystring" locationName:"MaxItems" min:"1" type:"integer"`
10918}
10919
10920// String returns the string representation
10921func (s ListLayerVersionsInput) String() string {
10922	return awsutil.Prettify(s)
10923}
10924
10925// GoString returns the string representation
10926func (s ListLayerVersionsInput) GoString() string {
10927	return s.String()
10928}
10929
10930// Validate inspects the fields of the type to determine if they are valid.
10931func (s *ListLayerVersionsInput) Validate() error {
10932	invalidParams := request.ErrInvalidParams{Context: "ListLayerVersionsInput"}
10933	if s.LayerName == nil {
10934		invalidParams.Add(request.NewErrParamRequired("LayerName"))
10935	}
10936	if s.LayerName != nil && len(*s.LayerName) < 1 {
10937		invalidParams.Add(request.NewErrParamMinLen("LayerName", 1))
10938	}
10939	if s.MaxItems != nil && *s.MaxItems < 1 {
10940		invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1))
10941	}
10942
10943	if invalidParams.Len() > 0 {
10944		return invalidParams
10945	}
10946	return nil
10947}
10948
10949// SetCompatibleRuntime sets the CompatibleRuntime field's value.
10950func (s *ListLayerVersionsInput) SetCompatibleRuntime(v string) *ListLayerVersionsInput {
10951	s.CompatibleRuntime = &v
10952	return s
10953}
10954
10955// SetLayerName sets the LayerName field's value.
10956func (s *ListLayerVersionsInput) SetLayerName(v string) *ListLayerVersionsInput {
10957	s.LayerName = &v
10958	return s
10959}
10960
10961// SetMarker sets the Marker field's value.
10962func (s *ListLayerVersionsInput) SetMarker(v string) *ListLayerVersionsInput {
10963	s.Marker = &v
10964	return s
10965}
10966
10967// SetMaxItems sets the MaxItems field's value.
10968func (s *ListLayerVersionsInput) SetMaxItems(v int64) *ListLayerVersionsInput {
10969	s.MaxItems = &v
10970	return s
10971}
10972
10973type ListLayerVersionsOutput struct {
10974	_ struct{} `type:"structure"`
10975
10976	// A list of versions.
10977	LayerVersions []*LayerVersionsListItem `type:"list"`
10978
10979	// A pagination token returned when the response doesn't contain all versions.
10980	NextMarker *string `type:"string"`
10981}
10982
10983// String returns the string representation
10984func (s ListLayerVersionsOutput) String() string {
10985	return awsutil.Prettify(s)
10986}
10987
10988// GoString returns the string representation
10989func (s ListLayerVersionsOutput) GoString() string {
10990	return s.String()
10991}
10992
10993// SetLayerVersions sets the LayerVersions field's value.
10994func (s *ListLayerVersionsOutput) SetLayerVersions(v []*LayerVersionsListItem) *ListLayerVersionsOutput {
10995	s.LayerVersions = v
10996	return s
10997}
10998
10999// SetNextMarker sets the NextMarker field's value.
11000func (s *ListLayerVersionsOutput) SetNextMarker(v string) *ListLayerVersionsOutput {
11001	s.NextMarker = &v
11002	return s
11003}
11004
11005type ListLayersInput struct {
11006	_ struct{} `type:"structure"`
11007
11008	// A runtime identifier. For example, go1.x.
11009	CompatibleRuntime *string `location:"querystring" locationName:"CompatibleRuntime" type:"string" enum:"Runtime"`
11010
11011	// A pagination token returned by a previous call.
11012	Marker *string `location:"querystring" locationName:"Marker" type:"string"`
11013
11014	// The maximum number of layers to return.
11015	MaxItems *int64 `location:"querystring" locationName:"MaxItems" min:"1" type:"integer"`
11016}
11017
11018// String returns the string representation
11019func (s ListLayersInput) String() string {
11020	return awsutil.Prettify(s)
11021}
11022
11023// GoString returns the string representation
11024func (s ListLayersInput) GoString() string {
11025	return s.String()
11026}
11027
11028// Validate inspects the fields of the type to determine if they are valid.
11029func (s *ListLayersInput) Validate() error {
11030	invalidParams := request.ErrInvalidParams{Context: "ListLayersInput"}
11031	if s.MaxItems != nil && *s.MaxItems < 1 {
11032		invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1))
11033	}
11034
11035	if invalidParams.Len() > 0 {
11036		return invalidParams
11037	}
11038	return nil
11039}
11040
11041// SetCompatibleRuntime sets the CompatibleRuntime field's value.
11042func (s *ListLayersInput) SetCompatibleRuntime(v string) *ListLayersInput {
11043	s.CompatibleRuntime = &v
11044	return s
11045}
11046
11047// SetMarker sets the Marker field's value.
11048func (s *ListLayersInput) SetMarker(v string) *ListLayersInput {
11049	s.Marker = &v
11050	return s
11051}
11052
11053// SetMaxItems sets the MaxItems field's value.
11054func (s *ListLayersInput) SetMaxItems(v int64) *ListLayersInput {
11055	s.MaxItems = &v
11056	return s
11057}
11058
11059type ListLayersOutput struct {
11060	_ struct{} `type:"structure"`
11061
11062	// A list of function layers.
11063	Layers []*LayersListItem `type:"list"`
11064
11065	// A pagination token returned when the response doesn't contain all layers.
11066	NextMarker *string `type:"string"`
11067}
11068
11069// String returns the string representation
11070func (s ListLayersOutput) String() string {
11071	return awsutil.Prettify(s)
11072}
11073
11074// GoString returns the string representation
11075func (s ListLayersOutput) GoString() string {
11076	return s.String()
11077}
11078
11079// SetLayers sets the Layers field's value.
11080func (s *ListLayersOutput) SetLayers(v []*LayersListItem) *ListLayersOutput {
11081	s.Layers = v
11082	return s
11083}
11084
11085// SetNextMarker sets the NextMarker field's value.
11086func (s *ListLayersOutput) SetNextMarker(v string) *ListLayersOutput {
11087	s.NextMarker = &v
11088	return s
11089}
11090
11091type ListProvisionedConcurrencyConfigsInput struct {
11092	_ struct{} `type:"structure"`
11093
11094	// The name of the Lambda function.
11095	//
11096	// Name formats
11097	//
11098	//    * Function name - my-function.
11099	//
11100	//    * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.
11101	//
11102	//    * Partial ARN - 123456789012:function:my-function.
11103	//
11104	// The length constraint applies only to the full ARN. If you specify only the
11105	// function name, it is limited to 64 characters in length.
11106	//
11107	// FunctionName is a required field
11108	FunctionName *string `location:"uri" locationName:"FunctionName" min:"1" type:"string" required:"true"`
11109
11110	// Specify the pagination token that's returned by a previous request to retrieve
11111	// the next page of results.
11112	Marker *string `location:"querystring" locationName:"Marker" type:"string"`
11113
11114	// Specify a number to limit the number of configurations returned.
11115	MaxItems *int64 `location:"querystring" locationName:"MaxItems" min:"1" type:"integer"`
11116}
11117
11118// String returns the string representation
11119func (s ListProvisionedConcurrencyConfigsInput) String() string {
11120	return awsutil.Prettify(s)
11121}
11122
11123// GoString returns the string representation
11124func (s ListProvisionedConcurrencyConfigsInput) GoString() string {
11125	return s.String()
11126}
11127
11128// Validate inspects the fields of the type to determine if they are valid.
11129func (s *ListProvisionedConcurrencyConfigsInput) Validate() error {
11130	invalidParams := request.ErrInvalidParams{Context: "ListProvisionedConcurrencyConfigsInput"}
11131	if s.FunctionName == nil {
11132		invalidParams.Add(request.NewErrParamRequired("FunctionName"))
11133	}
11134	if s.FunctionName != nil && len(*s.FunctionName) < 1 {
11135		invalidParams.Add(request.NewErrParamMinLen("FunctionName", 1))
11136	}
11137	if s.MaxItems != nil && *s.MaxItems < 1 {
11138		invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1))
11139	}
11140
11141	if invalidParams.Len() > 0 {
11142		return invalidParams
11143	}
11144	return nil
11145}
11146
11147// SetFunctionName sets the FunctionName field's value.
11148func (s *ListProvisionedConcurrencyConfigsInput) SetFunctionName(v string) *ListProvisionedConcurrencyConfigsInput {
11149	s.FunctionName = &v
11150	return s
11151}
11152
11153// SetMarker sets the Marker field's value.
11154func (s *ListProvisionedConcurrencyConfigsInput) SetMarker(v string) *ListProvisionedConcurrencyConfigsInput {
11155	s.Marker = &v
11156	return s
11157}
11158
11159// SetMaxItems sets the MaxItems field's value.
11160func (s *ListProvisionedConcurrencyConfigsInput) SetMaxItems(v int64) *ListProvisionedConcurrencyConfigsInput {
11161	s.MaxItems = &v
11162	return s
11163}
11164
11165type ListProvisionedConcurrencyConfigsOutput struct {
11166	_ struct{} `type:"structure"`
11167
11168	// The pagination token that's included if more results are available.
11169	NextMarker *string `type:"string"`
11170
11171	// A list of provisioned concurrency configurations.
11172	ProvisionedConcurrencyConfigs []*ProvisionedConcurrencyConfigListItem `type:"list"`
11173}
11174
11175// String returns the string representation
11176func (s ListProvisionedConcurrencyConfigsOutput) String() string {
11177	return awsutil.Prettify(s)
11178}
11179
11180// GoString returns the string representation
11181func (s ListProvisionedConcurrencyConfigsOutput) GoString() string {
11182	return s.String()
11183}
11184
11185// SetNextMarker sets the NextMarker field's value.
11186func (s *ListProvisionedConcurrencyConfigsOutput) SetNextMarker(v string) *ListProvisionedConcurrencyConfigsOutput {
11187	s.NextMarker = &v
11188	return s
11189}
11190
11191// SetProvisionedConcurrencyConfigs sets the ProvisionedConcurrencyConfigs field's value.
11192func (s *ListProvisionedConcurrencyConfigsOutput) SetProvisionedConcurrencyConfigs(v []*ProvisionedConcurrencyConfigListItem) *ListProvisionedConcurrencyConfigsOutput {
11193	s.ProvisionedConcurrencyConfigs = v
11194	return s
11195}
11196
11197type ListTagsInput struct {
11198	_ struct{} `type:"structure"`
11199
11200	// The function's Amazon Resource Name (ARN).
11201	//
11202	// Resource is a required field
11203	Resource *string `location:"uri" locationName:"ARN" type:"string" required:"true"`
11204}
11205
11206// String returns the string representation
11207func (s ListTagsInput) String() string {
11208	return awsutil.Prettify(s)
11209}
11210
11211// GoString returns the string representation
11212func (s ListTagsInput) GoString() string {
11213	return s.String()
11214}
11215
11216// Validate inspects the fields of the type to determine if they are valid.
11217func (s *ListTagsInput) Validate() error {
11218	invalidParams := request.ErrInvalidParams{Context: "ListTagsInput"}
11219	if s.Resource == nil {
11220		invalidParams.Add(request.NewErrParamRequired("Resource"))
11221	}
11222	if s.Resource != nil && len(*s.Resource) < 1 {
11223		invalidParams.Add(request.NewErrParamMinLen("Resource", 1))
11224	}
11225
11226	if invalidParams.Len() > 0 {
11227		return invalidParams
11228	}
11229	return nil
11230}
11231
11232// SetResource sets the Resource field's value.
11233func (s *ListTagsInput) SetResource(v string) *ListTagsInput {
11234	s.Resource = &v
11235	return s
11236}
11237
11238type ListTagsOutput struct {
11239	_ struct{} `type:"structure"`
11240
11241	// The function's tags.
11242	Tags map[string]*string `type:"map"`
11243}
11244
11245// String returns the string representation
11246func (s ListTagsOutput) String() string {
11247	return awsutil.Prettify(s)
11248}
11249
11250// GoString returns the string representation
11251func (s ListTagsOutput) GoString() string {
11252	return s.String()
11253}
11254
11255// SetTags sets the Tags field's value.
11256func (s *ListTagsOutput) SetTags(v map[string]*string) *ListTagsOutput {
11257	s.Tags = v
11258	return s
11259}
11260
11261type ListVersionsByFunctionInput struct {
11262	_ struct{} `type:"structure"`
11263
11264	// The name of the Lambda function.
11265	//
11266	// Name formats
11267	//
11268	//    * Function name - MyFunction.
11269	//
11270	//    * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.
11271	//
11272	//    * Partial ARN - 123456789012:function:MyFunction.
11273	//
11274	// The length constraint applies only to the full ARN. If you specify only the
11275	// function name, it is limited to 64 characters in length.
11276	//
11277	// FunctionName is a required field
11278	FunctionName *string `location:"uri" locationName:"FunctionName" min:"1" type:"string" required:"true"`
11279
11280	// Specify the pagination token that's returned by a previous request to retrieve
11281	// the next page of results.
11282	Marker *string `location:"querystring" locationName:"Marker" type:"string"`
11283
11284	// The maximum number of versions to return.
11285	MaxItems *int64 `location:"querystring" locationName:"MaxItems" min:"1" type:"integer"`
11286}
11287
11288// String returns the string representation
11289func (s ListVersionsByFunctionInput) String() string {
11290	return awsutil.Prettify(s)
11291}
11292
11293// GoString returns the string representation
11294func (s ListVersionsByFunctionInput) GoString() string {
11295	return s.String()
11296}
11297
11298// Validate inspects the fields of the type to determine if they are valid.
11299func (s *ListVersionsByFunctionInput) Validate() error {
11300	invalidParams := request.ErrInvalidParams{Context: "ListVersionsByFunctionInput"}
11301	if s.FunctionName == nil {
11302		invalidParams.Add(request.NewErrParamRequired("FunctionName"))
11303	}
11304	if s.FunctionName != nil && len(*s.FunctionName) < 1 {
11305		invalidParams.Add(request.NewErrParamMinLen("FunctionName", 1))
11306	}
11307	if s.MaxItems != nil && *s.MaxItems < 1 {
11308		invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1))
11309	}
11310
11311	if invalidParams.Len() > 0 {
11312		return invalidParams
11313	}
11314	return nil
11315}
11316
11317// SetFunctionName sets the FunctionName field's value.
11318func (s *ListVersionsByFunctionInput) SetFunctionName(v string) *ListVersionsByFunctionInput {
11319	s.FunctionName = &v
11320	return s
11321}
11322
11323// SetMarker sets the Marker field's value.
11324func (s *ListVersionsByFunctionInput) SetMarker(v string) *ListVersionsByFunctionInput {
11325	s.Marker = &v
11326	return s
11327}
11328
11329// SetMaxItems sets the MaxItems field's value.
11330func (s *ListVersionsByFunctionInput) SetMaxItems(v int64) *ListVersionsByFunctionInput {
11331	s.MaxItems = &v
11332	return s
11333}
11334
11335type ListVersionsByFunctionOutput struct {
11336	_ struct{} `type:"structure"`
11337
11338	// The pagination token that's included if more results are available.
11339	NextMarker *string `type:"string"`
11340
11341	// A list of Lambda function versions.
11342	Versions []*FunctionConfiguration `type:"list"`
11343}
11344
11345// String returns the string representation
11346func (s ListVersionsByFunctionOutput) String() string {
11347	return awsutil.Prettify(s)
11348}
11349
11350// GoString returns the string representation
11351func (s ListVersionsByFunctionOutput) GoString() string {
11352	return s.String()
11353}
11354
11355// SetNextMarker sets the NextMarker field's value.
11356func (s *ListVersionsByFunctionOutput) SetNextMarker(v string) *ListVersionsByFunctionOutput {
11357	s.NextMarker = &v
11358	return s
11359}
11360
11361// SetVersions sets the Versions field's value.
11362func (s *ListVersionsByFunctionOutput) SetVersions(v []*FunctionConfiguration) *ListVersionsByFunctionOutput {
11363	s.Versions = v
11364	return s
11365}
11366
11367// A destination for events that failed processing.
11368type OnFailure struct {
11369	_ struct{} `type:"structure"`
11370
11371	// The Amazon Resource Name (ARN) of the destination resource.
11372	Destination *string `type:"string"`
11373}
11374
11375// String returns the string representation
11376func (s OnFailure) String() string {
11377	return awsutil.Prettify(s)
11378}
11379
11380// GoString returns the string representation
11381func (s OnFailure) GoString() string {
11382	return s.String()
11383}
11384
11385// SetDestination sets the Destination field's value.
11386func (s *OnFailure) SetDestination(v string) *OnFailure {
11387	s.Destination = &v
11388	return s
11389}
11390
11391// A destination for events that were processed successfully.
11392type OnSuccess struct {
11393	_ struct{} `type:"structure"`
11394
11395	// The Amazon Resource Name (ARN) of the destination resource.
11396	Destination *string `type:"string"`
11397}
11398
11399// String returns the string representation
11400func (s OnSuccess) String() string {
11401	return awsutil.Prettify(s)
11402}
11403
11404// GoString returns the string representation
11405func (s OnSuccess) GoString() string {
11406	return s.String()
11407}
11408
11409// SetDestination sets the Destination field's value.
11410func (s *OnSuccess) SetDestination(v string) *OnSuccess {
11411	s.Destination = &v
11412	return s
11413}
11414
11415// The permissions policy for the resource is too large. Learn more (https://docs.aws.amazon.com/lambda/latest/dg/limits.html)
11416type PolicyLengthExceededException struct {
11417	_            struct{}                  `type:"structure"`
11418	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
11419
11420	Message_ *string `locationName:"message" type:"string"`
11421
11422	Type *string `type:"string"`
11423}
11424
11425// String returns the string representation
11426func (s PolicyLengthExceededException) String() string {
11427	return awsutil.Prettify(s)
11428}
11429
11430// GoString returns the string representation
11431func (s PolicyLengthExceededException) GoString() string {
11432	return s.String()
11433}
11434
11435func newErrorPolicyLengthExceededException(v protocol.ResponseMetadata) error {
11436	return &PolicyLengthExceededException{
11437		RespMetadata: v,
11438	}
11439}
11440
11441// Code returns the exception type name.
11442func (s *PolicyLengthExceededException) Code() string {
11443	return "PolicyLengthExceededException"
11444}
11445
11446// Message returns the exception's message.
11447func (s *PolicyLengthExceededException) Message() string {
11448	if s.Message_ != nil {
11449		return *s.Message_
11450	}
11451	return ""
11452}
11453
11454// OrigErr always returns nil, satisfies awserr.Error interface.
11455func (s *PolicyLengthExceededException) OrigErr() error {
11456	return nil
11457}
11458
11459func (s *PolicyLengthExceededException) Error() string {
11460	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
11461}
11462
11463// Status code returns the HTTP status code for the request's response error.
11464func (s *PolicyLengthExceededException) StatusCode() int {
11465	return s.RespMetadata.StatusCode
11466}
11467
11468// RequestID returns the service's response RequestID for request.
11469func (s *PolicyLengthExceededException) RequestID() string {
11470	return s.RespMetadata.RequestID
11471}
11472
11473// The RevisionId provided does not match the latest RevisionId for the Lambda
11474// function or alias. Call the GetFunction or the GetAlias API to retrieve the
11475// latest RevisionId for your resource.
11476type PreconditionFailedException struct {
11477	_            struct{}                  `type:"structure"`
11478	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
11479
11480	// The exception message.
11481	Message_ *string `locationName:"message" type:"string"`
11482
11483	// The exception type.
11484	Type *string `type:"string"`
11485}
11486
11487// String returns the string representation
11488func (s PreconditionFailedException) String() string {
11489	return awsutil.Prettify(s)
11490}
11491
11492// GoString returns the string representation
11493func (s PreconditionFailedException) GoString() string {
11494	return s.String()
11495}
11496
11497func newErrorPreconditionFailedException(v protocol.ResponseMetadata) error {
11498	return &PreconditionFailedException{
11499		RespMetadata: v,
11500	}
11501}
11502
11503// Code returns the exception type name.
11504func (s *PreconditionFailedException) Code() string {
11505	return "PreconditionFailedException"
11506}
11507
11508// Message returns the exception's message.
11509func (s *PreconditionFailedException) Message() string {
11510	if s.Message_ != nil {
11511		return *s.Message_
11512	}
11513	return ""
11514}
11515
11516// OrigErr always returns nil, satisfies awserr.Error interface.
11517func (s *PreconditionFailedException) OrigErr() error {
11518	return nil
11519}
11520
11521func (s *PreconditionFailedException) Error() string {
11522	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
11523}
11524
11525// Status code returns the HTTP status code for the request's response error.
11526func (s *PreconditionFailedException) StatusCode() int {
11527	return s.RespMetadata.StatusCode
11528}
11529
11530// RequestID returns the service's response RequestID for request.
11531func (s *PreconditionFailedException) RequestID() string {
11532	return s.RespMetadata.RequestID
11533}
11534
11535// Details about the provisioned concurrency configuration for a function alias
11536// or version.
11537type ProvisionedConcurrencyConfigListItem struct {
11538	_ struct{} `type:"structure"`
11539
11540	// The amount of provisioned concurrency allocated.
11541	AllocatedProvisionedConcurrentExecutions *int64 `type:"integer"`
11542
11543	// The amount of provisioned concurrency available.
11544	AvailableProvisionedConcurrentExecutions *int64 `type:"integer"`
11545
11546	// The Amazon Resource Name (ARN) of the alias or version.
11547	FunctionArn *string `type:"string"`
11548
11549	// The date and time that a user last updated the configuration, in ISO 8601
11550	// format (https://www.iso.org/iso-8601-date-and-time-format.html).
11551	LastModified *string `type:"string"`
11552
11553	// The amount of provisioned concurrency requested.
11554	RequestedProvisionedConcurrentExecutions *int64 `min:"1" type:"integer"`
11555
11556	// The status of the allocation process.
11557	Status *string `type:"string" enum:"ProvisionedConcurrencyStatusEnum"`
11558
11559	// For failed allocations, the reason that provisioned concurrency could not
11560	// be allocated.
11561	StatusReason *string `type:"string"`
11562}
11563
11564// String returns the string representation
11565func (s ProvisionedConcurrencyConfigListItem) String() string {
11566	return awsutil.Prettify(s)
11567}
11568
11569// GoString returns the string representation
11570func (s ProvisionedConcurrencyConfigListItem) GoString() string {
11571	return s.String()
11572}
11573
11574// SetAllocatedProvisionedConcurrentExecutions sets the AllocatedProvisionedConcurrentExecutions field's value.
11575func (s *ProvisionedConcurrencyConfigListItem) SetAllocatedProvisionedConcurrentExecutions(v int64) *ProvisionedConcurrencyConfigListItem {
11576	s.AllocatedProvisionedConcurrentExecutions = &v
11577	return s
11578}
11579
11580// SetAvailableProvisionedConcurrentExecutions sets the AvailableProvisionedConcurrentExecutions field's value.
11581func (s *ProvisionedConcurrencyConfigListItem) SetAvailableProvisionedConcurrentExecutions(v int64) *ProvisionedConcurrencyConfigListItem {
11582	s.AvailableProvisionedConcurrentExecutions = &v
11583	return s
11584}
11585
11586// SetFunctionArn sets the FunctionArn field's value.
11587func (s *ProvisionedConcurrencyConfigListItem) SetFunctionArn(v string) *ProvisionedConcurrencyConfigListItem {
11588	s.FunctionArn = &v
11589	return s
11590}
11591
11592// SetLastModified sets the LastModified field's value.
11593func (s *ProvisionedConcurrencyConfigListItem) SetLastModified(v string) *ProvisionedConcurrencyConfigListItem {
11594	s.LastModified = &v
11595	return s
11596}
11597
11598// SetRequestedProvisionedConcurrentExecutions sets the RequestedProvisionedConcurrentExecutions field's value.
11599func (s *ProvisionedConcurrencyConfigListItem) SetRequestedProvisionedConcurrentExecutions(v int64) *ProvisionedConcurrencyConfigListItem {
11600	s.RequestedProvisionedConcurrentExecutions = &v
11601	return s
11602}
11603
11604// SetStatus sets the Status field's value.
11605func (s *ProvisionedConcurrencyConfigListItem) SetStatus(v string) *ProvisionedConcurrencyConfigListItem {
11606	s.Status = &v
11607	return s
11608}
11609
11610// SetStatusReason sets the StatusReason field's value.
11611func (s *ProvisionedConcurrencyConfigListItem) SetStatusReason(v string) *ProvisionedConcurrencyConfigListItem {
11612	s.StatusReason = &v
11613	return s
11614}
11615
11616// The specified configuration does not exist.
11617type ProvisionedConcurrencyConfigNotFoundException struct {
11618	_            struct{}                  `type:"structure"`
11619	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
11620
11621	Message_ *string `locationName:"message" type:"string"`
11622
11623	Type *string `type:"string"`
11624}
11625
11626// String returns the string representation
11627func (s ProvisionedConcurrencyConfigNotFoundException) String() string {
11628	return awsutil.Prettify(s)
11629}
11630
11631// GoString returns the string representation
11632func (s ProvisionedConcurrencyConfigNotFoundException) GoString() string {
11633	return s.String()
11634}
11635
11636func newErrorProvisionedConcurrencyConfigNotFoundException(v protocol.ResponseMetadata) error {
11637	return &ProvisionedConcurrencyConfigNotFoundException{
11638		RespMetadata: v,
11639	}
11640}
11641
11642// Code returns the exception type name.
11643func (s *ProvisionedConcurrencyConfigNotFoundException) Code() string {
11644	return "ProvisionedConcurrencyConfigNotFoundException"
11645}
11646
11647// Message returns the exception's message.
11648func (s *ProvisionedConcurrencyConfigNotFoundException) Message() string {
11649	if s.Message_ != nil {
11650		return *s.Message_
11651	}
11652	return ""
11653}
11654
11655// OrigErr always returns nil, satisfies awserr.Error interface.
11656func (s *ProvisionedConcurrencyConfigNotFoundException) OrigErr() error {
11657	return nil
11658}
11659
11660func (s *ProvisionedConcurrencyConfigNotFoundException) Error() string {
11661	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
11662}
11663
11664// Status code returns the HTTP status code for the request's response error.
11665func (s *ProvisionedConcurrencyConfigNotFoundException) StatusCode() int {
11666	return s.RespMetadata.StatusCode
11667}
11668
11669// RequestID returns the service's response RequestID for request.
11670func (s *ProvisionedConcurrencyConfigNotFoundException) RequestID() string {
11671	return s.RespMetadata.RequestID
11672}
11673
11674type PublishLayerVersionInput struct {
11675	_ struct{} `type:"structure"`
11676
11677	// A list of compatible function runtimes (https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html).
11678	// Used for filtering with ListLayers and ListLayerVersions.
11679	CompatibleRuntimes []*string `type:"list"`
11680
11681	// The function layer archive.
11682	//
11683	// Content is a required field
11684	Content *LayerVersionContentInput `type:"structure" required:"true"`
11685
11686	// The description of the version.
11687	Description *string `type:"string"`
11688
11689	// The name or Amazon Resource Name (ARN) of the layer.
11690	//
11691	// LayerName is a required field
11692	LayerName *string `location:"uri" locationName:"LayerName" min:"1" type:"string" required:"true"`
11693
11694	// The layer's software license. It can be any of the following:
11695	//
11696	//    * An SPDX license identifier (https://spdx.org/licenses/). For example,
11697	//    MIT.
11698	//
11699	//    * The URL of a license hosted on the internet. For example, https://opensource.org/licenses/MIT.
11700	//
11701	//    * The full text of the license.
11702	LicenseInfo *string `type:"string"`
11703}
11704
11705// String returns the string representation
11706func (s PublishLayerVersionInput) String() string {
11707	return awsutil.Prettify(s)
11708}
11709
11710// GoString returns the string representation
11711func (s PublishLayerVersionInput) GoString() string {
11712	return s.String()
11713}
11714
11715// Validate inspects the fields of the type to determine if they are valid.
11716func (s *PublishLayerVersionInput) Validate() error {
11717	invalidParams := request.ErrInvalidParams{Context: "PublishLayerVersionInput"}
11718	if s.Content == nil {
11719		invalidParams.Add(request.NewErrParamRequired("Content"))
11720	}
11721	if s.LayerName == nil {
11722		invalidParams.Add(request.NewErrParamRequired("LayerName"))
11723	}
11724	if s.LayerName != nil && len(*s.LayerName) < 1 {
11725		invalidParams.Add(request.NewErrParamMinLen("LayerName", 1))
11726	}
11727	if s.Content != nil {
11728		if err := s.Content.Validate(); err != nil {
11729			invalidParams.AddNested("Content", err.(request.ErrInvalidParams))
11730		}
11731	}
11732
11733	if invalidParams.Len() > 0 {
11734		return invalidParams
11735	}
11736	return nil
11737}
11738
11739// SetCompatibleRuntimes sets the CompatibleRuntimes field's value.
11740func (s *PublishLayerVersionInput) SetCompatibleRuntimes(v []*string) *PublishLayerVersionInput {
11741	s.CompatibleRuntimes = v
11742	return s
11743}
11744
11745// SetContent sets the Content field's value.
11746func (s *PublishLayerVersionInput) SetContent(v *LayerVersionContentInput) *PublishLayerVersionInput {
11747	s.Content = v
11748	return s
11749}
11750
11751// SetDescription sets the Description field's value.
11752func (s *PublishLayerVersionInput) SetDescription(v string) *PublishLayerVersionInput {
11753	s.Description = &v
11754	return s
11755}
11756
11757// SetLayerName sets the LayerName field's value.
11758func (s *PublishLayerVersionInput) SetLayerName(v string) *PublishLayerVersionInput {
11759	s.LayerName = &v
11760	return s
11761}
11762
11763// SetLicenseInfo sets the LicenseInfo field's value.
11764func (s *PublishLayerVersionInput) SetLicenseInfo(v string) *PublishLayerVersionInput {
11765	s.LicenseInfo = &v
11766	return s
11767}
11768
11769type PublishLayerVersionOutput struct {
11770	_ struct{} `type:"structure"`
11771
11772	// The layer's compatible runtimes.
11773	CompatibleRuntimes []*string `type:"list"`
11774
11775	// Details about the layer version.
11776	Content *LayerVersionContentOutput `type:"structure"`
11777
11778	// The date that the layer version was created, in ISO-8601 format (https://www.w3.org/TR/NOTE-datetime)
11779	// (YYYY-MM-DDThh:mm:ss.sTZD).
11780	CreatedDate *string `type:"string"`
11781
11782	// The description of the version.
11783	Description *string `type:"string"`
11784
11785	// The ARN of the layer.
11786	LayerArn *string `min:"1" type:"string"`
11787
11788	// The ARN of the layer version.
11789	LayerVersionArn *string `min:"1" type:"string"`
11790
11791	// The layer's software license.
11792	LicenseInfo *string `type:"string"`
11793
11794	// The version number.
11795	Version *int64 `type:"long"`
11796}
11797
11798// String returns the string representation
11799func (s PublishLayerVersionOutput) String() string {
11800	return awsutil.Prettify(s)
11801}
11802
11803// GoString returns the string representation
11804func (s PublishLayerVersionOutput) GoString() string {
11805	return s.String()
11806}
11807
11808// SetCompatibleRuntimes sets the CompatibleRuntimes field's value.
11809func (s *PublishLayerVersionOutput) SetCompatibleRuntimes(v []*string) *PublishLayerVersionOutput {
11810	s.CompatibleRuntimes = v
11811	return s
11812}
11813
11814// SetContent sets the Content field's value.
11815func (s *PublishLayerVersionOutput) SetContent(v *LayerVersionContentOutput) *PublishLayerVersionOutput {
11816	s.Content = v
11817	return s
11818}
11819
11820// SetCreatedDate sets the CreatedDate field's value.
11821func (s *PublishLayerVersionOutput) SetCreatedDate(v string) *PublishLayerVersionOutput {
11822	s.CreatedDate = &v
11823	return s
11824}
11825
11826// SetDescription sets the Description field's value.
11827func (s *PublishLayerVersionOutput) SetDescription(v string) *PublishLayerVersionOutput {
11828	s.Description = &v
11829	return s
11830}
11831
11832// SetLayerArn sets the LayerArn field's value.
11833func (s *PublishLayerVersionOutput) SetLayerArn(v string) *PublishLayerVersionOutput {
11834	s.LayerArn = &v
11835	return s
11836}
11837
11838// SetLayerVersionArn sets the LayerVersionArn field's value.
11839func (s *PublishLayerVersionOutput) SetLayerVersionArn(v string) *PublishLayerVersionOutput {
11840	s.LayerVersionArn = &v
11841	return s
11842}
11843
11844// SetLicenseInfo sets the LicenseInfo field's value.
11845func (s *PublishLayerVersionOutput) SetLicenseInfo(v string) *PublishLayerVersionOutput {
11846	s.LicenseInfo = &v
11847	return s
11848}
11849
11850// SetVersion sets the Version field's value.
11851func (s *PublishLayerVersionOutput) SetVersion(v int64) *PublishLayerVersionOutput {
11852	s.Version = &v
11853	return s
11854}
11855
11856type PublishVersionInput struct {
11857	_ struct{} `type:"structure"`
11858
11859	// Only publish a version if the hash value matches the value that's specified.
11860	// Use this option to avoid publishing a version if the function code has changed
11861	// since you last updated it. You can get the hash for the version that you
11862	// uploaded from the output of UpdateFunctionCode.
11863	CodeSha256 *string `type:"string"`
11864
11865	// A description for the version to override the description in the function
11866	// configuration.
11867	Description *string `type:"string"`
11868
11869	// The name of the Lambda function.
11870	//
11871	// Name formats
11872	//
11873	//    * Function name - MyFunction.
11874	//
11875	//    * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.
11876	//
11877	//    * Partial ARN - 123456789012:function:MyFunction.
11878	//
11879	// The length constraint applies only to the full ARN. If you specify only the
11880	// function name, it is limited to 64 characters in length.
11881	//
11882	// FunctionName is a required field
11883	FunctionName *string `location:"uri" locationName:"FunctionName" min:"1" type:"string" required:"true"`
11884
11885	// Only update the function if the revision ID matches the ID that's specified.
11886	// Use this option to avoid publishing a version if the function configuration
11887	// has changed since you last updated it.
11888	RevisionId *string `type:"string"`
11889}
11890
11891// String returns the string representation
11892func (s PublishVersionInput) String() string {
11893	return awsutil.Prettify(s)
11894}
11895
11896// GoString returns the string representation
11897func (s PublishVersionInput) GoString() string {
11898	return s.String()
11899}
11900
11901// Validate inspects the fields of the type to determine if they are valid.
11902func (s *PublishVersionInput) Validate() error {
11903	invalidParams := request.ErrInvalidParams{Context: "PublishVersionInput"}
11904	if s.FunctionName == nil {
11905		invalidParams.Add(request.NewErrParamRequired("FunctionName"))
11906	}
11907	if s.FunctionName != nil && len(*s.FunctionName) < 1 {
11908		invalidParams.Add(request.NewErrParamMinLen("FunctionName", 1))
11909	}
11910
11911	if invalidParams.Len() > 0 {
11912		return invalidParams
11913	}
11914	return nil
11915}
11916
11917// SetCodeSha256 sets the CodeSha256 field's value.
11918func (s *PublishVersionInput) SetCodeSha256(v string) *PublishVersionInput {
11919	s.CodeSha256 = &v
11920	return s
11921}
11922
11923// SetDescription sets the Description field's value.
11924func (s *PublishVersionInput) SetDescription(v string) *PublishVersionInput {
11925	s.Description = &v
11926	return s
11927}
11928
11929// SetFunctionName sets the FunctionName field's value.
11930func (s *PublishVersionInput) SetFunctionName(v string) *PublishVersionInput {
11931	s.FunctionName = &v
11932	return s
11933}
11934
11935// SetRevisionId sets the RevisionId field's value.
11936func (s *PublishVersionInput) SetRevisionId(v string) *PublishVersionInput {
11937	s.RevisionId = &v
11938	return s
11939}
11940
11941type PutFunctionConcurrencyInput struct {
11942	_ struct{} `type:"structure"`
11943
11944	// The name of the Lambda function.
11945	//
11946	// Name formats
11947	//
11948	//    * Function name - my-function.
11949	//
11950	//    * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.
11951	//
11952	//    * Partial ARN - 123456789012:function:my-function.
11953	//
11954	// The length constraint applies only to the full ARN. If you specify only the
11955	// function name, it is limited to 64 characters in length.
11956	//
11957	// FunctionName is a required field
11958	FunctionName *string `location:"uri" locationName:"FunctionName" min:"1" type:"string" required:"true"`
11959
11960	// The number of simultaneous executions to reserve for the function.
11961	//
11962	// ReservedConcurrentExecutions is a required field
11963	ReservedConcurrentExecutions *int64 `type:"integer" required:"true"`
11964}
11965
11966// String returns the string representation
11967func (s PutFunctionConcurrencyInput) String() string {
11968	return awsutil.Prettify(s)
11969}
11970
11971// GoString returns the string representation
11972func (s PutFunctionConcurrencyInput) GoString() string {
11973	return s.String()
11974}
11975
11976// Validate inspects the fields of the type to determine if they are valid.
11977func (s *PutFunctionConcurrencyInput) Validate() error {
11978	invalidParams := request.ErrInvalidParams{Context: "PutFunctionConcurrencyInput"}
11979	if s.FunctionName == nil {
11980		invalidParams.Add(request.NewErrParamRequired("FunctionName"))
11981	}
11982	if s.FunctionName != nil && len(*s.FunctionName) < 1 {
11983		invalidParams.Add(request.NewErrParamMinLen("FunctionName", 1))
11984	}
11985	if s.ReservedConcurrentExecutions == nil {
11986		invalidParams.Add(request.NewErrParamRequired("ReservedConcurrentExecutions"))
11987	}
11988
11989	if invalidParams.Len() > 0 {
11990		return invalidParams
11991	}
11992	return nil
11993}
11994
11995// SetFunctionName sets the FunctionName field's value.
11996func (s *PutFunctionConcurrencyInput) SetFunctionName(v string) *PutFunctionConcurrencyInput {
11997	s.FunctionName = &v
11998	return s
11999}
12000
12001// SetReservedConcurrentExecutions sets the ReservedConcurrentExecutions field's value.
12002func (s *PutFunctionConcurrencyInput) SetReservedConcurrentExecutions(v int64) *PutFunctionConcurrencyInput {
12003	s.ReservedConcurrentExecutions = &v
12004	return s
12005}
12006
12007type PutFunctionConcurrencyOutput struct {
12008	_ struct{} `type:"structure"`
12009
12010	// The number of concurrent executions that are reserved for this function.
12011	// For more information, see Managing Concurrency (https://docs.aws.amazon.com/lambda/latest/dg/concurrent-executions.html).
12012	ReservedConcurrentExecutions *int64 `type:"integer"`
12013}
12014
12015// String returns the string representation
12016func (s PutFunctionConcurrencyOutput) String() string {
12017	return awsutil.Prettify(s)
12018}
12019
12020// GoString returns the string representation
12021func (s PutFunctionConcurrencyOutput) GoString() string {
12022	return s.String()
12023}
12024
12025// SetReservedConcurrentExecutions sets the ReservedConcurrentExecutions field's value.
12026func (s *PutFunctionConcurrencyOutput) SetReservedConcurrentExecutions(v int64) *PutFunctionConcurrencyOutput {
12027	s.ReservedConcurrentExecutions = &v
12028	return s
12029}
12030
12031type PutFunctionEventInvokeConfigInput struct {
12032	_ struct{} `type:"structure"`
12033
12034	// A destination for events after they have been sent to a function for processing.
12035	//
12036	// Destinations
12037	//
12038	//    * Function - The Amazon Resource Name (ARN) of a Lambda function.
12039	//
12040	//    * Queue - The ARN of an SQS queue.
12041	//
12042	//    * Topic - The ARN of an SNS topic.
12043	//
12044	//    * Event Bus - The ARN of an Amazon EventBridge event bus.
12045	DestinationConfig *DestinationConfig `type:"structure"`
12046
12047	// The name of the Lambda function, version, or alias.
12048	//
12049	// Name formats
12050	//
12051	//    * Function name - my-function (name-only), my-function:v1 (with alias).
12052	//
12053	//    * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.
12054	//
12055	//    * Partial ARN - 123456789012:function:my-function.
12056	//
12057	// You can append a version number or alias to any of the formats. The length
12058	// constraint applies only to the full ARN. If you specify only the function
12059	// name, it is limited to 64 characters in length.
12060	//
12061	// FunctionName is a required field
12062	FunctionName *string `location:"uri" locationName:"FunctionName" min:"1" type:"string" required:"true"`
12063
12064	// The maximum age of a request that Lambda sends to a function for processing.
12065	MaximumEventAgeInSeconds *int64 `min:"60" type:"integer"`
12066
12067	// The maximum number of times to retry when the function returns an error.
12068	MaximumRetryAttempts *int64 `type:"integer"`
12069
12070	// A version number or alias name.
12071	Qualifier *string `location:"querystring" locationName:"Qualifier" min:"1" type:"string"`
12072}
12073
12074// String returns the string representation
12075func (s PutFunctionEventInvokeConfigInput) String() string {
12076	return awsutil.Prettify(s)
12077}
12078
12079// GoString returns the string representation
12080func (s PutFunctionEventInvokeConfigInput) GoString() string {
12081	return s.String()
12082}
12083
12084// Validate inspects the fields of the type to determine if they are valid.
12085func (s *PutFunctionEventInvokeConfigInput) Validate() error {
12086	invalidParams := request.ErrInvalidParams{Context: "PutFunctionEventInvokeConfigInput"}
12087	if s.FunctionName == nil {
12088		invalidParams.Add(request.NewErrParamRequired("FunctionName"))
12089	}
12090	if s.FunctionName != nil && len(*s.FunctionName) < 1 {
12091		invalidParams.Add(request.NewErrParamMinLen("FunctionName", 1))
12092	}
12093	if s.MaximumEventAgeInSeconds != nil && *s.MaximumEventAgeInSeconds < 60 {
12094		invalidParams.Add(request.NewErrParamMinValue("MaximumEventAgeInSeconds", 60))
12095	}
12096	if s.Qualifier != nil && len(*s.Qualifier) < 1 {
12097		invalidParams.Add(request.NewErrParamMinLen("Qualifier", 1))
12098	}
12099
12100	if invalidParams.Len() > 0 {
12101		return invalidParams
12102	}
12103	return nil
12104}
12105
12106// SetDestinationConfig sets the DestinationConfig field's value.
12107func (s *PutFunctionEventInvokeConfigInput) SetDestinationConfig(v *DestinationConfig) *PutFunctionEventInvokeConfigInput {
12108	s.DestinationConfig = v
12109	return s
12110}
12111
12112// SetFunctionName sets the FunctionName field's value.
12113func (s *PutFunctionEventInvokeConfigInput) SetFunctionName(v string) *PutFunctionEventInvokeConfigInput {
12114	s.FunctionName = &v
12115	return s
12116}
12117
12118// SetMaximumEventAgeInSeconds sets the MaximumEventAgeInSeconds field's value.
12119func (s *PutFunctionEventInvokeConfigInput) SetMaximumEventAgeInSeconds(v int64) *PutFunctionEventInvokeConfigInput {
12120	s.MaximumEventAgeInSeconds = &v
12121	return s
12122}
12123
12124// SetMaximumRetryAttempts sets the MaximumRetryAttempts field's value.
12125func (s *PutFunctionEventInvokeConfigInput) SetMaximumRetryAttempts(v int64) *PutFunctionEventInvokeConfigInput {
12126	s.MaximumRetryAttempts = &v
12127	return s
12128}
12129
12130// SetQualifier sets the Qualifier field's value.
12131func (s *PutFunctionEventInvokeConfigInput) SetQualifier(v string) *PutFunctionEventInvokeConfigInput {
12132	s.Qualifier = &v
12133	return s
12134}
12135
12136type PutFunctionEventInvokeConfigOutput struct {
12137	_ struct{} `type:"structure"`
12138
12139	// A destination for events after they have been sent to a function for processing.
12140	//
12141	// Destinations
12142	//
12143	//    * Function - The Amazon Resource Name (ARN) of a Lambda function.
12144	//
12145	//    * Queue - The ARN of an SQS queue.
12146	//
12147	//    * Topic - The ARN of an SNS topic.
12148	//
12149	//    * Event Bus - The ARN of an Amazon EventBridge event bus.
12150	DestinationConfig *DestinationConfig `type:"structure"`
12151
12152	// The Amazon Resource Name (ARN) of the function.
12153	FunctionArn *string `type:"string"`
12154
12155	// The date and time that the configuration was last updated.
12156	LastModified *time.Time `type:"timestamp"`
12157
12158	// The maximum age of a request that Lambda sends to a function for processing.
12159	MaximumEventAgeInSeconds *int64 `min:"60" type:"integer"`
12160
12161	// The maximum number of times to retry when the function returns an error.
12162	MaximumRetryAttempts *int64 `type:"integer"`
12163}
12164
12165// String returns the string representation
12166func (s PutFunctionEventInvokeConfigOutput) String() string {
12167	return awsutil.Prettify(s)
12168}
12169
12170// GoString returns the string representation
12171func (s PutFunctionEventInvokeConfigOutput) GoString() string {
12172	return s.String()
12173}
12174
12175// SetDestinationConfig sets the DestinationConfig field's value.
12176func (s *PutFunctionEventInvokeConfigOutput) SetDestinationConfig(v *DestinationConfig) *PutFunctionEventInvokeConfigOutput {
12177	s.DestinationConfig = v
12178	return s
12179}
12180
12181// SetFunctionArn sets the FunctionArn field's value.
12182func (s *PutFunctionEventInvokeConfigOutput) SetFunctionArn(v string) *PutFunctionEventInvokeConfigOutput {
12183	s.FunctionArn = &v
12184	return s
12185}
12186
12187// SetLastModified sets the LastModified field's value.
12188func (s *PutFunctionEventInvokeConfigOutput) SetLastModified(v time.Time) *PutFunctionEventInvokeConfigOutput {
12189	s.LastModified = &v
12190	return s
12191}
12192
12193// SetMaximumEventAgeInSeconds sets the MaximumEventAgeInSeconds field's value.
12194func (s *PutFunctionEventInvokeConfigOutput) SetMaximumEventAgeInSeconds(v int64) *PutFunctionEventInvokeConfigOutput {
12195	s.MaximumEventAgeInSeconds = &v
12196	return s
12197}
12198
12199// SetMaximumRetryAttempts sets the MaximumRetryAttempts field's value.
12200func (s *PutFunctionEventInvokeConfigOutput) SetMaximumRetryAttempts(v int64) *PutFunctionEventInvokeConfigOutput {
12201	s.MaximumRetryAttempts = &v
12202	return s
12203}
12204
12205type PutProvisionedConcurrencyConfigInput struct {
12206	_ struct{} `type:"structure"`
12207
12208	// The name of the Lambda function.
12209	//
12210	// Name formats
12211	//
12212	//    * Function name - my-function.
12213	//
12214	//    * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.
12215	//
12216	//    * Partial ARN - 123456789012:function:my-function.
12217	//
12218	// The length constraint applies only to the full ARN. If you specify only the
12219	// function name, it is limited to 64 characters in length.
12220	//
12221	// FunctionName is a required field
12222	FunctionName *string `location:"uri" locationName:"FunctionName" min:"1" type:"string" required:"true"`
12223
12224	// The amount of provisioned concurrency to allocate for the version or alias.
12225	//
12226	// ProvisionedConcurrentExecutions is a required field
12227	ProvisionedConcurrentExecutions *int64 `min:"1" type:"integer" required:"true"`
12228
12229	// The version number or alias name.
12230	//
12231	// Qualifier is a required field
12232	Qualifier *string `location:"querystring" locationName:"Qualifier" min:"1" type:"string" required:"true"`
12233}
12234
12235// String returns the string representation
12236func (s PutProvisionedConcurrencyConfigInput) String() string {
12237	return awsutil.Prettify(s)
12238}
12239
12240// GoString returns the string representation
12241func (s PutProvisionedConcurrencyConfigInput) GoString() string {
12242	return s.String()
12243}
12244
12245// Validate inspects the fields of the type to determine if they are valid.
12246func (s *PutProvisionedConcurrencyConfigInput) Validate() error {
12247	invalidParams := request.ErrInvalidParams{Context: "PutProvisionedConcurrencyConfigInput"}
12248	if s.FunctionName == nil {
12249		invalidParams.Add(request.NewErrParamRequired("FunctionName"))
12250	}
12251	if s.FunctionName != nil && len(*s.FunctionName) < 1 {
12252		invalidParams.Add(request.NewErrParamMinLen("FunctionName", 1))
12253	}
12254	if s.ProvisionedConcurrentExecutions == nil {
12255		invalidParams.Add(request.NewErrParamRequired("ProvisionedConcurrentExecutions"))
12256	}
12257	if s.ProvisionedConcurrentExecutions != nil && *s.ProvisionedConcurrentExecutions < 1 {
12258		invalidParams.Add(request.NewErrParamMinValue("ProvisionedConcurrentExecutions", 1))
12259	}
12260	if s.Qualifier == nil {
12261		invalidParams.Add(request.NewErrParamRequired("Qualifier"))
12262	}
12263	if s.Qualifier != nil && len(*s.Qualifier) < 1 {
12264		invalidParams.Add(request.NewErrParamMinLen("Qualifier", 1))
12265	}
12266
12267	if invalidParams.Len() > 0 {
12268		return invalidParams
12269	}
12270	return nil
12271}
12272
12273// SetFunctionName sets the FunctionName field's value.
12274func (s *PutProvisionedConcurrencyConfigInput) SetFunctionName(v string) *PutProvisionedConcurrencyConfigInput {
12275	s.FunctionName = &v
12276	return s
12277}
12278
12279// SetProvisionedConcurrentExecutions sets the ProvisionedConcurrentExecutions field's value.
12280func (s *PutProvisionedConcurrencyConfigInput) SetProvisionedConcurrentExecutions(v int64) *PutProvisionedConcurrencyConfigInput {
12281	s.ProvisionedConcurrentExecutions = &v
12282	return s
12283}
12284
12285// SetQualifier sets the Qualifier field's value.
12286func (s *PutProvisionedConcurrencyConfigInput) SetQualifier(v string) *PutProvisionedConcurrencyConfigInput {
12287	s.Qualifier = &v
12288	return s
12289}
12290
12291type PutProvisionedConcurrencyConfigOutput struct {
12292	_ struct{} `type:"structure"`
12293
12294	// The amount of provisioned concurrency allocated.
12295	AllocatedProvisionedConcurrentExecutions *int64 `type:"integer"`
12296
12297	// The amount of provisioned concurrency available.
12298	AvailableProvisionedConcurrentExecutions *int64 `type:"integer"`
12299
12300	// The date and time that a user last updated the configuration, in ISO 8601
12301	// format (https://www.iso.org/iso-8601-date-and-time-format.html).
12302	LastModified *string `type:"string"`
12303
12304	// The amount of provisioned concurrency requested.
12305	RequestedProvisionedConcurrentExecutions *int64 `min:"1" type:"integer"`
12306
12307	// The status of the allocation process.
12308	Status *string `type:"string" enum:"ProvisionedConcurrencyStatusEnum"`
12309
12310	// For failed allocations, the reason that provisioned concurrency could not
12311	// be allocated.
12312	StatusReason *string `type:"string"`
12313}
12314
12315// String returns the string representation
12316func (s PutProvisionedConcurrencyConfigOutput) String() string {
12317	return awsutil.Prettify(s)
12318}
12319
12320// GoString returns the string representation
12321func (s PutProvisionedConcurrencyConfigOutput) GoString() string {
12322	return s.String()
12323}
12324
12325// SetAllocatedProvisionedConcurrentExecutions sets the AllocatedProvisionedConcurrentExecutions field's value.
12326func (s *PutProvisionedConcurrencyConfigOutput) SetAllocatedProvisionedConcurrentExecutions(v int64) *PutProvisionedConcurrencyConfigOutput {
12327	s.AllocatedProvisionedConcurrentExecutions = &v
12328	return s
12329}
12330
12331// SetAvailableProvisionedConcurrentExecutions sets the AvailableProvisionedConcurrentExecutions field's value.
12332func (s *PutProvisionedConcurrencyConfigOutput) SetAvailableProvisionedConcurrentExecutions(v int64) *PutProvisionedConcurrencyConfigOutput {
12333	s.AvailableProvisionedConcurrentExecutions = &v
12334	return s
12335}
12336
12337// SetLastModified sets the LastModified field's value.
12338func (s *PutProvisionedConcurrencyConfigOutput) SetLastModified(v string) *PutProvisionedConcurrencyConfigOutput {
12339	s.LastModified = &v
12340	return s
12341}
12342
12343// SetRequestedProvisionedConcurrentExecutions sets the RequestedProvisionedConcurrentExecutions field's value.
12344func (s *PutProvisionedConcurrencyConfigOutput) SetRequestedProvisionedConcurrentExecutions(v int64) *PutProvisionedConcurrencyConfigOutput {
12345	s.RequestedProvisionedConcurrentExecutions = &v
12346	return s
12347}
12348
12349// SetStatus sets the Status field's value.
12350func (s *PutProvisionedConcurrencyConfigOutput) SetStatus(v string) *PutProvisionedConcurrencyConfigOutput {
12351	s.Status = &v
12352	return s
12353}
12354
12355// SetStatusReason sets the StatusReason field's value.
12356func (s *PutProvisionedConcurrencyConfigOutput) SetStatusReason(v string) *PutProvisionedConcurrencyConfigOutput {
12357	s.StatusReason = &v
12358	return s
12359}
12360
12361type RemoveLayerVersionPermissionInput struct {
12362	_ struct{} `type:"structure"`
12363
12364	// The name or Amazon Resource Name (ARN) of the layer.
12365	//
12366	// LayerName is a required field
12367	LayerName *string `location:"uri" locationName:"LayerName" min:"1" type:"string" required:"true"`
12368
12369	// Only update the policy if the revision ID matches the ID specified. Use this
12370	// option to avoid modifying a policy that has changed since you last read it.
12371	RevisionId *string `location:"querystring" locationName:"RevisionId" type:"string"`
12372
12373	// The identifier that was specified when the statement was added.
12374	//
12375	// StatementId is a required field
12376	StatementId *string `location:"uri" locationName:"StatementId" min:"1" type:"string" required:"true"`
12377
12378	// The version number.
12379	//
12380	// VersionNumber is a required field
12381	VersionNumber *int64 `location:"uri" locationName:"VersionNumber" type:"long" required:"true"`
12382}
12383
12384// String returns the string representation
12385func (s RemoveLayerVersionPermissionInput) String() string {
12386	return awsutil.Prettify(s)
12387}
12388
12389// GoString returns the string representation
12390func (s RemoveLayerVersionPermissionInput) GoString() string {
12391	return s.String()
12392}
12393
12394// Validate inspects the fields of the type to determine if they are valid.
12395func (s *RemoveLayerVersionPermissionInput) Validate() error {
12396	invalidParams := request.ErrInvalidParams{Context: "RemoveLayerVersionPermissionInput"}
12397	if s.LayerName == nil {
12398		invalidParams.Add(request.NewErrParamRequired("LayerName"))
12399	}
12400	if s.LayerName != nil && len(*s.LayerName) < 1 {
12401		invalidParams.Add(request.NewErrParamMinLen("LayerName", 1))
12402	}
12403	if s.StatementId == nil {
12404		invalidParams.Add(request.NewErrParamRequired("StatementId"))
12405	}
12406	if s.StatementId != nil && len(*s.StatementId) < 1 {
12407		invalidParams.Add(request.NewErrParamMinLen("StatementId", 1))
12408	}
12409	if s.VersionNumber == nil {
12410		invalidParams.Add(request.NewErrParamRequired("VersionNumber"))
12411	}
12412
12413	if invalidParams.Len() > 0 {
12414		return invalidParams
12415	}
12416	return nil
12417}
12418
12419// SetLayerName sets the LayerName field's value.
12420func (s *RemoveLayerVersionPermissionInput) SetLayerName(v string) *RemoveLayerVersionPermissionInput {
12421	s.LayerName = &v
12422	return s
12423}
12424
12425// SetRevisionId sets the RevisionId field's value.
12426func (s *RemoveLayerVersionPermissionInput) SetRevisionId(v string) *RemoveLayerVersionPermissionInput {
12427	s.RevisionId = &v
12428	return s
12429}
12430
12431// SetStatementId sets the StatementId field's value.
12432func (s *RemoveLayerVersionPermissionInput) SetStatementId(v string) *RemoveLayerVersionPermissionInput {
12433	s.StatementId = &v
12434	return s
12435}
12436
12437// SetVersionNumber sets the VersionNumber field's value.
12438func (s *RemoveLayerVersionPermissionInput) SetVersionNumber(v int64) *RemoveLayerVersionPermissionInput {
12439	s.VersionNumber = &v
12440	return s
12441}
12442
12443type RemoveLayerVersionPermissionOutput struct {
12444	_ struct{} `type:"structure"`
12445}
12446
12447// String returns the string representation
12448func (s RemoveLayerVersionPermissionOutput) String() string {
12449	return awsutil.Prettify(s)
12450}
12451
12452// GoString returns the string representation
12453func (s RemoveLayerVersionPermissionOutput) GoString() string {
12454	return s.String()
12455}
12456
12457type RemovePermissionInput struct {
12458	_ struct{} `type:"structure"`
12459
12460	// The name of the Lambda function, version, or alias.
12461	//
12462	// Name formats
12463	//
12464	//    * Function name - my-function (name-only), my-function:v1 (with alias).
12465	//
12466	//    * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.
12467	//
12468	//    * Partial ARN - 123456789012:function:my-function.
12469	//
12470	// You can append a version number or alias to any of the formats. The length
12471	// constraint applies only to the full ARN. If you specify only the function
12472	// name, it is limited to 64 characters in length.
12473	//
12474	// FunctionName is a required field
12475	FunctionName *string `location:"uri" locationName:"FunctionName" min:"1" type:"string" required:"true"`
12476
12477	// Specify a version or alias to remove permissions from a published version
12478	// of the function.
12479	Qualifier *string `location:"querystring" locationName:"Qualifier" min:"1" type:"string"`
12480
12481	// Only update the policy if the revision ID matches the ID that's specified.
12482	// Use this option to avoid modifying a policy that has changed since you last
12483	// read it.
12484	RevisionId *string `location:"querystring" locationName:"RevisionId" type:"string"`
12485
12486	// Statement ID of the permission to remove.
12487	//
12488	// StatementId is a required field
12489	StatementId *string `location:"uri" locationName:"StatementId" min:"1" type:"string" required:"true"`
12490}
12491
12492// String returns the string representation
12493func (s RemovePermissionInput) String() string {
12494	return awsutil.Prettify(s)
12495}
12496
12497// GoString returns the string representation
12498func (s RemovePermissionInput) GoString() string {
12499	return s.String()
12500}
12501
12502// Validate inspects the fields of the type to determine if they are valid.
12503func (s *RemovePermissionInput) Validate() error {
12504	invalidParams := request.ErrInvalidParams{Context: "RemovePermissionInput"}
12505	if s.FunctionName == nil {
12506		invalidParams.Add(request.NewErrParamRequired("FunctionName"))
12507	}
12508	if s.FunctionName != nil && len(*s.FunctionName) < 1 {
12509		invalidParams.Add(request.NewErrParamMinLen("FunctionName", 1))
12510	}
12511	if s.Qualifier != nil && len(*s.Qualifier) < 1 {
12512		invalidParams.Add(request.NewErrParamMinLen("Qualifier", 1))
12513	}
12514	if s.StatementId == nil {
12515		invalidParams.Add(request.NewErrParamRequired("StatementId"))
12516	}
12517	if s.StatementId != nil && len(*s.StatementId) < 1 {
12518		invalidParams.Add(request.NewErrParamMinLen("StatementId", 1))
12519	}
12520
12521	if invalidParams.Len() > 0 {
12522		return invalidParams
12523	}
12524	return nil
12525}
12526
12527// SetFunctionName sets the FunctionName field's value.
12528func (s *RemovePermissionInput) SetFunctionName(v string) *RemovePermissionInput {
12529	s.FunctionName = &v
12530	return s
12531}
12532
12533// SetQualifier sets the Qualifier field's value.
12534func (s *RemovePermissionInput) SetQualifier(v string) *RemovePermissionInput {
12535	s.Qualifier = &v
12536	return s
12537}
12538
12539// SetRevisionId sets the RevisionId field's value.
12540func (s *RemovePermissionInput) SetRevisionId(v string) *RemovePermissionInput {
12541	s.RevisionId = &v
12542	return s
12543}
12544
12545// SetStatementId sets the StatementId field's value.
12546func (s *RemovePermissionInput) SetStatementId(v string) *RemovePermissionInput {
12547	s.StatementId = &v
12548	return s
12549}
12550
12551type RemovePermissionOutput struct {
12552	_ struct{} `type:"structure"`
12553}
12554
12555// String returns the string representation
12556func (s RemovePermissionOutput) String() string {
12557	return awsutil.Prettify(s)
12558}
12559
12560// GoString returns the string representation
12561func (s RemovePermissionOutput) GoString() string {
12562	return s.String()
12563}
12564
12565// The request payload exceeded the Invoke request body JSON input limit. For
12566// more information, see Limits (https://docs.aws.amazon.com/lambda/latest/dg/limits.html).
12567type RequestTooLargeException struct {
12568	_            struct{}                  `type:"structure"`
12569	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
12570
12571	Message_ *string `locationName:"message" type:"string"`
12572
12573	Type *string `type:"string"`
12574}
12575
12576// String returns the string representation
12577func (s RequestTooLargeException) String() string {
12578	return awsutil.Prettify(s)
12579}
12580
12581// GoString returns the string representation
12582func (s RequestTooLargeException) GoString() string {
12583	return s.String()
12584}
12585
12586func newErrorRequestTooLargeException(v protocol.ResponseMetadata) error {
12587	return &RequestTooLargeException{
12588		RespMetadata: v,
12589	}
12590}
12591
12592// Code returns the exception type name.
12593func (s *RequestTooLargeException) Code() string {
12594	return "RequestTooLargeException"
12595}
12596
12597// Message returns the exception's message.
12598func (s *RequestTooLargeException) Message() string {
12599	if s.Message_ != nil {
12600		return *s.Message_
12601	}
12602	return ""
12603}
12604
12605// OrigErr always returns nil, satisfies awserr.Error interface.
12606func (s *RequestTooLargeException) OrigErr() error {
12607	return nil
12608}
12609
12610func (s *RequestTooLargeException) Error() string {
12611	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
12612}
12613
12614// Status code returns the HTTP status code for the request's response error.
12615func (s *RequestTooLargeException) StatusCode() int {
12616	return s.RespMetadata.StatusCode
12617}
12618
12619// RequestID returns the service's response RequestID for request.
12620func (s *RequestTooLargeException) RequestID() string {
12621	return s.RespMetadata.RequestID
12622}
12623
12624// The resource already exists, or another operation is in progress.
12625type ResourceConflictException struct {
12626	_            struct{}                  `type:"structure"`
12627	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
12628
12629	// The exception message.
12630	Message_ *string `locationName:"message" type:"string"`
12631
12632	// The exception type.
12633	Type *string `type:"string"`
12634}
12635
12636// String returns the string representation
12637func (s ResourceConflictException) String() string {
12638	return awsutil.Prettify(s)
12639}
12640
12641// GoString returns the string representation
12642func (s ResourceConflictException) GoString() string {
12643	return s.String()
12644}
12645
12646func newErrorResourceConflictException(v protocol.ResponseMetadata) error {
12647	return &ResourceConflictException{
12648		RespMetadata: v,
12649	}
12650}
12651
12652// Code returns the exception type name.
12653func (s *ResourceConflictException) Code() string {
12654	return "ResourceConflictException"
12655}
12656
12657// Message returns the exception's message.
12658func (s *ResourceConflictException) Message() string {
12659	if s.Message_ != nil {
12660		return *s.Message_
12661	}
12662	return ""
12663}
12664
12665// OrigErr always returns nil, satisfies awserr.Error interface.
12666func (s *ResourceConflictException) OrigErr() error {
12667	return nil
12668}
12669
12670func (s *ResourceConflictException) Error() string {
12671	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
12672}
12673
12674// Status code returns the HTTP status code for the request's response error.
12675func (s *ResourceConflictException) StatusCode() int {
12676	return s.RespMetadata.StatusCode
12677}
12678
12679// RequestID returns the service's response RequestID for request.
12680func (s *ResourceConflictException) RequestID() string {
12681	return s.RespMetadata.RequestID
12682}
12683
12684// The operation conflicts with the resource's availability. For example, you
12685// attempted to update an EventSource Mapping in CREATING, or tried to delete
12686// a EventSource mapping currently in the UPDATING state.
12687type ResourceInUseException struct {
12688	_            struct{}                  `type:"structure"`
12689	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
12690
12691	Message_ *string `locationName:"Message" type:"string"`
12692
12693	Type *string `type:"string"`
12694}
12695
12696// String returns the string representation
12697func (s ResourceInUseException) String() string {
12698	return awsutil.Prettify(s)
12699}
12700
12701// GoString returns the string representation
12702func (s ResourceInUseException) GoString() string {
12703	return s.String()
12704}
12705
12706func newErrorResourceInUseException(v protocol.ResponseMetadata) error {
12707	return &ResourceInUseException{
12708		RespMetadata: v,
12709	}
12710}
12711
12712// Code returns the exception type name.
12713func (s *ResourceInUseException) Code() string {
12714	return "ResourceInUseException"
12715}
12716
12717// Message returns the exception's message.
12718func (s *ResourceInUseException) Message() string {
12719	if s.Message_ != nil {
12720		return *s.Message_
12721	}
12722	return ""
12723}
12724
12725// OrigErr always returns nil, satisfies awserr.Error interface.
12726func (s *ResourceInUseException) OrigErr() error {
12727	return nil
12728}
12729
12730func (s *ResourceInUseException) Error() string {
12731	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
12732}
12733
12734// Status code returns the HTTP status code for the request's response error.
12735func (s *ResourceInUseException) StatusCode() int {
12736	return s.RespMetadata.StatusCode
12737}
12738
12739// RequestID returns the service's response RequestID for request.
12740func (s *ResourceInUseException) RequestID() string {
12741	return s.RespMetadata.RequestID
12742}
12743
12744// The resource specified in the request does not exist.
12745type ResourceNotFoundException struct {
12746	_            struct{}                  `type:"structure"`
12747	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
12748
12749	Message_ *string `locationName:"Message" type:"string"`
12750
12751	Type *string `type:"string"`
12752}
12753
12754// String returns the string representation
12755func (s ResourceNotFoundException) String() string {
12756	return awsutil.Prettify(s)
12757}
12758
12759// GoString returns the string representation
12760func (s ResourceNotFoundException) GoString() string {
12761	return s.String()
12762}
12763
12764func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
12765	return &ResourceNotFoundException{
12766		RespMetadata: v,
12767	}
12768}
12769
12770// Code returns the exception type name.
12771func (s *ResourceNotFoundException) Code() string {
12772	return "ResourceNotFoundException"
12773}
12774
12775// Message returns the exception's message.
12776func (s *ResourceNotFoundException) Message() string {
12777	if s.Message_ != nil {
12778		return *s.Message_
12779	}
12780	return ""
12781}
12782
12783// OrigErr always returns nil, satisfies awserr.Error interface.
12784func (s *ResourceNotFoundException) OrigErr() error {
12785	return nil
12786}
12787
12788func (s *ResourceNotFoundException) Error() string {
12789	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
12790}
12791
12792// Status code returns the HTTP status code for the request's response error.
12793func (s *ResourceNotFoundException) StatusCode() int {
12794	return s.RespMetadata.StatusCode
12795}
12796
12797// RequestID returns the service's response RequestID for request.
12798func (s *ResourceNotFoundException) RequestID() string {
12799	return s.RespMetadata.RequestID
12800}
12801
12802// The function is inactive and its VPC connection is no longer available. Wait
12803// for the VPC connection to reestablish and try again.
12804type ResourceNotReadyException struct {
12805	_            struct{}                  `type:"structure"`
12806	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
12807
12808	// The exception message.
12809	Message_ *string `locationName:"message" type:"string"`
12810
12811	// The exception type.
12812	Type *string `type:"string"`
12813}
12814
12815// String returns the string representation
12816func (s ResourceNotReadyException) String() string {
12817	return awsutil.Prettify(s)
12818}
12819
12820// GoString returns the string representation
12821func (s ResourceNotReadyException) GoString() string {
12822	return s.String()
12823}
12824
12825func newErrorResourceNotReadyException(v protocol.ResponseMetadata) error {
12826	return &ResourceNotReadyException{
12827		RespMetadata: v,
12828	}
12829}
12830
12831// Code returns the exception type name.
12832func (s *ResourceNotReadyException) Code() string {
12833	return "ResourceNotReadyException"
12834}
12835
12836// Message returns the exception's message.
12837func (s *ResourceNotReadyException) Message() string {
12838	if s.Message_ != nil {
12839		return *s.Message_
12840	}
12841	return ""
12842}
12843
12844// OrigErr always returns nil, satisfies awserr.Error interface.
12845func (s *ResourceNotReadyException) OrigErr() error {
12846	return nil
12847}
12848
12849func (s *ResourceNotReadyException) Error() string {
12850	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
12851}
12852
12853// Status code returns the HTTP status code for the request's response error.
12854func (s *ResourceNotReadyException) StatusCode() int {
12855	return s.RespMetadata.StatusCode
12856}
12857
12858// RequestID returns the service's response RequestID for request.
12859func (s *ResourceNotReadyException) RequestID() string {
12860	return s.RespMetadata.RequestID
12861}
12862
12863// The AWS Lambda service encountered an internal error.
12864type ServiceException struct {
12865	_            struct{}                  `type:"structure"`
12866	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
12867
12868	Message_ *string `locationName:"Message" type:"string"`
12869
12870	Type *string `type:"string"`
12871}
12872
12873// String returns the string representation
12874func (s ServiceException) String() string {
12875	return awsutil.Prettify(s)
12876}
12877
12878// GoString returns the string representation
12879func (s ServiceException) GoString() string {
12880	return s.String()
12881}
12882
12883func newErrorServiceException(v protocol.ResponseMetadata) error {
12884	return &ServiceException{
12885		RespMetadata: v,
12886	}
12887}
12888
12889// Code returns the exception type name.
12890func (s *ServiceException) Code() string {
12891	return "ServiceException"
12892}
12893
12894// Message returns the exception's message.
12895func (s *ServiceException) Message() string {
12896	if s.Message_ != nil {
12897		return *s.Message_
12898	}
12899	return ""
12900}
12901
12902// OrigErr always returns nil, satisfies awserr.Error interface.
12903func (s *ServiceException) OrigErr() error {
12904	return nil
12905}
12906
12907func (s *ServiceException) Error() string {
12908	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
12909}
12910
12911// Status code returns the HTTP status code for the request's response error.
12912func (s *ServiceException) StatusCode() int {
12913	return s.RespMetadata.StatusCode
12914}
12915
12916// RequestID returns the service's response RequestID for request.
12917func (s *ServiceException) RequestID() string {
12918	return s.RespMetadata.RequestID
12919}
12920
12921// AWS Lambda was not able to set up VPC access for the Lambda function because
12922// one or more configured subnets has no available IP addresses.
12923type SubnetIPAddressLimitReachedException struct {
12924	_            struct{}                  `type:"structure"`
12925	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
12926
12927	Message_ *string `locationName:"Message" type:"string"`
12928
12929	Type *string `type:"string"`
12930}
12931
12932// String returns the string representation
12933func (s SubnetIPAddressLimitReachedException) String() string {
12934	return awsutil.Prettify(s)
12935}
12936
12937// GoString returns the string representation
12938func (s SubnetIPAddressLimitReachedException) GoString() string {
12939	return s.String()
12940}
12941
12942func newErrorSubnetIPAddressLimitReachedException(v protocol.ResponseMetadata) error {
12943	return &SubnetIPAddressLimitReachedException{
12944		RespMetadata: v,
12945	}
12946}
12947
12948// Code returns the exception type name.
12949func (s *SubnetIPAddressLimitReachedException) Code() string {
12950	return "SubnetIPAddressLimitReachedException"
12951}
12952
12953// Message returns the exception's message.
12954func (s *SubnetIPAddressLimitReachedException) Message() string {
12955	if s.Message_ != nil {
12956		return *s.Message_
12957	}
12958	return ""
12959}
12960
12961// OrigErr always returns nil, satisfies awserr.Error interface.
12962func (s *SubnetIPAddressLimitReachedException) OrigErr() error {
12963	return nil
12964}
12965
12966func (s *SubnetIPAddressLimitReachedException) Error() string {
12967	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
12968}
12969
12970// Status code returns the HTTP status code for the request's response error.
12971func (s *SubnetIPAddressLimitReachedException) StatusCode() int {
12972	return s.RespMetadata.StatusCode
12973}
12974
12975// RequestID returns the service's response RequestID for request.
12976func (s *SubnetIPAddressLimitReachedException) RequestID() string {
12977	return s.RespMetadata.RequestID
12978}
12979
12980type TagResourceInput struct {
12981	_ struct{} `type:"structure"`
12982
12983	// The function's Amazon Resource Name (ARN).
12984	//
12985	// Resource is a required field
12986	Resource *string `location:"uri" locationName:"ARN" type:"string" required:"true"`
12987
12988	// A list of tags to apply to the function.
12989	//
12990	// Tags is a required field
12991	Tags map[string]*string `type:"map" required:"true"`
12992}
12993
12994// String returns the string representation
12995func (s TagResourceInput) String() string {
12996	return awsutil.Prettify(s)
12997}
12998
12999// GoString returns the string representation
13000func (s TagResourceInput) GoString() string {
13001	return s.String()
13002}
13003
13004// Validate inspects the fields of the type to determine if they are valid.
13005func (s *TagResourceInput) Validate() error {
13006	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
13007	if s.Resource == nil {
13008		invalidParams.Add(request.NewErrParamRequired("Resource"))
13009	}
13010	if s.Resource != nil && len(*s.Resource) < 1 {
13011		invalidParams.Add(request.NewErrParamMinLen("Resource", 1))
13012	}
13013	if s.Tags == nil {
13014		invalidParams.Add(request.NewErrParamRequired("Tags"))
13015	}
13016
13017	if invalidParams.Len() > 0 {
13018		return invalidParams
13019	}
13020	return nil
13021}
13022
13023// SetResource sets the Resource field's value.
13024func (s *TagResourceInput) SetResource(v string) *TagResourceInput {
13025	s.Resource = &v
13026	return s
13027}
13028
13029// SetTags sets the Tags field's value.
13030func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput {
13031	s.Tags = v
13032	return s
13033}
13034
13035type TagResourceOutput struct {
13036	_ struct{} `type:"structure"`
13037}
13038
13039// String returns the string representation
13040func (s TagResourceOutput) String() string {
13041	return awsutil.Prettify(s)
13042}
13043
13044// GoString returns the string representation
13045func (s TagResourceOutput) GoString() string {
13046	return s.String()
13047}
13048
13049// The request throughput limit was exceeded.
13050type TooManyRequestsException struct {
13051	_            struct{}                  `type:"structure"`
13052	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
13053
13054	Message_ *string `locationName:"message" type:"string"`
13055
13056	Reason *string `type:"string" enum:"ThrottleReason"`
13057
13058	// The number of seconds the caller should wait before retrying.
13059	RetryAfterSeconds *string `location:"header" locationName:"Retry-After" type:"string"`
13060
13061	Type *string `type:"string"`
13062}
13063
13064// String returns the string representation
13065func (s TooManyRequestsException) String() string {
13066	return awsutil.Prettify(s)
13067}
13068
13069// GoString returns the string representation
13070func (s TooManyRequestsException) GoString() string {
13071	return s.String()
13072}
13073
13074func newErrorTooManyRequestsException(v protocol.ResponseMetadata) error {
13075	return &TooManyRequestsException{
13076		RespMetadata: v,
13077	}
13078}
13079
13080// Code returns the exception type name.
13081func (s *TooManyRequestsException) Code() string {
13082	return "TooManyRequestsException"
13083}
13084
13085// Message returns the exception's message.
13086func (s *TooManyRequestsException) Message() string {
13087	if s.Message_ != nil {
13088		return *s.Message_
13089	}
13090	return ""
13091}
13092
13093// OrigErr always returns nil, satisfies awserr.Error interface.
13094func (s *TooManyRequestsException) OrigErr() error {
13095	return nil
13096}
13097
13098func (s *TooManyRequestsException) Error() string {
13099	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
13100}
13101
13102// Status code returns the HTTP status code for the request's response error.
13103func (s *TooManyRequestsException) StatusCode() int {
13104	return s.RespMetadata.StatusCode
13105}
13106
13107// RequestID returns the service's response RequestID for request.
13108func (s *TooManyRequestsException) RequestID() string {
13109	return s.RespMetadata.RequestID
13110}
13111
13112// The function's AWS X-Ray tracing configuration. To sample and record incoming
13113// requests, set Mode to Active.
13114type TracingConfig struct {
13115	_ struct{} `type:"structure"`
13116
13117	// The tracing mode.
13118	Mode *string `type:"string" enum:"TracingMode"`
13119}
13120
13121// String returns the string representation
13122func (s TracingConfig) String() string {
13123	return awsutil.Prettify(s)
13124}
13125
13126// GoString returns the string representation
13127func (s TracingConfig) GoString() string {
13128	return s.String()
13129}
13130
13131// SetMode sets the Mode field's value.
13132func (s *TracingConfig) SetMode(v string) *TracingConfig {
13133	s.Mode = &v
13134	return s
13135}
13136
13137// The function's AWS X-Ray tracing configuration.
13138type TracingConfigResponse struct {
13139	_ struct{} `type:"structure"`
13140
13141	// The tracing mode.
13142	Mode *string `type:"string" enum:"TracingMode"`
13143}
13144
13145// String returns the string representation
13146func (s TracingConfigResponse) String() string {
13147	return awsutil.Prettify(s)
13148}
13149
13150// GoString returns the string representation
13151func (s TracingConfigResponse) GoString() string {
13152	return s.String()
13153}
13154
13155// SetMode sets the Mode field's value.
13156func (s *TracingConfigResponse) SetMode(v string) *TracingConfigResponse {
13157	s.Mode = &v
13158	return s
13159}
13160
13161// The content type of the Invoke request body is not JSON.
13162type UnsupportedMediaTypeException struct {
13163	_            struct{}                  `type:"structure"`
13164	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
13165
13166	Message_ *string `locationName:"message" type:"string"`
13167
13168	Type *string `type:"string"`
13169}
13170
13171// String returns the string representation
13172func (s UnsupportedMediaTypeException) String() string {
13173	return awsutil.Prettify(s)
13174}
13175
13176// GoString returns the string representation
13177func (s UnsupportedMediaTypeException) GoString() string {
13178	return s.String()
13179}
13180
13181func newErrorUnsupportedMediaTypeException(v protocol.ResponseMetadata) error {
13182	return &UnsupportedMediaTypeException{
13183		RespMetadata: v,
13184	}
13185}
13186
13187// Code returns the exception type name.
13188func (s *UnsupportedMediaTypeException) Code() string {
13189	return "UnsupportedMediaTypeException"
13190}
13191
13192// Message returns the exception's message.
13193func (s *UnsupportedMediaTypeException) Message() string {
13194	if s.Message_ != nil {
13195		return *s.Message_
13196	}
13197	return ""
13198}
13199
13200// OrigErr always returns nil, satisfies awserr.Error interface.
13201func (s *UnsupportedMediaTypeException) OrigErr() error {
13202	return nil
13203}
13204
13205func (s *UnsupportedMediaTypeException) Error() string {
13206	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
13207}
13208
13209// Status code returns the HTTP status code for the request's response error.
13210func (s *UnsupportedMediaTypeException) StatusCode() int {
13211	return s.RespMetadata.StatusCode
13212}
13213
13214// RequestID returns the service's response RequestID for request.
13215func (s *UnsupportedMediaTypeException) RequestID() string {
13216	return s.RespMetadata.RequestID
13217}
13218
13219type UntagResourceInput struct {
13220	_ struct{} `type:"structure"`
13221
13222	// The function's Amazon Resource Name (ARN).
13223	//
13224	// Resource is a required field
13225	Resource *string `location:"uri" locationName:"ARN" type:"string" required:"true"`
13226
13227	// A list of tag keys to remove from the function.
13228	//
13229	// TagKeys is a required field
13230	TagKeys []*string `location:"querystring" locationName:"tagKeys" type:"list" required:"true"`
13231}
13232
13233// String returns the string representation
13234func (s UntagResourceInput) String() string {
13235	return awsutil.Prettify(s)
13236}
13237
13238// GoString returns the string representation
13239func (s UntagResourceInput) GoString() string {
13240	return s.String()
13241}
13242
13243// Validate inspects the fields of the type to determine if they are valid.
13244func (s *UntagResourceInput) Validate() error {
13245	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
13246	if s.Resource == nil {
13247		invalidParams.Add(request.NewErrParamRequired("Resource"))
13248	}
13249	if s.Resource != nil && len(*s.Resource) < 1 {
13250		invalidParams.Add(request.NewErrParamMinLen("Resource", 1))
13251	}
13252	if s.TagKeys == nil {
13253		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
13254	}
13255
13256	if invalidParams.Len() > 0 {
13257		return invalidParams
13258	}
13259	return nil
13260}
13261
13262// SetResource sets the Resource field's value.
13263func (s *UntagResourceInput) SetResource(v string) *UntagResourceInput {
13264	s.Resource = &v
13265	return s
13266}
13267
13268// SetTagKeys sets the TagKeys field's value.
13269func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
13270	s.TagKeys = v
13271	return s
13272}
13273
13274type UntagResourceOutput struct {
13275	_ struct{} `type:"structure"`
13276}
13277
13278// String returns the string representation
13279func (s UntagResourceOutput) String() string {
13280	return awsutil.Prettify(s)
13281}
13282
13283// GoString returns the string representation
13284func (s UntagResourceOutput) GoString() string {
13285	return s.String()
13286}
13287
13288type UpdateAliasInput struct {
13289	_ struct{} `type:"structure"`
13290
13291	// A description of the alias.
13292	Description *string `type:"string"`
13293
13294	// The name of the Lambda function.
13295	//
13296	// Name formats
13297	//
13298	//    * Function name - MyFunction.
13299	//
13300	//    * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.
13301	//
13302	//    * Partial ARN - 123456789012:function:MyFunction.
13303	//
13304	// The length constraint applies only to the full ARN. If you specify only the
13305	// function name, it is limited to 64 characters in length.
13306	//
13307	// FunctionName is a required field
13308	FunctionName *string `location:"uri" locationName:"FunctionName" min:"1" type:"string" required:"true"`
13309
13310	// The function version that the alias invokes.
13311	FunctionVersion *string `min:"1" type:"string"`
13312
13313	// The name of the alias.
13314	//
13315	// Name is a required field
13316	Name *string `location:"uri" locationName:"Name" min:"1" type:"string" required:"true"`
13317
13318	// Only update the alias if the revision ID matches the ID that's specified.
13319	// Use this option to avoid modifying an alias that has changed since you last
13320	// read it.
13321	RevisionId *string `type:"string"`
13322
13323	// The routing configuration (https://docs.aws.amazon.com/lambda/latest/dg/configuration-aliases.html#configuring-alias-routing)
13324	// of the alias.
13325	RoutingConfig *AliasRoutingConfiguration `type:"structure"`
13326}
13327
13328// String returns the string representation
13329func (s UpdateAliasInput) String() string {
13330	return awsutil.Prettify(s)
13331}
13332
13333// GoString returns the string representation
13334func (s UpdateAliasInput) GoString() string {
13335	return s.String()
13336}
13337
13338// Validate inspects the fields of the type to determine if they are valid.
13339func (s *UpdateAliasInput) Validate() error {
13340	invalidParams := request.ErrInvalidParams{Context: "UpdateAliasInput"}
13341	if s.FunctionName == nil {
13342		invalidParams.Add(request.NewErrParamRequired("FunctionName"))
13343	}
13344	if s.FunctionName != nil && len(*s.FunctionName) < 1 {
13345		invalidParams.Add(request.NewErrParamMinLen("FunctionName", 1))
13346	}
13347	if s.FunctionVersion != nil && len(*s.FunctionVersion) < 1 {
13348		invalidParams.Add(request.NewErrParamMinLen("FunctionVersion", 1))
13349	}
13350	if s.Name == nil {
13351		invalidParams.Add(request.NewErrParamRequired("Name"))
13352	}
13353	if s.Name != nil && len(*s.Name) < 1 {
13354		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
13355	}
13356
13357	if invalidParams.Len() > 0 {
13358		return invalidParams
13359	}
13360	return nil
13361}
13362
13363// SetDescription sets the Description field's value.
13364func (s *UpdateAliasInput) SetDescription(v string) *UpdateAliasInput {
13365	s.Description = &v
13366	return s
13367}
13368
13369// SetFunctionName sets the FunctionName field's value.
13370func (s *UpdateAliasInput) SetFunctionName(v string) *UpdateAliasInput {
13371	s.FunctionName = &v
13372	return s
13373}
13374
13375// SetFunctionVersion sets the FunctionVersion field's value.
13376func (s *UpdateAliasInput) SetFunctionVersion(v string) *UpdateAliasInput {
13377	s.FunctionVersion = &v
13378	return s
13379}
13380
13381// SetName sets the Name field's value.
13382func (s *UpdateAliasInput) SetName(v string) *UpdateAliasInput {
13383	s.Name = &v
13384	return s
13385}
13386
13387// SetRevisionId sets the RevisionId field's value.
13388func (s *UpdateAliasInput) SetRevisionId(v string) *UpdateAliasInput {
13389	s.RevisionId = &v
13390	return s
13391}
13392
13393// SetRoutingConfig sets the RoutingConfig field's value.
13394func (s *UpdateAliasInput) SetRoutingConfig(v *AliasRoutingConfiguration) *UpdateAliasInput {
13395	s.RoutingConfig = v
13396	return s
13397}
13398
13399type UpdateEventSourceMappingInput struct {
13400	_ struct{} `type:"structure"`
13401
13402	// The maximum number of items to retrieve in a single batch.
13403	//
13404	//    * Amazon Kinesis - Default 100. Max 10,000.
13405	//
13406	//    * Amazon DynamoDB Streams - Default 100. Max 1,000.
13407	//
13408	//    * Amazon Simple Queue Service - Default 10. Max 10.
13409	//
13410	//    * Amazon Managed Streaming for Apache Kafka - Default 100. Max 10,000.
13411	BatchSize *int64 `min:"1" type:"integer"`
13412
13413	// (Streams) If the function returns an error, split the batch in two and retry.
13414	BisectBatchOnFunctionError *bool `type:"boolean"`
13415
13416	// (Streams) An Amazon SQS queue or Amazon SNS topic destination for discarded
13417	// records.
13418	DestinationConfig *DestinationConfig `type:"structure"`
13419
13420	// If true, the event source mapping is active. Set to false to pause polling
13421	// and invocation.
13422	Enabled *bool `type:"boolean"`
13423
13424	// The name of the Lambda function.
13425	//
13426	// Name formats
13427	//
13428	//    * Function name - MyFunction.
13429	//
13430	//    * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.
13431	//
13432	//    * Version or Alias ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction:PROD.
13433	//
13434	//    * Partial ARN - 123456789012:function:MyFunction.
13435	//
13436	// The length constraint applies only to the full ARN. If you specify only the
13437	// function name, it's limited to 64 characters in length.
13438	FunctionName *string `min:"1" type:"string"`
13439
13440	// (Streams) The maximum amount of time to gather records before invoking the
13441	// function, in seconds.
13442	MaximumBatchingWindowInSeconds *int64 `type:"integer"`
13443
13444	// (Streams) Discard records older than the specified age. The default value
13445	// is infinite (-1).
13446	MaximumRecordAgeInSeconds *int64 `type:"integer"`
13447
13448	// (Streams) Discard records after the specified number of retries. The default
13449	// value is infinite (-1). When set to infinite (-1), failed records will be
13450	// retried until the record expires.
13451	MaximumRetryAttempts *int64 `type:"integer"`
13452
13453	// (Streams) The number of batches to process from each shard concurrently.
13454	ParallelizationFactor *int64 `min:"1" type:"integer"`
13455
13456	// The identifier of the event source mapping.
13457	//
13458	// UUID is a required field
13459	UUID *string `location:"uri" locationName:"UUID" type:"string" required:"true"`
13460}
13461
13462// String returns the string representation
13463func (s UpdateEventSourceMappingInput) String() string {
13464	return awsutil.Prettify(s)
13465}
13466
13467// GoString returns the string representation
13468func (s UpdateEventSourceMappingInput) GoString() string {
13469	return s.String()
13470}
13471
13472// Validate inspects the fields of the type to determine if they are valid.
13473func (s *UpdateEventSourceMappingInput) Validate() error {
13474	invalidParams := request.ErrInvalidParams{Context: "UpdateEventSourceMappingInput"}
13475	if s.BatchSize != nil && *s.BatchSize < 1 {
13476		invalidParams.Add(request.NewErrParamMinValue("BatchSize", 1))
13477	}
13478	if s.FunctionName != nil && len(*s.FunctionName) < 1 {
13479		invalidParams.Add(request.NewErrParamMinLen("FunctionName", 1))
13480	}
13481	if s.MaximumRecordAgeInSeconds != nil && *s.MaximumRecordAgeInSeconds < -1 {
13482		invalidParams.Add(request.NewErrParamMinValue("MaximumRecordAgeInSeconds", -1))
13483	}
13484	if s.MaximumRetryAttempts != nil && *s.MaximumRetryAttempts < -1 {
13485		invalidParams.Add(request.NewErrParamMinValue("MaximumRetryAttempts", -1))
13486	}
13487	if s.ParallelizationFactor != nil && *s.ParallelizationFactor < 1 {
13488		invalidParams.Add(request.NewErrParamMinValue("ParallelizationFactor", 1))
13489	}
13490	if s.UUID == nil {
13491		invalidParams.Add(request.NewErrParamRequired("UUID"))
13492	}
13493	if s.UUID != nil && len(*s.UUID) < 1 {
13494		invalidParams.Add(request.NewErrParamMinLen("UUID", 1))
13495	}
13496
13497	if invalidParams.Len() > 0 {
13498		return invalidParams
13499	}
13500	return nil
13501}
13502
13503// SetBatchSize sets the BatchSize field's value.
13504func (s *UpdateEventSourceMappingInput) SetBatchSize(v int64) *UpdateEventSourceMappingInput {
13505	s.BatchSize = &v
13506	return s
13507}
13508
13509// SetBisectBatchOnFunctionError sets the BisectBatchOnFunctionError field's value.
13510func (s *UpdateEventSourceMappingInput) SetBisectBatchOnFunctionError(v bool) *UpdateEventSourceMappingInput {
13511	s.BisectBatchOnFunctionError = &v
13512	return s
13513}
13514
13515// SetDestinationConfig sets the DestinationConfig field's value.
13516func (s *UpdateEventSourceMappingInput) SetDestinationConfig(v *DestinationConfig) *UpdateEventSourceMappingInput {
13517	s.DestinationConfig = v
13518	return s
13519}
13520
13521// SetEnabled sets the Enabled field's value.
13522func (s *UpdateEventSourceMappingInput) SetEnabled(v bool) *UpdateEventSourceMappingInput {
13523	s.Enabled = &v
13524	return s
13525}
13526
13527// SetFunctionName sets the FunctionName field's value.
13528func (s *UpdateEventSourceMappingInput) SetFunctionName(v string) *UpdateEventSourceMappingInput {
13529	s.FunctionName = &v
13530	return s
13531}
13532
13533// SetMaximumBatchingWindowInSeconds sets the MaximumBatchingWindowInSeconds field's value.
13534func (s *UpdateEventSourceMappingInput) SetMaximumBatchingWindowInSeconds(v int64) *UpdateEventSourceMappingInput {
13535	s.MaximumBatchingWindowInSeconds = &v
13536	return s
13537}
13538
13539// SetMaximumRecordAgeInSeconds sets the MaximumRecordAgeInSeconds field's value.
13540func (s *UpdateEventSourceMappingInput) SetMaximumRecordAgeInSeconds(v int64) *UpdateEventSourceMappingInput {
13541	s.MaximumRecordAgeInSeconds = &v
13542	return s
13543}
13544
13545// SetMaximumRetryAttempts sets the MaximumRetryAttempts field's value.
13546func (s *UpdateEventSourceMappingInput) SetMaximumRetryAttempts(v int64) *UpdateEventSourceMappingInput {
13547	s.MaximumRetryAttempts = &v
13548	return s
13549}
13550
13551// SetParallelizationFactor sets the ParallelizationFactor field's value.
13552func (s *UpdateEventSourceMappingInput) SetParallelizationFactor(v int64) *UpdateEventSourceMappingInput {
13553	s.ParallelizationFactor = &v
13554	return s
13555}
13556
13557// SetUUID sets the UUID field's value.
13558func (s *UpdateEventSourceMappingInput) SetUUID(v string) *UpdateEventSourceMappingInput {
13559	s.UUID = &v
13560	return s
13561}
13562
13563type UpdateFunctionCodeInput struct {
13564	_ struct{} `type:"structure"`
13565
13566	// Set to true to validate the request parameters and access permissions without
13567	// modifying the function code.
13568	DryRun *bool `type:"boolean"`
13569
13570	// The name of the Lambda function.
13571	//
13572	// Name formats
13573	//
13574	//    * Function name - my-function.
13575	//
13576	//    * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.
13577	//
13578	//    * Partial ARN - 123456789012:function:my-function.
13579	//
13580	// The length constraint applies only to the full ARN. If you specify only the
13581	// function name, it is limited to 64 characters in length.
13582	//
13583	// FunctionName is a required field
13584	FunctionName *string `location:"uri" locationName:"FunctionName" min:"1" type:"string" required:"true"`
13585
13586	// Set to true to publish a new version of the function after updating the code.
13587	// This has the same effect as calling PublishVersion separately.
13588	Publish *bool `type:"boolean"`
13589
13590	// Only update the function if the revision ID matches the ID that's specified.
13591	// Use this option to avoid modifying a function that has changed since you
13592	// last read it.
13593	RevisionId *string `type:"string"`
13594
13595	// An Amazon S3 bucket in the same AWS Region as your function. The bucket can
13596	// be in a different AWS account.
13597	S3Bucket *string `min:"3" type:"string"`
13598
13599	// The Amazon S3 key of the deployment package.
13600	S3Key *string `min:"1" type:"string"`
13601
13602	// For versioned objects, the version of the deployment package object to use.
13603	S3ObjectVersion *string `min:"1" type:"string"`
13604
13605	// The base64-encoded contents of the deployment package. AWS SDK and AWS CLI
13606	// clients handle the encoding for you.
13607	//
13608	// ZipFile is automatically base64 encoded/decoded by the SDK.
13609	ZipFile []byte `type:"blob" sensitive:"true"`
13610}
13611
13612// String returns the string representation
13613func (s UpdateFunctionCodeInput) String() string {
13614	return awsutil.Prettify(s)
13615}
13616
13617// GoString returns the string representation
13618func (s UpdateFunctionCodeInput) GoString() string {
13619	return s.String()
13620}
13621
13622// Validate inspects the fields of the type to determine if they are valid.
13623func (s *UpdateFunctionCodeInput) Validate() error {
13624	invalidParams := request.ErrInvalidParams{Context: "UpdateFunctionCodeInput"}
13625	if s.FunctionName == nil {
13626		invalidParams.Add(request.NewErrParamRequired("FunctionName"))
13627	}
13628	if s.FunctionName != nil && len(*s.FunctionName) < 1 {
13629		invalidParams.Add(request.NewErrParamMinLen("FunctionName", 1))
13630	}
13631	if s.S3Bucket != nil && len(*s.S3Bucket) < 3 {
13632		invalidParams.Add(request.NewErrParamMinLen("S3Bucket", 3))
13633	}
13634	if s.S3Key != nil && len(*s.S3Key) < 1 {
13635		invalidParams.Add(request.NewErrParamMinLen("S3Key", 1))
13636	}
13637	if s.S3ObjectVersion != nil && len(*s.S3ObjectVersion) < 1 {
13638		invalidParams.Add(request.NewErrParamMinLen("S3ObjectVersion", 1))
13639	}
13640
13641	if invalidParams.Len() > 0 {
13642		return invalidParams
13643	}
13644	return nil
13645}
13646
13647// SetDryRun sets the DryRun field's value.
13648func (s *UpdateFunctionCodeInput) SetDryRun(v bool) *UpdateFunctionCodeInput {
13649	s.DryRun = &v
13650	return s
13651}
13652
13653// SetFunctionName sets the FunctionName field's value.
13654func (s *UpdateFunctionCodeInput) SetFunctionName(v string) *UpdateFunctionCodeInput {
13655	s.FunctionName = &v
13656	return s
13657}
13658
13659// SetPublish sets the Publish field's value.
13660func (s *UpdateFunctionCodeInput) SetPublish(v bool) *UpdateFunctionCodeInput {
13661	s.Publish = &v
13662	return s
13663}
13664
13665// SetRevisionId sets the RevisionId field's value.
13666func (s *UpdateFunctionCodeInput) SetRevisionId(v string) *UpdateFunctionCodeInput {
13667	s.RevisionId = &v
13668	return s
13669}
13670
13671// SetS3Bucket sets the S3Bucket field's value.
13672func (s *UpdateFunctionCodeInput) SetS3Bucket(v string) *UpdateFunctionCodeInput {
13673	s.S3Bucket = &v
13674	return s
13675}
13676
13677// SetS3Key sets the S3Key field's value.
13678func (s *UpdateFunctionCodeInput) SetS3Key(v string) *UpdateFunctionCodeInput {
13679	s.S3Key = &v
13680	return s
13681}
13682
13683// SetS3ObjectVersion sets the S3ObjectVersion field's value.
13684func (s *UpdateFunctionCodeInput) SetS3ObjectVersion(v string) *UpdateFunctionCodeInput {
13685	s.S3ObjectVersion = &v
13686	return s
13687}
13688
13689// SetZipFile sets the ZipFile field's value.
13690func (s *UpdateFunctionCodeInput) SetZipFile(v []byte) *UpdateFunctionCodeInput {
13691	s.ZipFile = v
13692	return s
13693}
13694
13695type UpdateFunctionConfigurationInput struct {
13696	_ struct{} `type:"structure"`
13697
13698	// A dead letter queue configuration that specifies the queue or topic where
13699	// Lambda sends asynchronous events when they fail processing. For more information,
13700	// see Dead Letter Queues (https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#dlq).
13701	DeadLetterConfig *DeadLetterConfig `type:"structure"`
13702
13703	// A description of the function.
13704	Description *string `type:"string"`
13705
13706	// Environment variables that are accessible from function code during execution.
13707	Environment *Environment `type:"structure"`
13708
13709	// Connection settings for an Amazon EFS file system.
13710	FileSystemConfigs []*FileSystemConfig `type:"list"`
13711
13712	// The name of the Lambda function.
13713	//
13714	// Name formats
13715	//
13716	//    * Function name - my-function.
13717	//
13718	//    * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.
13719	//
13720	//    * Partial ARN - 123456789012:function:my-function.
13721	//
13722	// The length constraint applies only to the full ARN. If you specify only the
13723	// function name, it is limited to 64 characters in length.
13724	//
13725	// FunctionName is a required field
13726	FunctionName *string `location:"uri" locationName:"FunctionName" min:"1" type:"string" required:"true"`
13727
13728	// The name of the method within your code that Lambda calls to execute your
13729	// function. The format includes the file name. It can also include namespaces
13730	// and other qualifiers, depending on the runtime. For more information, see
13731	// Programming Model (https://docs.aws.amazon.com/lambda/latest/dg/programming-model-v2.html).
13732	Handler *string `type:"string"`
13733
13734	// The ARN of the AWS Key Management Service (AWS KMS) key that's used to encrypt
13735	// your function's environment variables. If it's not provided, AWS Lambda uses
13736	// a default service key.
13737	KMSKeyArn *string `type:"string"`
13738
13739	// A list of function layers (https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html)
13740	// to add to the function's execution environment. Specify each layer by its
13741	// ARN, including the version.
13742	Layers []*string `type:"list"`
13743
13744	// The amount of memory that your function has access to. Increasing the function's
13745	// memory also increases its CPU allocation. The default value is 128 MB. The
13746	// value must be a multiple of 64 MB.
13747	MemorySize *int64 `min:"128" type:"integer"`
13748
13749	// Only update the function if the revision ID matches the ID that's specified.
13750	// Use this option to avoid modifying a function that has changed since you
13751	// last read it.
13752	RevisionId *string `type:"string"`
13753
13754	// The Amazon Resource Name (ARN) of the function's execution role.
13755	Role *string `type:"string"`
13756
13757	// The identifier of the function's runtime (https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html).
13758	Runtime *string `type:"string" enum:"Runtime"`
13759
13760	// The amount of time that Lambda allows a function to run before stopping it.
13761	// The default is 3 seconds. The maximum allowed value is 900 seconds.
13762	Timeout *int64 `min:"1" type:"integer"`
13763
13764	// Set Mode to Active to sample and trace a subset of incoming requests with
13765	// AWS X-Ray.
13766	TracingConfig *TracingConfig `type:"structure"`
13767
13768	// For network connectivity to AWS resources in a VPC, specify a list of security
13769	// groups and subnets in the VPC. When you connect a function to a VPC, it can
13770	// only access resources and the internet through that VPC. For more information,
13771	// see VPC Settings (https://docs.aws.amazon.com/lambda/latest/dg/configuration-vpc.html).
13772	VpcConfig *VpcConfig `type:"structure"`
13773}
13774
13775// String returns the string representation
13776func (s UpdateFunctionConfigurationInput) String() string {
13777	return awsutil.Prettify(s)
13778}
13779
13780// GoString returns the string representation
13781func (s UpdateFunctionConfigurationInput) GoString() string {
13782	return s.String()
13783}
13784
13785// Validate inspects the fields of the type to determine if they are valid.
13786func (s *UpdateFunctionConfigurationInput) Validate() error {
13787	invalidParams := request.ErrInvalidParams{Context: "UpdateFunctionConfigurationInput"}
13788	if s.FunctionName == nil {
13789		invalidParams.Add(request.NewErrParamRequired("FunctionName"))
13790	}
13791	if s.FunctionName != nil && len(*s.FunctionName) < 1 {
13792		invalidParams.Add(request.NewErrParamMinLen("FunctionName", 1))
13793	}
13794	if s.MemorySize != nil && *s.MemorySize < 128 {
13795		invalidParams.Add(request.NewErrParamMinValue("MemorySize", 128))
13796	}
13797	if s.Timeout != nil && *s.Timeout < 1 {
13798		invalidParams.Add(request.NewErrParamMinValue("Timeout", 1))
13799	}
13800	if s.FileSystemConfigs != nil {
13801		for i, v := range s.FileSystemConfigs {
13802			if v == nil {
13803				continue
13804			}
13805			if err := v.Validate(); err != nil {
13806				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "FileSystemConfigs", i), err.(request.ErrInvalidParams))
13807			}
13808		}
13809	}
13810
13811	if invalidParams.Len() > 0 {
13812		return invalidParams
13813	}
13814	return nil
13815}
13816
13817// SetDeadLetterConfig sets the DeadLetterConfig field's value.
13818func (s *UpdateFunctionConfigurationInput) SetDeadLetterConfig(v *DeadLetterConfig) *UpdateFunctionConfigurationInput {
13819	s.DeadLetterConfig = v
13820	return s
13821}
13822
13823// SetDescription sets the Description field's value.
13824func (s *UpdateFunctionConfigurationInput) SetDescription(v string) *UpdateFunctionConfigurationInput {
13825	s.Description = &v
13826	return s
13827}
13828
13829// SetEnvironment sets the Environment field's value.
13830func (s *UpdateFunctionConfigurationInput) SetEnvironment(v *Environment) *UpdateFunctionConfigurationInput {
13831	s.Environment = v
13832	return s
13833}
13834
13835// SetFileSystemConfigs sets the FileSystemConfigs field's value.
13836func (s *UpdateFunctionConfigurationInput) SetFileSystemConfigs(v []*FileSystemConfig) *UpdateFunctionConfigurationInput {
13837	s.FileSystemConfigs = v
13838	return s
13839}
13840
13841// SetFunctionName sets the FunctionName field's value.
13842func (s *UpdateFunctionConfigurationInput) SetFunctionName(v string) *UpdateFunctionConfigurationInput {
13843	s.FunctionName = &v
13844	return s
13845}
13846
13847// SetHandler sets the Handler field's value.
13848func (s *UpdateFunctionConfigurationInput) SetHandler(v string) *UpdateFunctionConfigurationInput {
13849	s.Handler = &v
13850	return s
13851}
13852
13853// SetKMSKeyArn sets the KMSKeyArn field's value.
13854func (s *UpdateFunctionConfigurationInput) SetKMSKeyArn(v string) *UpdateFunctionConfigurationInput {
13855	s.KMSKeyArn = &v
13856	return s
13857}
13858
13859// SetLayers sets the Layers field's value.
13860func (s *UpdateFunctionConfigurationInput) SetLayers(v []*string) *UpdateFunctionConfigurationInput {
13861	s.Layers = v
13862	return s
13863}
13864
13865// SetMemorySize sets the MemorySize field's value.
13866func (s *UpdateFunctionConfigurationInput) SetMemorySize(v int64) *UpdateFunctionConfigurationInput {
13867	s.MemorySize = &v
13868	return s
13869}
13870
13871// SetRevisionId sets the RevisionId field's value.
13872func (s *UpdateFunctionConfigurationInput) SetRevisionId(v string) *UpdateFunctionConfigurationInput {
13873	s.RevisionId = &v
13874	return s
13875}
13876
13877// SetRole sets the Role field's value.
13878func (s *UpdateFunctionConfigurationInput) SetRole(v string) *UpdateFunctionConfigurationInput {
13879	s.Role = &v
13880	return s
13881}
13882
13883// SetRuntime sets the Runtime field's value.
13884func (s *UpdateFunctionConfigurationInput) SetRuntime(v string) *UpdateFunctionConfigurationInput {
13885	s.Runtime = &v
13886	return s
13887}
13888
13889// SetTimeout sets the Timeout field's value.
13890func (s *UpdateFunctionConfigurationInput) SetTimeout(v int64) *UpdateFunctionConfigurationInput {
13891	s.Timeout = &v
13892	return s
13893}
13894
13895// SetTracingConfig sets the TracingConfig field's value.
13896func (s *UpdateFunctionConfigurationInput) SetTracingConfig(v *TracingConfig) *UpdateFunctionConfigurationInput {
13897	s.TracingConfig = v
13898	return s
13899}
13900
13901// SetVpcConfig sets the VpcConfig field's value.
13902func (s *UpdateFunctionConfigurationInput) SetVpcConfig(v *VpcConfig) *UpdateFunctionConfigurationInput {
13903	s.VpcConfig = v
13904	return s
13905}
13906
13907type UpdateFunctionEventInvokeConfigInput struct {
13908	_ struct{} `type:"structure"`
13909
13910	// A destination for events after they have been sent to a function for processing.
13911	//
13912	// Destinations
13913	//
13914	//    * Function - The Amazon Resource Name (ARN) of a Lambda function.
13915	//
13916	//    * Queue - The ARN of an SQS queue.
13917	//
13918	//    * Topic - The ARN of an SNS topic.
13919	//
13920	//    * Event Bus - The ARN of an Amazon EventBridge event bus.
13921	DestinationConfig *DestinationConfig `type:"structure"`
13922
13923	// The name of the Lambda function, version, or alias.
13924	//
13925	// Name formats
13926	//
13927	//    * Function name - my-function (name-only), my-function:v1 (with alias).
13928	//
13929	//    * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.
13930	//
13931	//    * Partial ARN - 123456789012:function:my-function.
13932	//
13933	// You can append a version number or alias to any of the formats. The length
13934	// constraint applies only to the full ARN. If you specify only the function
13935	// name, it is limited to 64 characters in length.
13936	//
13937	// FunctionName is a required field
13938	FunctionName *string `location:"uri" locationName:"FunctionName" min:"1" type:"string" required:"true"`
13939
13940	// The maximum age of a request that Lambda sends to a function for processing.
13941	MaximumEventAgeInSeconds *int64 `min:"60" type:"integer"`
13942
13943	// The maximum number of times to retry when the function returns an error.
13944	MaximumRetryAttempts *int64 `type:"integer"`
13945
13946	// A version number or alias name.
13947	Qualifier *string `location:"querystring" locationName:"Qualifier" min:"1" type:"string"`
13948}
13949
13950// String returns the string representation
13951func (s UpdateFunctionEventInvokeConfigInput) String() string {
13952	return awsutil.Prettify(s)
13953}
13954
13955// GoString returns the string representation
13956func (s UpdateFunctionEventInvokeConfigInput) GoString() string {
13957	return s.String()
13958}
13959
13960// Validate inspects the fields of the type to determine if they are valid.
13961func (s *UpdateFunctionEventInvokeConfigInput) Validate() error {
13962	invalidParams := request.ErrInvalidParams{Context: "UpdateFunctionEventInvokeConfigInput"}
13963	if s.FunctionName == nil {
13964		invalidParams.Add(request.NewErrParamRequired("FunctionName"))
13965	}
13966	if s.FunctionName != nil && len(*s.FunctionName) < 1 {
13967		invalidParams.Add(request.NewErrParamMinLen("FunctionName", 1))
13968	}
13969	if s.MaximumEventAgeInSeconds != nil && *s.MaximumEventAgeInSeconds < 60 {
13970		invalidParams.Add(request.NewErrParamMinValue("MaximumEventAgeInSeconds", 60))
13971	}
13972	if s.Qualifier != nil && len(*s.Qualifier) < 1 {
13973		invalidParams.Add(request.NewErrParamMinLen("Qualifier", 1))
13974	}
13975
13976	if invalidParams.Len() > 0 {
13977		return invalidParams
13978	}
13979	return nil
13980}
13981
13982// SetDestinationConfig sets the DestinationConfig field's value.
13983func (s *UpdateFunctionEventInvokeConfigInput) SetDestinationConfig(v *DestinationConfig) *UpdateFunctionEventInvokeConfigInput {
13984	s.DestinationConfig = v
13985	return s
13986}
13987
13988// SetFunctionName sets the FunctionName field's value.
13989func (s *UpdateFunctionEventInvokeConfigInput) SetFunctionName(v string) *UpdateFunctionEventInvokeConfigInput {
13990	s.FunctionName = &v
13991	return s
13992}
13993
13994// SetMaximumEventAgeInSeconds sets the MaximumEventAgeInSeconds field's value.
13995func (s *UpdateFunctionEventInvokeConfigInput) SetMaximumEventAgeInSeconds(v int64) *UpdateFunctionEventInvokeConfigInput {
13996	s.MaximumEventAgeInSeconds = &v
13997	return s
13998}
13999
14000// SetMaximumRetryAttempts sets the MaximumRetryAttempts field's value.
14001func (s *UpdateFunctionEventInvokeConfigInput) SetMaximumRetryAttempts(v int64) *UpdateFunctionEventInvokeConfigInput {
14002	s.MaximumRetryAttempts = &v
14003	return s
14004}
14005
14006// SetQualifier sets the Qualifier field's value.
14007func (s *UpdateFunctionEventInvokeConfigInput) SetQualifier(v string) *UpdateFunctionEventInvokeConfigInput {
14008	s.Qualifier = &v
14009	return s
14010}
14011
14012type UpdateFunctionEventInvokeConfigOutput struct {
14013	_ struct{} `type:"structure"`
14014
14015	// A destination for events after they have been sent to a function for processing.
14016	//
14017	// Destinations
14018	//
14019	//    * Function - The Amazon Resource Name (ARN) of a Lambda function.
14020	//
14021	//    * Queue - The ARN of an SQS queue.
14022	//
14023	//    * Topic - The ARN of an SNS topic.
14024	//
14025	//    * Event Bus - The ARN of an Amazon EventBridge event bus.
14026	DestinationConfig *DestinationConfig `type:"structure"`
14027
14028	// The Amazon Resource Name (ARN) of the function.
14029	FunctionArn *string `type:"string"`
14030
14031	// The date and time that the configuration was last updated.
14032	LastModified *time.Time `type:"timestamp"`
14033
14034	// The maximum age of a request that Lambda sends to a function for processing.
14035	MaximumEventAgeInSeconds *int64 `min:"60" type:"integer"`
14036
14037	// The maximum number of times to retry when the function returns an error.
14038	MaximumRetryAttempts *int64 `type:"integer"`
14039}
14040
14041// String returns the string representation
14042func (s UpdateFunctionEventInvokeConfigOutput) String() string {
14043	return awsutil.Prettify(s)
14044}
14045
14046// GoString returns the string representation
14047func (s UpdateFunctionEventInvokeConfigOutput) GoString() string {
14048	return s.String()
14049}
14050
14051// SetDestinationConfig sets the DestinationConfig field's value.
14052func (s *UpdateFunctionEventInvokeConfigOutput) SetDestinationConfig(v *DestinationConfig) *UpdateFunctionEventInvokeConfigOutput {
14053	s.DestinationConfig = v
14054	return s
14055}
14056
14057// SetFunctionArn sets the FunctionArn field's value.
14058func (s *UpdateFunctionEventInvokeConfigOutput) SetFunctionArn(v string) *UpdateFunctionEventInvokeConfigOutput {
14059	s.FunctionArn = &v
14060	return s
14061}
14062
14063// SetLastModified sets the LastModified field's value.
14064func (s *UpdateFunctionEventInvokeConfigOutput) SetLastModified(v time.Time) *UpdateFunctionEventInvokeConfigOutput {
14065	s.LastModified = &v
14066	return s
14067}
14068
14069// SetMaximumEventAgeInSeconds sets the MaximumEventAgeInSeconds field's value.
14070func (s *UpdateFunctionEventInvokeConfigOutput) SetMaximumEventAgeInSeconds(v int64) *UpdateFunctionEventInvokeConfigOutput {
14071	s.MaximumEventAgeInSeconds = &v
14072	return s
14073}
14074
14075// SetMaximumRetryAttempts sets the MaximumRetryAttempts field's value.
14076func (s *UpdateFunctionEventInvokeConfigOutput) SetMaximumRetryAttempts(v int64) *UpdateFunctionEventInvokeConfigOutput {
14077	s.MaximumRetryAttempts = &v
14078	return s
14079}
14080
14081// The VPC security groups and subnets that are attached to a Lambda function.
14082// For more information, see VPC Settings (https://docs.aws.amazon.com/lambda/latest/dg/configuration-vpc.html).
14083type VpcConfig struct {
14084	_ struct{} `type:"structure"`
14085
14086	// A list of VPC security groups IDs.
14087	SecurityGroupIds []*string `type:"list"`
14088
14089	// A list of VPC subnet IDs.
14090	SubnetIds []*string `type:"list"`
14091}
14092
14093// String returns the string representation
14094func (s VpcConfig) String() string {
14095	return awsutil.Prettify(s)
14096}
14097
14098// GoString returns the string representation
14099func (s VpcConfig) GoString() string {
14100	return s.String()
14101}
14102
14103// SetSecurityGroupIds sets the SecurityGroupIds field's value.
14104func (s *VpcConfig) SetSecurityGroupIds(v []*string) *VpcConfig {
14105	s.SecurityGroupIds = v
14106	return s
14107}
14108
14109// SetSubnetIds sets the SubnetIds field's value.
14110func (s *VpcConfig) SetSubnetIds(v []*string) *VpcConfig {
14111	s.SubnetIds = v
14112	return s
14113}
14114
14115// The VPC security groups and subnets that are attached to a Lambda function.
14116type VpcConfigResponse struct {
14117	_ struct{} `type:"structure"`
14118
14119	// A list of VPC security groups IDs.
14120	SecurityGroupIds []*string `type:"list"`
14121
14122	// A list of VPC subnet IDs.
14123	SubnetIds []*string `type:"list"`
14124
14125	// The ID of the VPC.
14126	VpcId *string `type:"string"`
14127}
14128
14129// String returns the string representation
14130func (s VpcConfigResponse) String() string {
14131	return awsutil.Prettify(s)
14132}
14133
14134// GoString returns the string representation
14135func (s VpcConfigResponse) GoString() string {
14136	return s.String()
14137}
14138
14139// SetSecurityGroupIds sets the SecurityGroupIds field's value.
14140func (s *VpcConfigResponse) SetSecurityGroupIds(v []*string) *VpcConfigResponse {
14141	s.SecurityGroupIds = v
14142	return s
14143}
14144
14145// SetSubnetIds sets the SubnetIds field's value.
14146func (s *VpcConfigResponse) SetSubnetIds(v []*string) *VpcConfigResponse {
14147	s.SubnetIds = v
14148	return s
14149}
14150
14151// SetVpcId sets the VpcId field's value.
14152func (s *VpcConfigResponse) SetVpcId(v string) *VpcConfigResponse {
14153	s.VpcId = &v
14154	return s
14155}
14156
14157const (
14158	// EventSourcePositionTrimHorizon is a EventSourcePosition enum value
14159	EventSourcePositionTrimHorizon = "TRIM_HORIZON"
14160
14161	// EventSourcePositionLatest is a EventSourcePosition enum value
14162	EventSourcePositionLatest = "LATEST"
14163
14164	// EventSourcePositionAtTimestamp is a EventSourcePosition enum value
14165	EventSourcePositionAtTimestamp = "AT_TIMESTAMP"
14166)
14167
14168// EventSourcePosition_Values returns all elements of the EventSourcePosition enum
14169func EventSourcePosition_Values() []string {
14170	return []string{
14171		EventSourcePositionTrimHorizon,
14172		EventSourcePositionLatest,
14173		EventSourcePositionAtTimestamp,
14174	}
14175}
14176
14177const (
14178	// FunctionVersionAll is a FunctionVersion enum value
14179	FunctionVersionAll = "ALL"
14180)
14181
14182// FunctionVersion_Values returns all elements of the FunctionVersion enum
14183func FunctionVersion_Values() []string {
14184	return []string{
14185		FunctionVersionAll,
14186	}
14187}
14188
14189const (
14190	// InvocationTypeEvent is a InvocationType enum value
14191	InvocationTypeEvent = "Event"
14192
14193	// InvocationTypeRequestResponse is a InvocationType enum value
14194	InvocationTypeRequestResponse = "RequestResponse"
14195
14196	// InvocationTypeDryRun is a InvocationType enum value
14197	InvocationTypeDryRun = "DryRun"
14198)
14199
14200// InvocationType_Values returns all elements of the InvocationType enum
14201func InvocationType_Values() []string {
14202	return []string{
14203		InvocationTypeEvent,
14204		InvocationTypeRequestResponse,
14205		InvocationTypeDryRun,
14206	}
14207}
14208
14209const (
14210	// LastUpdateStatusSuccessful is a LastUpdateStatus enum value
14211	LastUpdateStatusSuccessful = "Successful"
14212
14213	// LastUpdateStatusFailed is a LastUpdateStatus enum value
14214	LastUpdateStatusFailed = "Failed"
14215
14216	// LastUpdateStatusInProgress is a LastUpdateStatus enum value
14217	LastUpdateStatusInProgress = "InProgress"
14218)
14219
14220// LastUpdateStatus_Values returns all elements of the LastUpdateStatus enum
14221func LastUpdateStatus_Values() []string {
14222	return []string{
14223		LastUpdateStatusSuccessful,
14224		LastUpdateStatusFailed,
14225		LastUpdateStatusInProgress,
14226	}
14227}
14228
14229const (
14230	// LastUpdateStatusReasonCodeEniLimitExceeded is a LastUpdateStatusReasonCode enum value
14231	LastUpdateStatusReasonCodeEniLimitExceeded = "EniLimitExceeded"
14232
14233	// LastUpdateStatusReasonCodeInsufficientRolePermissions is a LastUpdateStatusReasonCode enum value
14234	LastUpdateStatusReasonCodeInsufficientRolePermissions = "InsufficientRolePermissions"
14235
14236	// LastUpdateStatusReasonCodeInvalidConfiguration is a LastUpdateStatusReasonCode enum value
14237	LastUpdateStatusReasonCodeInvalidConfiguration = "InvalidConfiguration"
14238
14239	// LastUpdateStatusReasonCodeInternalError is a LastUpdateStatusReasonCode enum value
14240	LastUpdateStatusReasonCodeInternalError = "InternalError"
14241
14242	// LastUpdateStatusReasonCodeSubnetOutOfIpaddresses is a LastUpdateStatusReasonCode enum value
14243	LastUpdateStatusReasonCodeSubnetOutOfIpaddresses = "SubnetOutOfIPAddresses"
14244
14245	// LastUpdateStatusReasonCodeInvalidSubnet is a LastUpdateStatusReasonCode enum value
14246	LastUpdateStatusReasonCodeInvalidSubnet = "InvalidSubnet"
14247
14248	// LastUpdateStatusReasonCodeInvalidSecurityGroup is a LastUpdateStatusReasonCode enum value
14249	LastUpdateStatusReasonCodeInvalidSecurityGroup = "InvalidSecurityGroup"
14250)
14251
14252// LastUpdateStatusReasonCode_Values returns all elements of the LastUpdateStatusReasonCode enum
14253func LastUpdateStatusReasonCode_Values() []string {
14254	return []string{
14255		LastUpdateStatusReasonCodeEniLimitExceeded,
14256		LastUpdateStatusReasonCodeInsufficientRolePermissions,
14257		LastUpdateStatusReasonCodeInvalidConfiguration,
14258		LastUpdateStatusReasonCodeInternalError,
14259		LastUpdateStatusReasonCodeSubnetOutOfIpaddresses,
14260		LastUpdateStatusReasonCodeInvalidSubnet,
14261		LastUpdateStatusReasonCodeInvalidSecurityGroup,
14262	}
14263}
14264
14265const (
14266	// LogTypeNone is a LogType enum value
14267	LogTypeNone = "None"
14268
14269	// LogTypeTail is a LogType enum value
14270	LogTypeTail = "Tail"
14271)
14272
14273// LogType_Values returns all elements of the LogType enum
14274func LogType_Values() []string {
14275	return []string{
14276		LogTypeNone,
14277		LogTypeTail,
14278	}
14279}
14280
14281const (
14282	// ProvisionedConcurrencyStatusEnumInProgress is a ProvisionedConcurrencyStatusEnum enum value
14283	ProvisionedConcurrencyStatusEnumInProgress = "IN_PROGRESS"
14284
14285	// ProvisionedConcurrencyStatusEnumReady is a ProvisionedConcurrencyStatusEnum enum value
14286	ProvisionedConcurrencyStatusEnumReady = "READY"
14287
14288	// ProvisionedConcurrencyStatusEnumFailed is a ProvisionedConcurrencyStatusEnum enum value
14289	ProvisionedConcurrencyStatusEnumFailed = "FAILED"
14290)
14291
14292// ProvisionedConcurrencyStatusEnum_Values returns all elements of the ProvisionedConcurrencyStatusEnum enum
14293func ProvisionedConcurrencyStatusEnum_Values() []string {
14294	return []string{
14295		ProvisionedConcurrencyStatusEnumInProgress,
14296		ProvisionedConcurrencyStatusEnumReady,
14297		ProvisionedConcurrencyStatusEnumFailed,
14298	}
14299}
14300
14301const (
14302	// RuntimeNodejs is a Runtime enum value
14303	RuntimeNodejs = "nodejs"
14304
14305	// RuntimeNodejs43 is a Runtime enum value
14306	RuntimeNodejs43 = "nodejs4.3"
14307
14308	// RuntimeNodejs610 is a Runtime enum value
14309	RuntimeNodejs610 = "nodejs6.10"
14310
14311	// RuntimeNodejs810 is a Runtime enum value
14312	RuntimeNodejs810 = "nodejs8.10"
14313
14314	// RuntimeNodejs10X is a Runtime enum value
14315	RuntimeNodejs10X = "nodejs10.x"
14316
14317	// RuntimeNodejs12X is a Runtime enum value
14318	RuntimeNodejs12X = "nodejs12.x"
14319
14320	// RuntimeJava8 is a Runtime enum value
14321	RuntimeJava8 = "java8"
14322
14323	// RuntimeJava8Al2 is a Runtime enum value
14324	RuntimeJava8Al2 = "java8.al2"
14325
14326	// RuntimeJava11 is a Runtime enum value
14327	RuntimeJava11 = "java11"
14328
14329	// RuntimePython27 is a Runtime enum value
14330	RuntimePython27 = "python2.7"
14331
14332	// RuntimePython36 is a Runtime enum value
14333	RuntimePython36 = "python3.6"
14334
14335	// RuntimePython37 is a Runtime enum value
14336	RuntimePython37 = "python3.7"
14337
14338	// RuntimePython38 is a Runtime enum value
14339	RuntimePython38 = "python3.8"
14340
14341	// RuntimeDotnetcore10 is a Runtime enum value
14342	RuntimeDotnetcore10 = "dotnetcore1.0"
14343
14344	// RuntimeDotnetcore20 is a Runtime enum value
14345	RuntimeDotnetcore20 = "dotnetcore2.0"
14346
14347	// RuntimeDotnetcore21 is a Runtime enum value
14348	RuntimeDotnetcore21 = "dotnetcore2.1"
14349
14350	// RuntimeDotnetcore31 is a Runtime enum value
14351	RuntimeDotnetcore31 = "dotnetcore3.1"
14352
14353	// RuntimeNodejs43Edge is a Runtime enum value
14354	RuntimeNodejs43Edge = "nodejs4.3-edge"
14355
14356	// RuntimeGo1X is a Runtime enum value
14357	RuntimeGo1X = "go1.x"
14358
14359	// RuntimeRuby25 is a Runtime enum value
14360	RuntimeRuby25 = "ruby2.5"
14361
14362	// RuntimeRuby27 is a Runtime enum value
14363	RuntimeRuby27 = "ruby2.7"
14364
14365	// RuntimeProvided is a Runtime enum value
14366	RuntimeProvided = "provided"
14367
14368	// RuntimeProvidedAl2 is a Runtime enum value
14369	RuntimeProvidedAl2 = "provided.al2"
14370)
14371
14372// Runtime_Values returns all elements of the Runtime enum
14373func Runtime_Values() []string {
14374	return []string{
14375		RuntimeNodejs,
14376		RuntimeNodejs43,
14377		RuntimeNodejs610,
14378		RuntimeNodejs810,
14379		RuntimeNodejs10X,
14380		RuntimeNodejs12X,
14381		RuntimeJava8,
14382		RuntimeJava8Al2,
14383		RuntimeJava11,
14384		RuntimePython27,
14385		RuntimePython36,
14386		RuntimePython37,
14387		RuntimePython38,
14388		RuntimeDotnetcore10,
14389		RuntimeDotnetcore20,
14390		RuntimeDotnetcore21,
14391		RuntimeDotnetcore31,
14392		RuntimeNodejs43Edge,
14393		RuntimeGo1X,
14394		RuntimeRuby25,
14395		RuntimeRuby27,
14396		RuntimeProvided,
14397		RuntimeProvidedAl2,
14398	}
14399}
14400
14401const (
14402	// StatePending is a State enum value
14403	StatePending = "Pending"
14404
14405	// StateActive is a State enum value
14406	StateActive = "Active"
14407
14408	// StateInactive is a State enum value
14409	StateInactive = "Inactive"
14410
14411	// StateFailed is a State enum value
14412	StateFailed = "Failed"
14413)
14414
14415// State_Values returns all elements of the State enum
14416func State_Values() []string {
14417	return []string{
14418		StatePending,
14419		StateActive,
14420		StateInactive,
14421		StateFailed,
14422	}
14423}
14424
14425const (
14426	// StateReasonCodeIdle is a StateReasonCode enum value
14427	StateReasonCodeIdle = "Idle"
14428
14429	// StateReasonCodeCreating is a StateReasonCode enum value
14430	StateReasonCodeCreating = "Creating"
14431
14432	// StateReasonCodeRestoring is a StateReasonCode enum value
14433	StateReasonCodeRestoring = "Restoring"
14434
14435	// StateReasonCodeEniLimitExceeded is a StateReasonCode enum value
14436	StateReasonCodeEniLimitExceeded = "EniLimitExceeded"
14437
14438	// StateReasonCodeInsufficientRolePermissions is a StateReasonCode enum value
14439	StateReasonCodeInsufficientRolePermissions = "InsufficientRolePermissions"
14440
14441	// StateReasonCodeInvalidConfiguration is a StateReasonCode enum value
14442	StateReasonCodeInvalidConfiguration = "InvalidConfiguration"
14443
14444	// StateReasonCodeInternalError is a StateReasonCode enum value
14445	StateReasonCodeInternalError = "InternalError"
14446
14447	// StateReasonCodeSubnetOutOfIpaddresses is a StateReasonCode enum value
14448	StateReasonCodeSubnetOutOfIpaddresses = "SubnetOutOfIPAddresses"
14449
14450	// StateReasonCodeInvalidSubnet is a StateReasonCode enum value
14451	StateReasonCodeInvalidSubnet = "InvalidSubnet"
14452
14453	// StateReasonCodeInvalidSecurityGroup is a StateReasonCode enum value
14454	StateReasonCodeInvalidSecurityGroup = "InvalidSecurityGroup"
14455)
14456
14457// StateReasonCode_Values returns all elements of the StateReasonCode enum
14458func StateReasonCode_Values() []string {
14459	return []string{
14460		StateReasonCodeIdle,
14461		StateReasonCodeCreating,
14462		StateReasonCodeRestoring,
14463		StateReasonCodeEniLimitExceeded,
14464		StateReasonCodeInsufficientRolePermissions,
14465		StateReasonCodeInvalidConfiguration,
14466		StateReasonCodeInternalError,
14467		StateReasonCodeSubnetOutOfIpaddresses,
14468		StateReasonCodeInvalidSubnet,
14469		StateReasonCodeInvalidSecurityGroup,
14470	}
14471}
14472
14473const (
14474	// ThrottleReasonConcurrentInvocationLimitExceeded is a ThrottleReason enum value
14475	ThrottleReasonConcurrentInvocationLimitExceeded = "ConcurrentInvocationLimitExceeded"
14476
14477	// ThrottleReasonFunctionInvocationRateLimitExceeded is a ThrottleReason enum value
14478	ThrottleReasonFunctionInvocationRateLimitExceeded = "FunctionInvocationRateLimitExceeded"
14479
14480	// ThrottleReasonReservedFunctionConcurrentInvocationLimitExceeded is a ThrottleReason enum value
14481	ThrottleReasonReservedFunctionConcurrentInvocationLimitExceeded = "ReservedFunctionConcurrentInvocationLimitExceeded"
14482
14483	// ThrottleReasonReservedFunctionInvocationRateLimitExceeded is a ThrottleReason enum value
14484	ThrottleReasonReservedFunctionInvocationRateLimitExceeded = "ReservedFunctionInvocationRateLimitExceeded"
14485
14486	// ThrottleReasonCallerRateLimitExceeded is a ThrottleReason enum value
14487	ThrottleReasonCallerRateLimitExceeded = "CallerRateLimitExceeded"
14488)
14489
14490// ThrottleReason_Values returns all elements of the ThrottleReason enum
14491func ThrottleReason_Values() []string {
14492	return []string{
14493		ThrottleReasonConcurrentInvocationLimitExceeded,
14494		ThrottleReasonFunctionInvocationRateLimitExceeded,
14495		ThrottleReasonReservedFunctionConcurrentInvocationLimitExceeded,
14496		ThrottleReasonReservedFunctionInvocationRateLimitExceeded,
14497		ThrottleReasonCallerRateLimitExceeded,
14498	}
14499}
14500
14501const (
14502	// TracingModeActive is a TracingMode enum value
14503	TracingModeActive = "Active"
14504
14505	// TracingModePassThrough is a TracingMode enum value
14506	TracingModePassThrough = "PassThrough"
14507)
14508
14509// TracingMode_Values returns all elements of the TracingMode enum
14510func TracingMode_Values() []string {
14511	return []string{
14512		TracingModeActive,
14513		TracingModePassThrough,
14514	}
14515}
14516