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 Lambda layer
62// (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 accounts in an organization, or
65// all Amazon Web Services accounts.
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 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 Amazon Web Services service or another account permission to use
168// a function. You can apply the policy at the function level, or specify a
169// qualifier to restrict access to a single version or alias. If you use a qualifier,
170// the invoker must use the full Amazon Resource Name (ARN) of that version
171// or alias to invoke the function. Note: Lambda does not support adding policies
172// to version $LATEST.
173//
174// To grant permission to another account, specify the account ID as the Principal.
175// For Amazon Web Services services, the principal is a domain-style identifier
176// defined by the service, like s3.amazonaws.com or sns.amazonaws.com. For Amazon
177// Web Services services, you can also specify the ARN of the associated resource
178// as the SourceArn. If you grant permission to a service principal without
179// specifying the source, other accounts could potentially configure resources
180// in their account to invoke your Lambda function.
181//
182// This action adds a statement to a resource-based permissions policy for the
183// function. For more information about function policies, see Lambda Function
184// Policies (https://docs.aws.amazon.com/lambda/latest/dg/access-control-resource-based.html).
185//
186// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
187// with awserr.Error's Code and Message methods to get detailed information about
188// the error.
189//
190// See the AWS API reference guide for AWS Lambda's
191// API operation AddPermission for usage and error information.
192//
193// Returned Error Types:
194//   * ServiceException
195//   The Lambda service encountered an internal error.
196//
197//   * ResourceNotFoundException
198//   The resource specified in the request does not exist.
199//
200//   * ResourceConflictException
201//   The resource already exists, or another operation is in progress.
202//
203//   * InvalidParameterValueException
204//   One of the parameters in the request is invalid.
205//
206//   * PolicyLengthExceededException
207//   The permissions policy for the resource is too large. Learn more (https://docs.aws.amazon.com/lambda/latest/dg/limits.html)
208//
209//   * TooManyRequestsException
210//   The request throughput limit was exceeded.
211//
212//   * PreconditionFailedException
213//   The RevisionId provided does not match the latest RevisionId for the Lambda
214//   function or alias. Call the GetFunction or the GetAlias API to retrieve the
215//   latest RevisionId for your resource.
216//
217// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/AddPermission
218func (c *Lambda) AddPermission(input *AddPermissionInput) (*AddPermissionOutput, error) {
219	req, out := c.AddPermissionRequest(input)
220	return out, req.Send()
221}
222
223// AddPermissionWithContext is the same as AddPermission with the addition of
224// the ability to pass a context and additional request options.
225//
226// See AddPermission for details on how to use this API operation.
227//
228// The context must be non-nil and will be used for request cancellation. If
229// the context is nil a panic will occur. In the future the SDK may create
230// sub-contexts for http.Requests. See https://golang.org/pkg/context/
231// for more information on using Contexts.
232func (c *Lambda) AddPermissionWithContext(ctx aws.Context, input *AddPermissionInput, opts ...request.Option) (*AddPermissionOutput, error) {
233	req, out := c.AddPermissionRequest(input)
234	req.SetContext(ctx)
235	req.ApplyOptions(opts...)
236	return out, req.Send()
237}
238
239const opCreateAlias = "CreateAlias"
240
241// CreateAliasRequest generates a "aws/request.Request" representing the
242// client's request for the CreateAlias operation. The "output" return
243// value will be populated with the request's response once the request completes
244// successfully.
245//
246// Use "Send" method on the returned Request to send the API call to the service.
247// the "output" return value is not valid until after Send returns without error.
248//
249// See CreateAlias for more information on using the CreateAlias
250// API call, and error handling.
251//
252// This method is useful when you want to inject custom logic or configuration
253// into the SDK's request lifecycle. Such as custom headers, or retry logic.
254//
255//
256//    // Example sending a request using the CreateAliasRequest method.
257//    req, resp := client.CreateAliasRequest(params)
258//
259//    err := req.Send()
260//    if err == nil { // resp is now filled
261//        fmt.Println(resp)
262//    }
263//
264// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/CreateAlias
265func (c *Lambda) CreateAliasRequest(input *CreateAliasInput) (req *request.Request, output *AliasConfiguration) {
266	op := &request.Operation{
267		Name:       opCreateAlias,
268		HTTPMethod: "POST",
269		HTTPPath:   "/2015-03-31/functions/{FunctionName}/aliases",
270	}
271
272	if input == nil {
273		input = &CreateAliasInput{}
274	}
275
276	output = &AliasConfiguration{}
277	req = c.newRequest(op, input, output)
278	return
279}
280
281// CreateAlias API operation for AWS Lambda.
282//
283// Creates an alias (https://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html)
284// for a Lambda function version. Use aliases to provide clients with a function
285// identifier that you can update to invoke a different version.
286//
287// You can also map an alias to split invocation requests between two versions.
288// Use the RoutingConfig parameter to specify a second version and the percentage
289// of invocation requests that it receives.
290//
291// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
292// with awserr.Error's Code and Message methods to get detailed information about
293// the error.
294//
295// See the AWS API reference guide for AWS Lambda's
296// API operation CreateAlias for usage and error information.
297//
298// Returned Error Types:
299//   * ServiceException
300//   The Lambda service encountered an internal error.
301//
302//   * ResourceNotFoundException
303//   The resource specified in the request does not exist.
304//
305//   * ResourceConflictException
306//   The resource already exists, or another operation is in progress.
307//
308//   * InvalidParameterValueException
309//   One of the parameters in the request is invalid.
310//
311//   * TooManyRequestsException
312//   The request throughput limit was exceeded.
313//
314// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/CreateAlias
315func (c *Lambda) CreateAlias(input *CreateAliasInput) (*AliasConfiguration, error) {
316	req, out := c.CreateAliasRequest(input)
317	return out, req.Send()
318}
319
320// CreateAliasWithContext is the same as CreateAlias with the addition of
321// the ability to pass a context and additional request options.
322//
323// See CreateAlias for details on how to use this API operation.
324//
325// The context must be non-nil and will be used for request cancellation. If
326// the context is nil a panic will occur. In the future the SDK may create
327// sub-contexts for http.Requests. See https://golang.org/pkg/context/
328// for more information on using Contexts.
329func (c *Lambda) CreateAliasWithContext(ctx aws.Context, input *CreateAliasInput, opts ...request.Option) (*AliasConfiguration, error) {
330	req, out := c.CreateAliasRequest(input)
331	req.SetContext(ctx)
332	req.ApplyOptions(opts...)
333	return out, req.Send()
334}
335
336const opCreateCodeSigningConfig = "CreateCodeSigningConfig"
337
338// CreateCodeSigningConfigRequest generates a "aws/request.Request" representing the
339// client's request for the CreateCodeSigningConfig operation. The "output" return
340// value will be populated with the request's response once the request completes
341// successfully.
342//
343// Use "Send" method on the returned Request to send the API call to the service.
344// the "output" return value is not valid until after Send returns without error.
345//
346// See CreateCodeSigningConfig for more information on using the CreateCodeSigningConfig
347// API call, and error handling.
348//
349// This method is useful when you want to inject custom logic or configuration
350// into the SDK's request lifecycle. Such as custom headers, or retry logic.
351//
352//
353//    // Example sending a request using the CreateCodeSigningConfigRequest method.
354//    req, resp := client.CreateCodeSigningConfigRequest(params)
355//
356//    err := req.Send()
357//    if err == nil { // resp is now filled
358//        fmt.Println(resp)
359//    }
360//
361// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/CreateCodeSigningConfig
362func (c *Lambda) CreateCodeSigningConfigRequest(input *CreateCodeSigningConfigInput) (req *request.Request, output *CreateCodeSigningConfigOutput) {
363	op := &request.Operation{
364		Name:       opCreateCodeSigningConfig,
365		HTTPMethod: "POST",
366		HTTPPath:   "/2020-04-22/code-signing-configs/",
367	}
368
369	if input == nil {
370		input = &CreateCodeSigningConfigInput{}
371	}
372
373	output = &CreateCodeSigningConfigOutput{}
374	req = c.newRequest(op, input, output)
375	return
376}
377
378// CreateCodeSigningConfig API operation for AWS Lambda.
379//
380// Creates a code signing configuration. A code signing configuration (https://docs.aws.amazon.com/lambda/latest/dg/configuration-trustedcode.html)
381// defines a list of allowed signing profiles and defines the code-signing validation
382// policy (action to be taken if deployment validation checks fail).
383//
384// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
385// with awserr.Error's Code and Message methods to get detailed information about
386// the error.
387//
388// See the AWS API reference guide for AWS Lambda's
389// API operation CreateCodeSigningConfig for usage and error information.
390//
391// Returned Error Types:
392//   * ServiceException
393//   The Lambda service encountered an internal error.
394//
395//   * InvalidParameterValueException
396//   One of the parameters in the request is invalid.
397//
398// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/CreateCodeSigningConfig
399func (c *Lambda) CreateCodeSigningConfig(input *CreateCodeSigningConfigInput) (*CreateCodeSigningConfigOutput, error) {
400	req, out := c.CreateCodeSigningConfigRequest(input)
401	return out, req.Send()
402}
403
404// CreateCodeSigningConfigWithContext is the same as CreateCodeSigningConfig with the addition of
405// the ability to pass a context and additional request options.
406//
407// See CreateCodeSigningConfig for details on how to use this API operation.
408//
409// The context must be non-nil and will be used for request cancellation. If
410// the context is nil a panic will occur. In the future the SDK may create
411// sub-contexts for http.Requests. See https://golang.org/pkg/context/
412// for more information on using Contexts.
413func (c *Lambda) CreateCodeSigningConfigWithContext(ctx aws.Context, input *CreateCodeSigningConfigInput, opts ...request.Option) (*CreateCodeSigningConfigOutput, error) {
414	req, out := c.CreateCodeSigningConfigRequest(input)
415	req.SetContext(ctx)
416	req.ApplyOptions(opts...)
417	return out, req.Send()
418}
419
420const opCreateEventSourceMapping = "CreateEventSourceMapping"
421
422// CreateEventSourceMappingRequest generates a "aws/request.Request" representing the
423// client's request for the CreateEventSourceMapping operation. The "output" return
424// value will be populated with the request's response once the request completes
425// successfully.
426//
427// Use "Send" method on the returned Request to send the API call to the service.
428// the "output" return value is not valid until after Send returns without error.
429//
430// See CreateEventSourceMapping for more information on using the CreateEventSourceMapping
431// API call, and error handling.
432//
433// This method is useful when you want to inject custom logic or configuration
434// into the SDK's request lifecycle. Such as custom headers, or retry logic.
435//
436//
437//    // Example sending a request using the CreateEventSourceMappingRequest method.
438//    req, resp := client.CreateEventSourceMappingRequest(params)
439//
440//    err := req.Send()
441//    if err == nil { // resp is now filled
442//        fmt.Println(resp)
443//    }
444//
445// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/CreateEventSourceMapping
446func (c *Lambda) CreateEventSourceMappingRequest(input *CreateEventSourceMappingInput) (req *request.Request, output *EventSourceMappingConfiguration) {
447	op := &request.Operation{
448		Name:       opCreateEventSourceMapping,
449		HTTPMethod: "POST",
450		HTTPPath:   "/2015-03-31/event-source-mappings/",
451	}
452
453	if input == nil {
454		input = &CreateEventSourceMappingInput{}
455	}
456
457	output = &EventSourceMappingConfiguration{}
458	req = c.newRequest(op, input, output)
459	return
460}
461
462// CreateEventSourceMapping API operation for AWS Lambda.
463//
464// Creates a mapping between an event source and an Lambda function. Lambda
465// reads items from the event source and triggers the function.
466//
467// For details about each event source type, see the following topics.
468//
469//    * Configuring a Dynamo DB stream as an event source (https://docs.aws.amazon.com/lambda/latest/dg/with-ddb.html#services-dynamodb-eventsourcemapping)
470//
471//    * Configuring a Kinesis stream as an event source (https://docs.aws.amazon.com/lambda/latest/dg/with-kinesis.html#services-kinesis-eventsourcemapping)
472//
473//    * Configuring an Amazon SQS queue as an event source (https://docs.aws.amazon.com/lambda/latest/dg/with-sqs.html#events-sqs-eventsource)
474//
475//    * Configuring an MQ broker as an event source (https://docs.aws.amazon.com/lambda/latest/dg/with-mq.html#services-mq-eventsourcemapping)
476//
477//    * Configuring MSK as an event source (https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html)
478//
479//    * Configuring Self-Managed Apache Kafka as an event source (https://docs.aws.amazon.com/lambda/latest/dg/kafka-smaa.html)
480//
481// The following error handling options are only available for stream sources
482// (DynamoDB and Kinesis):
483//
484//    * BisectBatchOnFunctionError - If the function returns an error, split
485//    the batch in two and retry.
486//
487//    * DestinationConfig - Send discarded records to an Amazon SQS queue or
488//    Amazon SNS topic.
489//
490//    * MaximumRecordAgeInSeconds - Discard records older than the specified
491//    age. The default value is infinite (-1). When set to infinite (-1), failed
492//    records are retried until the record expires
493//
494//    * MaximumRetryAttempts - Discard records after the specified number of
495//    retries. The default value is infinite (-1). When set to infinite (-1),
496//    failed records are retried until the record expires.
497//
498//    * ParallelizationFactor - Process multiple batches from each shard concurrently.
499//
500// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
501// with awserr.Error's Code and Message methods to get detailed information about
502// the error.
503//
504// See the AWS API reference guide for AWS Lambda's
505// API operation CreateEventSourceMapping for usage and error information.
506//
507// Returned Error Types:
508//   * ServiceException
509//   The Lambda service encountered an internal error.
510//
511//   * InvalidParameterValueException
512//   One of the parameters in the request is invalid.
513//
514//   * ResourceConflictException
515//   The resource already exists, or another operation is in progress.
516//
517//   * TooManyRequestsException
518//   The request throughput limit was exceeded.
519//
520//   * ResourceNotFoundException
521//   The resource specified in the request does not exist.
522//
523// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/CreateEventSourceMapping
524func (c *Lambda) CreateEventSourceMapping(input *CreateEventSourceMappingInput) (*EventSourceMappingConfiguration, error) {
525	req, out := c.CreateEventSourceMappingRequest(input)
526	return out, req.Send()
527}
528
529// CreateEventSourceMappingWithContext is the same as CreateEventSourceMapping with the addition of
530// the ability to pass a context and additional request options.
531//
532// See CreateEventSourceMapping for details on how to use this API operation.
533//
534// The context must be non-nil and will be used for request cancellation. If
535// the context is nil a panic will occur. In the future the SDK may create
536// sub-contexts for http.Requests. See https://golang.org/pkg/context/
537// for more information on using Contexts.
538func (c *Lambda) CreateEventSourceMappingWithContext(ctx aws.Context, input *CreateEventSourceMappingInput, opts ...request.Option) (*EventSourceMappingConfiguration, error) {
539	req, out := c.CreateEventSourceMappingRequest(input)
540	req.SetContext(ctx)
541	req.ApplyOptions(opts...)
542	return out, req.Send()
543}
544
545const opCreateFunction = "CreateFunction"
546
547// CreateFunctionRequest generates a "aws/request.Request" representing the
548// client's request for the CreateFunction operation. The "output" return
549// value will be populated with the request's response once the request completes
550// successfully.
551//
552// Use "Send" method on the returned Request to send the API call to the service.
553// the "output" return value is not valid until after Send returns without error.
554//
555// See CreateFunction for more information on using the CreateFunction
556// API call, and error handling.
557//
558// This method is useful when you want to inject custom logic or configuration
559// into the SDK's request lifecycle. Such as custom headers, or retry logic.
560//
561//
562//    // Example sending a request using the CreateFunctionRequest method.
563//    req, resp := client.CreateFunctionRequest(params)
564//
565//    err := req.Send()
566//    if err == nil { // resp is now filled
567//        fmt.Println(resp)
568//    }
569//
570// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/CreateFunction
571func (c *Lambda) CreateFunctionRequest(input *CreateFunctionInput) (req *request.Request, output *FunctionConfiguration) {
572	op := &request.Operation{
573		Name:       opCreateFunction,
574		HTTPMethod: "POST",
575		HTTPPath:   "/2015-03-31/functions",
576	}
577
578	if input == nil {
579		input = &CreateFunctionInput{}
580	}
581
582	output = &FunctionConfiguration{}
583	req = c.newRequest(op, input, output)
584	return
585}
586
587// CreateFunction API operation for AWS Lambda.
588//
589// Creates a Lambda function. To create a function, you need a deployment package
590// (https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-package.html)
591// and an execution role (https://docs.aws.amazon.com/lambda/latest/dg/intro-permission-model.html#lambda-intro-execution-role).
592// The deployment package is a .zip file archive or container image that contains
593// your function code. The execution role grants the function permission to
594// use Amazon Web Services services, such as Amazon CloudWatch Logs for log
595// streaming and X-Ray for request tracing.
596//
597// You set the package type to Image if the deployment package is a container
598// image (https://docs.aws.amazon.com/lambda/latest/dg/lambda-images.html).
599// For a container image, the code property must include the URI of a container
600// image in the Amazon ECR registry. You do not need to specify the handler
601// and runtime properties.
602//
603// You set the package type to Zip if the deployment package is a .zip file
604// archive (https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-package.html#gettingstarted-package-zip).
605// For a .zip file archive, the code property specifies the location of the
606// .zip file. You must also specify the handler and runtime properties. The
607// code in the deployment package must be compatible with the target instruction
608// set architecture of the function (x86-64 or arm64). If you do not specify
609// the architecture, the default value is x86-64.
610//
611// When you create a function, Lambda provisions an instance of the function
612// and its supporting resources. If your function connects to a VPC, this process
613// can take a minute or so. During this time, you can't invoke or modify the
614// function. The State, StateReason, and StateReasonCode fields in the response
615// from GetFunctionConfiguration indicate when the function is ready to invoke.
616// For more information, see Function States (https://docs.aws.amazon.com/lambda/latest/dg/functions-states.html).
617//
618// A function has an unpublished version, and can have published versions and
619// aliases. The unpublished version changes when you update your function's
620// code and configuration. A published version is a snapshot of your function
621// code and configuration that can't be changed. An alias is a named resource
622// that maps to a version, and can be changed to map to a different version.
623// Use the Publish parameter to create version 1 of your function from its initial
624// configuration.
625//
626// The other parameters let you configure version-specific and function-level
627// settings. You can modify version-specific settings later with UpdateFunctionConfiguration.
628// Function-level settings apply to both the unpublished and published versions
629// of the function, and include tags (TagResource) and per-function concurrency
630// limits (PutFunctionConcurrency).
631//
632// You can use code signing if your deployment package is a .zip file archive.
633// To enable code signing for this function, specify the ARN of a code-signing
634// configuration. When a user attempts to deploy a code package with UpdateFunctionCode,
635// Lambda checks that the code package has a valid signature from a trusted
636// publisher. The code-signing configuration includes set set of signing profiles,
637// which define the trusted publishers for this function.
638//
639// If another account or an Amazon Web Services service invokes your function,
640// use AddPermission to grant permission by creating a resource-based IAM policy.
641// You can grant permissions at the function level, on a version, or on an alias.
642//
643// To invoke your function directly, use Invoke. To invoke your function in
644// response to events in other Amazon Web Services services, create an event
645// source mapping (CreateEventSourceMapping), or configure a function trigger
646// in the other service. For more information, see Invoking Functions (https://docs.aws.amazon.com/lambda/latest/dg/lambda-invocation.html).
647//
648// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
649// with awserr.Error's Code and Message methods to get detailed information about
650// the error.
651//
652// See the AWS API reference guide for AWS Lambda's
653// API operation CreateFunction for usage and error information.
654//
655// Returned Error Types:
656//   * ServiceException
657//   The Lambda service encountered an internal error.
658//
659//   * InvalidParameterValueException
660//   One of the parameters in the request is invalid.
661//
662//   * ResourceNotFoundException
663//   The resource specified in the request does not exist.
664//
665//   * ResourceConflictException
666//   The resource already exists, or another operation is in progress.
667//
668//   * TooManyRequestsException
669//   The request throughput limit was exceeded.
670//
671//   * CodeStorageExceededException
672//   You have exceeded your maximum total code size per account. Learn more (https://docs.aws.amazon.com/lambda/latest/dg/limits.html)
673//
674//   * CodeVerificationFailedException
675//   The code signature failed one or more of the validation checks for signature
676//   mismatch or expiry, and the code signing policy is set to ENFORCE. Lambda
677//   blocks the deployment.
678//
679//   * InvalidCodeSignatureException
680//   The code signature failed the integrity check. Lambda always blocks deployment
681//   if the integrity check fails, even if code signing policy is set to WARN.
682//
683//   * CodeSigningConfigNotFoundException
684//   The specified code signing configuration does not exist.
685//
686// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/CreateFunction
687func (c *Lambda) CreateFunction(input *CreateFunctionInput) (*FunctionConfiguration, error) {
688	req, out := c.CreateFunctionRequest(input)
689	return out, req.Send()
690}
691
692// CreateFunctionWithContext is the same as CreateFunction with the addition of
693// the ability to pass a context and additional request options.
694//
695// See CreateFunction for details on how to use this API operation.
696//
697// The context must be non-nil and will be used for request cancellation. If
698// the context is nil a panic will occur. In the future the SDK may create
699// sub-contexts for http.Requests. See https://golang.org/pkg/context/
700// for more information on using Contexts.
701func (c *Lambda) CreateFunctionWithContext(ctx aws.Context, input *CreateFunctionInput, opts ...request.Option) (*FunctionConfiguration, error) {
702	req, out := c.CreateFunctionRequest(input)
703	req.SetContext(ctx)
704	req.ApplyOptions(opts...)
705	return out, req.Send()
706}
707
708const opDeleteAlias = "DeleteAlias"
709
710// DeleteAliasRequest generates a "aws/request.Request" representing the
711// client's request for the DeleteAlias operation. The "output" return
712// value will be populated with the request's response once the request completes
713// successfully.
714//
715// Use "Send" method on the returned Request to send the API call to the service.
716// the "output" return value is not valid until after Send returns without error.
717//
718// See DeleteAlias for more information on using the DeleteAlias
719// API call, and error handling.
720//
721// This method is useful when you want to inject custom logic or configuration
722// into the SDK's request lifecycle. Such as custom headers, or retry logic.
723//
724//
725//    // Example sending a request using the DeleteAliasRequest method.
726//    req, resp := client.DeleteAliasRequest(params)
727//
728//    err := req.Send()
729//    if err == nil { // resp is now filled
730//        fmt.Println(resp)
731//    }
732//
733// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/DeleteAlias
734func (c *Lambda) DeleteAliasRequest(input *DeleteAliasInput) (req *request.Request, output *DeleteAliasOutput) {
735	op := &request.Operation{
736		Name:       opDeleteAlias,
737		HTTPMethod: "DELETE",
738		HTTPPath:   "/2015-03-31/functions/{FunctionName}/aliases/{Name}",
739	}
740
741	if input == nil {
742		input = &DeleteAliasInput{}
743	}
744
745	output = &DeleteAliasOutput{}
746	req = c.newRequest(op, input, output)
747	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
748	return
749}
750
751// DeleteAlias API operation for AWS Lambda.
752//
753// Deletes a Lambda function alias (https://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html).
754//
755// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
756// with awserr.Error's Code and Message methods to get detailed information about
757// the error.
758//
759// See the AWS API reference guide for AWS Lambda's
760// API operation DeleteAlias for usage and error information.
761//
762// Returned Error Types:
763//   * ServiceException
764//   The Lambda service encountered an internal error.
765//
766//   * InvalidParameterValueException
767//   One of the parameters in the request is invalid.
768//
769//   * ResourceConflictException
770//   The resource already exists, or another operation is in progress.
771//
772//   * TooManyRequestsException
773//   The request throughput limit was exceeded.
774//
775// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/DeleteAlias
776func (c *Lambda) DeleteAlias(input *DeleteAliasInput) (*DeleteAliasOutput, error) {
777	req, out := c.DeleteAliasRequest(input)
778	return out, req.Send()
779}
780
781// DeleteAliasWithContext is the same as DeleteAlias with the addition of
782// the ability to pass a context and additional request options.
783//
784// See DeleteAlias for details on how to use this API operation.
785//
786// The context must be non-nil and will be used for request cancellation. If
787// the context is nil a panic will occur. In the future the SDK may create
788// sub-contexts for http.Requests. See https://golang.org/pkg/context/
789// for more information on using Contexts.
790func (c *Lambda) DeleteAliasWithContext(ctx aws.Context, input *DeleteAliasInput, opts ...request.Option) (*DeleteAliasOutput, error) {
791	req, out := c.DeleteAliasRequest(input)
792	req.SetContext(ctx)
793	req.ApplyOptions(opts...)
794	return out, req.Send()
795}
796
797const opDeleteCodeSigningConfig = "DeleteCodeSigningConfig"
798
799// DeleteCodeSigningConfigRequest generates a "aws/request.Request" representing the
800// client's request for the DeleteCodeSigningConfig operation. The "output" return
801// value will be populated with the request's response once the request completes
802// successfully.
803//
804// Use "Send" method on the returned Request to send the API call to the service.
805// the "output" return value is not valid until after Send returns without error.
806//
807// See DeleteCodeSigningConfig for more information on using the DeleteCodeSigningConfig
808// API call, and error handling.
809//
810// This method is useful when you want to inject custom logic or configuration
811// into the SDK's request lifecycle. Such as custom headers, or retry logic.
812//
813//
814//    // Example sending a request using the DeleteCodeSigningConfigRequest method.
815//    req, resp := client.DeleteCodeSigningConfigRequest(params)
816//
817//    err := req.Send()
818//    if err == nil { // resp is now filled
819//        fmt.Println(resp)
820//    }
821//
822// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/DeleteCodeSigningConfig
823func (c *Lambda) DeleteCodeSigningConfigRequest(input *DeleteCodeSigningConfigInput) (req *request.Request, output *DeleteCodeSigningConfigOutput) {
824	op := &request.Operation{
825		Name:       opDeleteCodeSigningConfig,
826		HTTPMethod: "DELETE",
827		HTTPPath:   "/2020-04-22/code-signing-configs/{CodeSigningConfigArn}",
828	}
829
830	if input == nil {
831		input = &DeleteCodeSigningConfigInput{}
832	}
833
834	output = &DeleteCodeSigningConfigOutput{}
835	req = c.newRequest(op, input, output)
836	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
837	return
838}
839
840// DeleteCodeSigningConfig API operation for AWS Lambda.
841//
842// Deletes the code signing configuration. You can delete the code signing configuration
843// only if no function is using it.
844//
845// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
846// with awserr.Error's Code and Message methods to get detailed information about
847// the error.
848//
849// See the AWS API reference guide for AWS Lambda's
850// API operation DeleteCodeSigningConfig for usage and error information.
851//
852// Returned Error Types:
853//   * ServiceException
854//   The Lambda service encountered an internal error.
855//
856//   * InvalidParameterValueException
857//   One of the parameters in the request is invalid.
858//
859//   * ResourceNotFoundException
860//   The resource specified in the request does not exist.
861//
862//   * ResourceConflictException
863//   The resource already exists, or another operation is in progress.
864//
865// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/DeleteCodeSigningConfig
866func (c *Lambda) DeleteCodeSigningConfig(input *DeleteCodeSigningConfigInput) (*DeleteCodeSigningConfigOutput, error) {
867	req, out := c.DeleteCodeSigningConfigRequest(input)
868	return out, req.Send()
869}
870
871// DeleteCodeSigningConfigWithContext is the same as DeleteCodeSigningConfig with the addition of
872// the ability to pass a context and additional request options.
873//
874// See DeleteCodeSigningConfig for details on how to use this API operation.
875//
876// The context must be non-nil and will be used for request cancellation. If
877// the context is nil a panic will occur. In the future the SDK may create
878// sub-contexts for http.Requests. See https://golang.org/pkg/context/
879// for more information on using Contexts.
880func (c *Lambda) DeleteCodeSigningConfigWithContext(ctx aws.Context, input *DeleteCodeSigningConfigInput, opts ...request.Option) (*DeleteCodeSigningConfigOutput, error) {
881	req, out := c.DeleteCodeSigningConfigRequest(input)
882	req.SetContext(ctx)
883	req.ApplyOptions(opts...)
884	return out, req.Send()
885}
886
887const opDeleteEventSourceMapping = "DeleteEventSourceMapping"
888
889// DeleteEventSourceMappingRequest generates a "aws/request.Request" representing the
890// client's request for the DeleteEventSourceMapping operation. The "output" return
891// value will be populated with the request's response once the request completes
892// successfully.
893//
894// Use "Send" method on the returned Request to send the API call to the service.
895// the "output" return value is not valid until after Send returns without error.
896//
897// See DeleteEventSourceMapping for more information on using the DeleteEventSourceMapping
898// API call, and error handling.
899//
900// This method is useful when you want to inject custom logic or configuration
901// into the SDK's request lifecycle. Such as custom headers, or retry logic.
902//
903//
904//    // Example sending a request using the DeleteEventSourceMappingRequest method.
905//    req, resp := client.DeleteEventSourceMappingRequest(params)
906//
907//    err := req.Send()
908//    if err == nil { // resp is now filled
909//        fmt.Println(resp)
910//    }
911//
912// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/DeleteEventSourceMapping
913func (c *Lambda) DeleteEventSourceMappingRequest(input *DeleteEventSourceMappingInput) (req *request.Request, output *EventSourceMappingConfiguration) {
914	op := &request.Operation{
915		Name:       opDeleteEventSourceMapping,
916		HTTPMethod: "DELETE",
917		HTTPPath:   "/2015-03-31/event-source-mappings/{UUID}",
918	}
919
920	if input == nil {
921		input = &DeleteEventSourceMappingInput{}
922	}
923
924	output = &EventSourceMappingConfiguration{}
925	req = c.newRequest(op, input, output)
926	return
927}
928
929// DeleteEventSourceMapping API operation for AWS Lambda.
930//
931// Deletes an event source mapping (https://docs.aws.amazon.com/lambda/latest/dg/intro-invocation-modes.html).
932// You can get the identifier of a mapping from the output of ListEventSourceMappings.
933//
934// When you delete an event source mapping, it enters a Deleting state and might
935// not be completely deleted for several seconds.
936//
937// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
938// with awserr.Error's Code and Message methods to get detailed information about
939// the error.
940//
941// See the AWS API reference guide for AWS Lambda's
942// API operation DeleteEventSourceMapping for usage and error information.
943//
944// Returned Error Types:
945//   * ServiceException
946//   The Lambda service encountered an internal error.
947//
948//   * ResourceNotFoundException
949//   The resource specified in the request does not exist.
950//
951//   * InvalidParameterValueException
952//   One of the parameters in the request is invalid.
953//
954//   * TooManyRequestsException
955//   The request throughput limit was exceeded.
956//
957//   * ResourceInUseException
958//   The operation conflicts with the resource's availability. For example, you
959//   attempted to update an EventSource Mapping in CREATING, or tried to delete
960//   a EventSource mapping currently in the UPDATING state.
961//
962// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/DeleteEventSourceMapping
963func (c *Lambda) DeleteEventSourceMapping(input *DeleteEventSourceMappingInput) (*EventSourceMappingConfiguration, error) {
964	req, out := c.DeleteEventSourceMappingRequest(input)
965	return out, req.Send()
966}
967
968// DeleteEventSourceMappingWithContext is the same as DeleteEventSourceMapping with the addition of
969// the ability to pass a context and additional request options.
970//
971// See DeleteEventSourceMapping for details on how to use this API operation.
972//
973// The context must be non-nil and will be used for request cancellation. If
974// the context is nil a panic will occur. In the future the SDK may create
975// sub-contexts for http.Requests. See https://golang.org/pkg/context/
976// for more information on using Contexts.
977func (c *Lambda) DeleteEventSourceMappingWithContext(ctx aws.Context, input *DeleteEventSourceMappingInput, opts ...request.Option) (*EventSourceMappingConfiguration, error) {
978	req, out := c.DeleteEventSourceMappingRequest(input)
979	req.SetContext(ctx)
980	req.ApplyOptions(opts...)
981	return out, req.Send()
982}
983
984const opDeleteFunction = "DeleteFunction"
985
986// DeleteFunctionRequest generates a "aws/request.Request" representing the
987// client's request for the DeleteFunction operation. The "output" return
988// value will be populated with the request's response once the request completes
989// successfully.
990//
991// Use "Send" method on the returned Request to send the API call to the service.
992// the "output" return value is not valid until after Send returns without error.
993//
994// See DeleteFunction for more information on using the DeleteFunction
995// API call, and error handling.
996//
997// This method is useful when you want to inject custom logic or configuration
998// into the SDK's request lifecycle. Such as custom headers, or retry logic.
999//
1000//
1001//    // Example sending a request using the DeleteFunctionRequest method.
1002//    req, resp := client.DeleteFunctionRequest(params)
1003//
1004//    err := req.Send()
1005//    if err == nil { // resp is now filled
1006//        fmt.Println(resp)
1007//    }
1008//
1009// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/DeleteFunction
1010func (c *Lambda) DeleteFunctionRequest(input *DeleteFunctionInput) (req *request.Request, output *DeleteFunctionOutput) {
1011	op := &request.Operation{
1012		Name:       opDeleteFunction,
1013		HTTPMethod: "DELETE",
1014		HTTPPath:   "/2015-03-31/functions/{FunctionName}",
1015	}
1016
1017	if input == nil {
1018		input = &DeleteFunctionInput{}
1019	}
1020
1021	output = &DeleteFunctionOutput{}
1022	req = c.newRequest(op, input, output)
1023	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1024	return
1025}
1026
1027// DeleteFunction API operation for AWS Lambda.
1028//
1029// Deletes a Lambda function. To delete a specific function version, use the
1030// Qualifier parameter. Otherwise, all versions and aliases are deleted.
1031//
1032// To delete Lambda event source mappings that invoke a function, use DeleteEventSourceMapping.
1033// For Amazon Web Services services and resources that invoke your function
1034// directly, delete the trigger in the service where you originally configured
1035// it.
1036//
1037// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1038// with awserr.Error's Code and Message methods to get detailed information about
1039// the error.
1040//
1041// See the AWS API reference guide for AWS Lambda's
1042// API operation DeleteFunction for usage and error information.
1043//
1044// Returned Error Types:
1045//   * ServiceException
1046//   The Lambda service encountered an internal error.
1047//
1048//   * ResourceNotFoundException
1049//   The resource specified in the request does not exist.
1050//
1051//   * TooManyRequestsException
1052//   The request throughput limit was exceeded.
1053//
1054//   * InvalidParameterValueException
1055//   One of the parameters in the request is invalid.
1056//
1057//   * ResourceConflictException
1058//   The resource already exists, or another operation is in progress.
1059//
1060// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/DeleteFunction
1061func (c *Lambda) DeleteFunction(input *DeleteFunctionInput) (*DeleteFunctionOutput, error) {
1062	req, out := c.DeleteFunctionRequest(input)
1063	return out, req.Send()
1064}
1065
1066// DeleteFunctionWithContext is the same as DeleteFunction with the addition of
1067// the ability to pass a context and additional request options.
1068//
1069// See DeleteFunction for details on how to use this API operation.
1070//
1071// The context must be non-nil and will be used for request cancellation. If
1072// the context is nil a panic will occur. In the future the SDK may create
1073// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1074// for more information on using Contexts.
1075func (c *Lambda) DeleteFunctionWithContext(ctx aws.Context, input *DeleteFunctionInput, opts ...request.Option) (*DeleteFunctionOutput, error) {
1076	req, out := c.DeleteFunctionRequest(input)
1077	req.SetContext(ctx)
1078	req.ApplyOptions(opts...)
1079	return out, req.Send()
1080}
1081
1082const opDeleteFunctionCodeSigningConfig = "DeleteFunctionCodeSigningConfig"
1083
1084// DeleteFunctionCodeSigningConfigRequest generates a "aws/request.Request" representing the
1085// client's request for the DeleteFunctionCodeSigningConfig operation. The "output" return
1086// value will be populated with the request's response once the request completes
1087// successfully.
1088//
1089// Use "Send" method on the returned Request to send the API call to the service.
1090// the "output" return value is not valid until after Send returns without error.
1091//
1092// See DeleteFunctionCodeSigningConfig for more information on using the DeleteFunctionCodeSigningConfig
1093// API call, and error handling.
1094//
1095// This method is useful when you want to inject custom logic or configuration
1096// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1097//
1098//
1099//    // Example sending a request using the DeleteFunctionCodeSigningConfigRequest method.
1100//    req, resp := client.DeleteFunctionCodeSigningConfigRequest(params)
1101//
1102//    err := req.Send()
1103//    if err == nil { // resp is now filled
1104//        fmt.Println(resp)
1105//    }
1106//
1107// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/DeleteFunctionCodeSigningConfig
1108func (c *Lambda) DeleteFunctionCodeSigningConfigRequest(input *DeleteFunctionCodeSigningConfigInput) (req *request.Request, output *DeleteFunctionCodeSigningConfigOutput) {
1109	op := &request.Operation{
1110		Name:       opDeleteFunctionCodeSigningConfig,
1111		HTTPMethod: "DELETE",
1112		HTTPPath:   "/2020-06-30/functions/{FunctionName}/code-signing-config",
1113	}
1114
1115	if input == nil {
1116		input = &DeleteFunctionCodeSigningConfigInput{}
1117	}
1118
1119	output = &DeleteFunctionCodeSigningConfigOutput{}
1120	req = c.newRequest(op, input, output)
1121	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1122	return
1123}
1124
1125// DeleteFunctionCodeSigningConfig API operation for AWS Lambda.
1126//
1127// Removes the code signing configuration from the function.
1128//
1129// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1130// with awserr.Error's Code and Message methods to get detailed information about
1131// the error.
1132//
1133// See the AWS API reference guide for AWS Lambda's
1134// API operation DeleteFunctionCodeSigningConfig for usage and error information.
1135//
1136// Returned Error Types:
1137//   * InvalidParameterValueException
1138//   One of the parameters in the request is invalid.
1139//
1140//   * CodeSigningConfigNotFoundException
1141//   The specified code signing configuration does not exist.
1142//
1143//   * ResourceNotFoundException
1144//   The resource specified in the request does not exist.
1145//
1146//   * ServiceException
1147//   The Lambda service encountered an internal error.
1148//
1149//   * TooManyRequestsException
1150//   The request throughput limit was exceeded.
1151//
1152//   * ResourceConflictException
1153//   The resource already exists, or another operation is in progress.
1154//
1155// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/DeleteFunctionCodeSigningConfig
1156func (c *Lambda) DeleteFunctionCodeSigningConfig(input *DeleteFunctionCodeSigningConfigInput) (*DeleteFunctionCodeSigningConfigOutput, error) {
1157	req, out := c.DeleteFunctionCodeSigningConfigRequest(input)
1158	return out, req.Send()
1159}
1160
1161// DeleteFunctionCodeSigningConfigWithContext is the same as DeleteFunctionCodeSigningConfig with the addition of
1162// the ability to pass a context and additional request options.
1163//
1164// See DeleteFunctionCodeSigningConfig for details on how to use this API operation.
1165//
1166// The context must be non-nil and will be used for request cancellation. If
1167// the context is nil a panic will occur. In the future the SDK may create
1168// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1169// for more information on using Contexts.
1170func (c *Lambda) DeleteFunctionCodeSigningConfigWithContext(ctx aws.Context, input *DeleteFunctionCodeSigningConfigInput, opts ...request.Option) (*DeleteFunctionCodeSigningConfigOutput, error) {
1171	req, out := c.DeleteFunctionCodeSigningConfigRequest(input)
1172	req.SetContext(ctx)
1173	req.ApplyOptions(opts...)
1174	return out, req.Send()
1175}
1176
1177const opDeleteFunctionConcurrency = "DeleteFunctionConcurrency"
1178
1179// DeleteFunctionConcurrencyRequest generates a "aws/request.Request" representing the
1180// client's request for the DeleteFunctionConcurrency operation. The "output" return
1181// value will be populated with the request's response once the request completes
1182// successfully.
1183//
1184// Use "Send" method on the returned Request to send the API call to the service.
1185// the "output" return value is not valid until after Send returns without error.
1186//
1187// See DeleteFunctionConcurrency for more information on using the DeleteFunctionConcurrency
1188// API call, and error handling.
1189//
1190// This method is useful when you want to inject custom logic or configuration
1191// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1192//
1193//
1194//    // Example sending a request using the DeleteFunctionConcurrencyRequest method.
1195//    req, resp := client.DeleteFunctionConcurrencyRequest(params)
1196//
1197//    err := req.Send()
1198//    if err == nil { // resp is now filled
1199//        fmt.Println(resp)
1200//    }
1201//
1202// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/DeleteFunctionConcurrency
1203func (c *Lambda) DeleteFunctionConcurrencyRequest(input *DeleteFunctionConcurrencyInput) (req *request.Request, output *DeleteFunctionConcurrencyOutput) {
1204	op := &request.Operation{
1205		Name:       opDeleteFunctionConcurrency,
1206		HTTPMethod: "DELETE",
1207		HTTPPath:   "/2017-10-31/functions/{FunctionName}/concurrency",
1208	}
1209
1210	if input == nil {
1211		input = &DeleteFunctionConcurrencyInput{}
1212	}
1213
1214	output = &DeleteFunctionConcurrencyOutput{}
1215	req = c.newRequest(op, input, output)
1216	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1217	return
1218}
1219
1220// DeleteFunctionConcurrency API operation for AWS Lambda.
1221//
1222// Removes a concurrent execution limit from a function.
1223//
1224// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1225// with awserr.Error's Code and Message methods to get detailed information about
1226// the error.
1227//
1228// See the AWS API reference guide for AWS Lambda's
1229// API operation DeleteFunctionConcurrency for usage and error information.
1230//
1231// Returned Error Types:
1232//   * ServiceException
1233//   The Lambda service encountered an internal error.
1234//
1235//   * ResourceNotFoundException
1236//   The resource specified in the request does not exist.
1237//
1238//   * TooManyRequestsException
1239//   The request throughput limit was exceeded.
1240//
1241//   * InvalidParameterValueException
1242//   One of the parameters in the request is invalid.
1243//
1244//   * ResourceConflictException
1245//   The resource already exists, or another operation is in progress.
1246//
1247// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/DeleteFunctionConcurrency
1248func (c *Lambda) DeleteFunctionConcurrency(input *DeleteFunctionConcurrencyInput) (*DeleteFunctionConcurrencyOutput, error) {
1249	req, out := c.DeleteFunctionConcurrencyRequest(input)
1250	return out, req.Send()
1251}
1252
1253// DeleteFunctionConcurrencyWithContext is the same as DeleteFunctionConcurrency with the addition of
1254// the ability to pass a context and additional request options.
1255//
1256// See DeleteFunctionConcurrency for details on how to use this API operation.
1257//
1258// The context must be non-nil and will be used for request cancellation. If
1259// the context is nil a panic will occur. In the future the SDK may create
1260// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1261// for more information on using Contexts.
1262func (c *Lambda) DeleteFunctionConcurrencyWithContext(ctx aws.Context, input *DeleteFunctionConcurrencyInput, opts ...request.Option) (*DeleteFunctionConcurrencyOutput, error) {
1263	req, out := c.DeleteFunctionConcurrencyRequest(input)
1264	req.SetContext(ctx)
1265	req.ApplyOptions(opts...)
1266	return out, req.Send()
1267}
1268
1269const opDeleteFunctionEventInvokeConfig = "DeleteFunctionEventInvokeConfig"
1270
1271// DeleteFunctionEventInvokeConfigRequest generates a "aws/request.Request" representing the
1272// client's request for the DeleteFunctionEventInvokeConfig operation. The "output" return
1273// value will be populated with the request's response once the request completes
1274// successfully.
1275//
1276// Use "Send" method on the returned Request to send the API call to the service.
1277// the "output" return value is not valid until after Send returns without error.
1278//
1279// See DeleteFunctionEventInvokeConfig for more information on using the DeleteFunctionEventInvokeConfig
1280// API call, and error handling.
1281//
1282// This method is useful when you want to inject custom logic or configuration
1283// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1284//
1285//
1286//    // Example sending a request using the DeleteFunctionEventInvokeConfigRequest method.
1287//    req, resp := client.DeleteFunctionEventInvokeConfigRequest(params)
1288//
1289//    err := req.Send()
1290//    if err == nil { // resp is now filled
1291//        fmt.Println(resp)
1292//    }
1293//
1294// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/DeleteFunctionEventInvokeConfig
1295func (c *Lambda) DeleteFunctionEventInvokeConfigRequest(input *DeleteFunctionEventInvokeConfigInput) (req *request.Request, output *DeleteFunctionEventInvokeConfigOutput) {
1296	op := &request.Operation{
1297		Name:       opDeleteFunctionEventInvokeConfig,
1298		HTTPMethod: "DELETE",
1299		HTTPPath:   "/2019-09-25/functions/{FunctionName}/event-invoke-config",
1300	}
1301
1302	if input == nil {
1303		input = &DeleteFunctionEventInvokeConfigInput{}
1304	}
1305
1306	output = &DeleteFunctionEventInvokeConfigOutput{}
1307	req = c.newRequest(op, input, output)
1308	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1309	return
1310}
1311
1312// DeleteFunctionEventInvokeConfig API operation for AWS Lambda.
1313//
1314// Deletes the configuration for asynchronous invocation for a function, version,
1315// or alias.
1316//
1317// To configure options for asynchronous invocation, use PutFunctionEventInvokeConfig.
1318//
1319// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1320// with awserr.Error's Code and Message methods to get detailed information about
1321// the error.
1322//
1323// See the AWS API reference guide for AWS Lambda's
1324// API operation DeleteFunctionEventInvokeConfig for usage and error information.
1325//
1326// Returned Error Types:
1327//   * ServiceException
1328//   The Lambda service encountered an internal error.
1329//
1330//   * ResourceNotFoundException
1331//   The resource specified in the request does not exist.
1332//
1333//   * InvalidParameterValueException
1334//   One of the parameters in the request is invalid.
1335//
1336//   * TooManyRequestsException
1337//   The request throughput limit was exceeded.
1338//
1339//   * ResourceConflictException
1340//   The resource already exists, or another operation is in progress.
1341//
1342// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/DeleteFunctionEventInvokeConfig
1343func (c *Lambda) DeleteFunctionEventInvokeConfig(input *DeleteFunctionEventInvokeConfigInput) (*DeleteFunctionEventInvokeConfigOutput, error) {
1344	req, out := c.DeleteFunctionEventInvokeConfigRequest(input)
1345	return out, req.Send()
1346}
1347
1348// DeleteFunctionEventInvokeConfigWithContext is the same as DeleteFunctionEventInvokeConfig with the addition of
1349// the ability to pass a context and additional request options.
1350//
1351// See DeleteFunctionEventInvokeConfig for details on how to use this API operation.
1352//
1353// The context must be non-nil and will be used for request cancellation. If
1354// the context is nil a panic will occur. In the future the SDK may create
1355// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1356// for more information on using Contexts.
1357func (c *Lambda) DeleteFunctionEventInvokeConfigWithContext(ctx aws.Context, input *DeleteFunctionEventInvokeConfigInput, opts ...request.Option) (*DeleteFunctionEventInvokeConfigOutput, error) {
1358	req, out := c.DeleteFunctionEventInvokeConfigRequest(input)
1359	req.SetContext(ctx)
1360	req.ApplyOptions(opts...)
1361	return out, req.Send()
1362}
1363
1364const opDeleteLayerVersion = "DeleteLayerVersion"
1365
1366// DeleteLayerVersionRequest generates a "aws/request.Request" representing the
1367// client's request for the DeleteLayerVersion operation. The "output" return
1368// value will be populated with the request's response once the request completes
1369// successfully.
1370//
1371// Use "Send" method on the returned Request to send the API call to the service.
1372// the "output" return value is not valid until after Send returns without error.
1373//
1374// See DeleteLayerVersion for more information on using the DeleteLayerVersion
1375// API call, and error handling.
1376//
1377// This method is useful when you want to inject custom logic or configuration
1378// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1379//
1380//
1381//    // Example sending a request using the DeleteLayerVersionRequest method.
1382//    req, resp := client.DeleteLayerVersionRequest(params)
1383//
1384//    err := req.Send()
1385//    if err == nil { // resp is now filled
1386//        fmt.Println(resp)
1387//    }
1388//
1389// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/DeleteLayerVersion
1390func (c *Lambda) DeleteLayerVersionRequest(input *DeleteLayerVersionInput) (req *request.Request, output *DeleteLayerVersionOutput) {
1391	op := &request.Operation{
1392		Name:       opDeleteLayerVersion,
1393		HTTPMethod: "DELETE",
1394		HTTPPath:   "/2018-10-31/layers/{LayerName}/versions/{VersionNumber}",
1395	}
1396
1397	if input == nil {
1398		input = &DeleteLayerVersionInput{}
1399	}
1400
1401	output = &DeleteLayerVersionOutput{}
1402	req = c.newRequest(op, input, output)
1403	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1404	return
1405}
1406
1407// DeleteLayerVersion API operation for AWS Lambda.
1408//
1409// Deletes a version of an Lambda layer (https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html).
1410// Deleted versions can no longer be viewed or added to functions. To avoid
1411// breaking functions, a copy of the version remains in Lambda until no functions
1412// refer to it.
1413//
1414// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1415// with awserr.Error's Code and Message methods to get detailed information about
1416// the error.
1417//
1418// See the AWS API reference guide for AWS Lambda's
1419// API operation DeleteLayerVersion for usage and error information.
1420//
1421// Returned Error Types:
1422//   * ServiceException
1423//   The Lambda service encountered an internal error.
1424//
1425//   * TooManyRequestsException
1426//   The request throughput limit was exceeded.
1427//
1428// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/DeleteLayerVersion
1429func (c *Lambda) DeleteLayerVersion(input *DeleteLayerVersionInput) (*DeleteLayerVersionOutput, error) {
1430	req, out := c.DeleteLayerVersionRequest(input)
1431	return out, req.Send()
1432}
1433
1434// DeleteLayerVersionWithContext is the same as DeleteLayerVersion with the addition of
1435// the ability to pass a context and additional request options.
1436//
1437// See DeleteLayerVersion for details on how to use this API operation.
1438//
1439// The context must be non-nil and will be used for request cancellation. If
1440// the context is nil a panic will occur. In the future the SDK may create
1441// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1442// for more information on using Contexts.
1443func (c *Lambda) DeleteLayerVersionWithContext(ctx aws.Context, input *DeleteLayerVersionInput, opts ...request.Option) (*DeleteLayerVersionOutput, error) {
1444	req, out := c.DeleteLayerVersionRequest(input)
1445	req.SetContext(ctx)
1446	req.ApplyOptions(opts...)
1447	return out, req.Send()
1448}
1449
1450const opDeleteProvisionedConcurrencyConfig = "DeleteProvisionedConcurrencyConfig"
1451
1452// DeleteProvisionedConcurrencyConfigRequest generates a "aws/request.Request" representing the
1453// client's request for the DeleteProvisionedConcurrencyConfig operation. The "output" return
1454// value will be populated with the request's response once the request completes
1455// successfully.
1456//
1457// Use "Send" method on the returned Request to send the API call to the service.
1458// the "output" return value is not valid until after Send returns without error.
1459//
1460// See DeleteProvisionedConcurrencyConfig for more information on using the DeleteProvisionedConcurrencyConfig
1461// API call, and error handling.
1462//
1463// This method is useful when you want to inject custom logic or configuration
1464// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1465//
1466//
1467//    // Example sending a request using the DeleteProvisionedConcurrencyConfigRequest method.
1468//    req, resp := client.DeleteProvisionedConcurrencyConfigRequest(params)
1469//
1470//    err := req.Send()
1471//    if err == nil { // resp is now filled
1472//        fmt.Println(resp)
1473//    }
1474//
1475// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/DeleteProvisionedConcurrencyConfig
1476func (c *Lambda) DeleteProvisionedConcurrencyConfigRequest(input *DeleteProvisionedConcurrencyConfigInput) (req *request.Request, output *DeleteProvisionedConcurrencyConfigOutput) {
1477	op := &request.Operation{
1478		Name:       opDeleteProvisionedConcurrencyConfig,
1479		HTTPMethod: "DELETE",
1480		HTTPPath:   "/2019-09-30/functions/{FunctionName}/provisioned-concurrency",
1481	}
1482
1483	if input == nil {
1484		input = &DeleteProvisionedConcurrencyConfigInput{}
1485	}
1486
1487	output = &DeleteProvisionedConcurrencyConfigOutput{}
1488	req = c.newRequest(op, input, output)
1489	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1490	return
1491}
1492
1493// DeleteProvisionedConcurrencyConfig API operation for AWS Lambda.
1494//
1495// Deletes the provisioned concurrency configuration for a function.
1496//
1497// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1498// with awserr.Error's Code and Message methods to get detailed information about
1499// the error.
1500//
1501// See the AWS API reference guide for AWS Lambda's
1502// API operation DeleteProvisionedConcurrencyConfig for usage and error information.
1503//
1504// Returned Error Types:
1505//   * InvalidParameterValueException
1506//   One of the parameters in the request is invalid.
1507//
1508//   * ResourceConflictException
1509//   The resource already exists, or another operation is in progress.
1510//
1511//   * ResourceNotFoundException
1512//   The resource specified in the request does not exist.
1513//
1514//   * TooManyRequestsException
1515//   The request throughput limit was exceeded.
1516//
1517//   * ServiceException
1518//   The Lambda service encountered an internal error.
1519//
1520// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/DeleteProvisionedConcurrencyConfig
1521func (c *Lambda) DeleteProvisionedConcurrencyConfig(input *DeleteProvisionedConcurrencyConfigInput) (*DeleteProvisionedConcurrencyConfigOutput, error) {
1522	req, out := c.DeleteProvisionedConcurrencyConfigRequest(input)
1523	return out, req.Send()
1524}
1525
1526// DeleteProvisionedConcurrencyConfigWithContext is the same as DeleteProvisionedConcurrencyConfig with the addition of
1527// the ability to pass a context and additional request options.
1528//
1529// See DeleteProvisionedConcurrencyConfig for details on how to use this API operation.
1530//
1531// The context must be non-nil and will be used for request cancellation. If
1532// the context is nil a panic will occur. In the future the SDK may create
1533// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1534// for more information on using Contexts.
1535func (c *Lambda) DeleteProvisionedConcurrencyConfigWithContext(ctx aws.Context, input *DeleteProvisionedConcurrencyConfigInput, opts ...request.Option) (*DeleteProvisionedConcurrencyConfigOutput, error) {
1536	req, out := c.DeleteProvisionedConcurrencyConfigRequest(input)
1537	req.SetContext(ctx)
1538	req.ApplyOptions(opts...)
1539	return out, req.Send()
1540}
1541
1542const opGetAccountSettings = "GetAccountSettings"
1543
1544// GetAccountSettingsRequest generates a "aws/request.Request" representing the
1545// client's request for the GetAccountSettings operation. The "output" return
1546// value will be populated with the request's response once the request completes
1547// successfully.
1548//
1549// Use "Send" method on the returned Request to send the API call to the service.
1550// the "output" return value is not valid until after Send returns without error.
1551//
1552// See GetAccountSettings for more information on using the GetAccountSettings
1553// API call, and error handling.
1554//
1555// This method is useful when you want to inject custom logic or configuration
1556// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1557//
1558//
1559//    // Example sending a request using the GetAccountSettingsRequest method.
1560//    req, resp := client.GetAccountSettingsRequest(params)
1561//
1562//    err := req.Send()
1563//    if err == nil { // resp is now filled
1564//        fmt.Println(resp)
1565//    }
1566//
1567// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetAccountSettings
1568func (c *Lambda) GetAccountSettingsRequest(input *GetAccountSettingsInput) (req *request.Request, output *GetAccountSettingsOutput) {
1569	op := &request.Operation{
1570		Name:       opGetAccountSettings,
1571		HTTPMethod: "GET",
1572		HTTPPath:   "/2016-08-19/account-settings/",
1573	}
1574
1575	if input == nil {
1576		input = &GetAccountSettingsInput{}
1577	}
1578
1579	output = &GetAccountSettingsOutput{}
1580	req = c.newRequest(op, input, output)
1581	return
1582}
1583
1584// GetAccountSettings API operation for AWS Lambda.
1585//
1586// Retrieves details about your account's limits (https://docs.aws.amazon.com/lambda/latest/dg/limits.html)
1587// and usage in an Amazon Web Services Region.
1588//
1589// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1590// with awserr.Error's Code and Message methods to get detailed information about
1591// the error.
1592//
1593// See the AWS API reference guide for AWS Lambda's
1594// API operation GetAccountSettings for usage and error information.
1595//
1596// Returned Error Types:
1597//   * TooManyRequestsException
1598//   The request throughput limit was exceeded.
1599//
1600//   * ServiceException
1601//   The Lambda service encountered an internal error.
1602//
1603// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetAccountSettings
1604func (c *Lambda) GetAccountSettings(input *GetAccountSettingsInput) (*GetAccountSettingsOutput, error) {
1605	req, out := c.GetAccountSettingsRequest(input)
1606	return out, req.Send()
1607}
1608
1609// GetAccountSettingsWithContext is the same as GetAccountSettings with the addition of
1610// the ability to pass a context and additional request options.
1611//
1612// See GetAccountSettings for details on how to use this API operation.
1613//
1614// The context must be non-nil and will be used for request cancellation. If
1615// the context is nil a panic will occur. In the future the SDK may create
1616// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1617// for more information on using Contexts.
1618func (c *Lambda) GetAccountSettingsWithContext(ctx aws.Context, input *GetAccountSettingsInput, opts ...request.Option) (*GetAccountSettingsOutput, error) {
1619	req, out := c.GetAccountSettingsRequest(input)
1620	req.SetContext(ctx)
1621	req.ApplyOptions(opts...)
1622	return out, req.Send()
1623}
1624
1625const opGetAlias = "GetAlias"
1626
1627// GetAliasRequest generates a "aws/request.Request" representing the
1628// client's request for the GetAlias operation. The "output" return
1629// value will be populated with the request's response once the request completes
1630// successfully.
1631//
1632// Use "Send" method on the returned Request to send the API call to the service.
1633// the "output" return value is not valid until after Send returns without error.
1634//
1635// See GetAlias for more information on using the GetAlias
1636// API call, and error handling.
1637//
1638// This method is useful when you want to inject custom logic or configuration
1639// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1640//
1641//
1642//    // Example sending a request using the GetAliasRequest method.
1643//    req, resp := client.GetAliasRequest(params)
1644//
1645//    err := req.Send()
1646//    if err == nil { // resp is now filled
1647//        fmt.Println(resp)
1648//    }
1649//
1650// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetAlias
1651func (c *Lambda) GetAliasRequest(input *GetAliasInput) (req *request.Request, output *AliasConfiguration) {
1652	op := &request.Operation{
1653		Name:       opGetAlias,
1654		HTTPMethod: "GET",
1655		HTTPPath:   "/2015-03-31/functions/{FunctionName}/aliases/{Name}",
1656	}
1657
1658	if input == nil {
1659		input = &GetAliasInput{}
1660	}
1661
1662	output = &AliasConfiguration{}
1663	req = c.newRequest(op, input, output)
1664	return
1665}
1666
1667// GetAlias API operation for AWS Lambda.
1668//
1669// Returns details about a Lambda function alias (https://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html).
1670//
1671// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1672// with awserr.Error's Code and Message methods to get detailed information about
1673// the error.
1674//
1675// See the AWS API reference guide for AWS Lambda's
1676// API operation GetAlias for usage and error information.
1677//
1678// Returned Error Types:
1679//   * ServiceException
1680//   The Lambda service encountered an internal error.
1681//
1682//   * ResourceNotFoundException
1683//   The resource specified in the request does not exist.
1684//
1685//   * InvalidParameterValueException
1686//   One of the parameters in the request is invalid.
1687//
1688//   * TooManyRequestsException
1689//   The request throughput limit was exceeded.
1690//
1691// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetAlias
1692func (c *Lambda) GetAlias(input *GetAliasInput) (*AliasConfiguration, error) {
1693	req, out := c.GetAliasRequest(input)
1694	return out, req.Send()
1695}
1696
1697// GetAliasWithContext is the same as GetAlias with the addition of
1698// the ability to pass a context and additional request options.
1699//
1700// See GetAlias for details on how to use this API operation.
1701//
1702// The context must be non-nil and will be used for request cancellation. If
1703// the context is nil a panic will occur. In the future the SDK may create
1704// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1705// for more information on using Contexts.
1706func (c *Lambda) GetAliasWithContext(ctx aws.Context, input *GetAliasInput, opts ...request.Option) (*AliasConfiguration, error) {
1707	req, out := c.GetAliasRequest(input)
1708	req.SetContext(ctx)
1709	req.ApplyOptions(opts...)
1710	return out, req.Send()
1711}
1712
1713const opGetCodeSigningConfig = "GetCodeSigningConfig"
1714
1715// GetCodeSigningConfigRequest generates a "aws/request.Request" representing the
1716// client's request for the GetCodeSigningConfig operation. The "output" return
1717// value will be populated with the request's response once the request completes
1718// successfully.
1719//
1720// Use "Send" method on the returned Request to send the API call to the service.
1721// the "output" return value is not valid until after Send returns without error.
1722//
1723// See GetCodeSigningConfig for more information on using the GetCodeSigningConfig
1724// API call, and error handling.
1725//
1726// This method is useful when you want to inject custom logic or configuration
1727// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1728//
1729//
1730//    // Example sending a request using the GetCodeSigningConfigRequest method.
1731//    req, resp := client.GetCodeSigningConfigRequest(params)
1732//
1733//    err := req.Send()
1734//    if err == nil { // resp is now filled
1735//        fmt.Println(resp)
1736//    }
1737//
1738// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetCodeSigningConfig
1739func (c *Lambda) GetCodeSigningConfigRequest(input *GetCodeSigningConfigInput) (req *request.Request, output *GetCodeSigningConfigOutput) {
1740	op := &request.Operation{
1741		Name:       opGetCodeSigningConfig,
1742		HTTPMethod: "GET",
1743		HTTPPath:   "/2020-04-22/code-signing-configs/{CodeSigningConfigArn}",
1744	}
1745
1746	if input == nil {
1747		input = &GetCodeSigningConfigInput{}
1748	}
1749
1750	output = &GetCodeSigningConfigOutput{}
1751	req = c.newRequest(op, input, output)
1752	return
1753}
1754
1755// GetCodeSigningConfig API operation for AWS Lambda.
1756//
1757// Returns information about the specified code signing configuration.
1758//
1759// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1760// with awserr.Error's Code and Message methods to get detailed information about
1761// the error.
1762//
1763// See the AWS API reference guide for AWS Lambda's
1764// API operation GetCodeSigningConfig for usage and error information.
1765//
1766// Returned Error Types:
1767//   * ServiceException
1768//   The Lambda service encountered an internal error.
1769//
1770//   * InvalidParameterValueException
1771//   One of the parameters in the request is invalid.
1772//
1773//   * ResourceNotFoundException
1774//   The resource specified in the request does not exist.
1775//
1776// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetCodeSigningConfig
1777func (c *Lambda) GetCodeSigningConfig(input *GetCodeSigningConfigInput) (*GetCodeSigningConfigOutput, error) {
1778	req, out := c.GetCodeSigningConfigRequest(input)
1779	return out, req.Send()
1780}
1781
1782// GetCodeSigningConfigWithContext is the same as GetCodeSigningConfig with the addition of
1783// the ability to pass a context and additional request options.
1784//
1785// See GetCodeSigningConfig for details on how to use this API operation.
1786//
1787// The context must be non-nil and will be used for request cancellation. If
1788// the context is nil a panic will occur. In the future the SDK may create
1789// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1790// for more information on using Contexts.
1791func (c *Lambda) GetCodeSigningConfigWithContext(ctx aws.Context, input *GetCodeSigningConfigInput, opts ...request.Option) (*GetCodeSigningConfigOutput, error) {
1792	req, out := c.GetCodeSigningConfigRequest(input)
1793	req.SetContext(ctx)
1794	req.ApplyOptions(opts...)
1795	return out, req.Send()
1796}
1797
1798const opGetEventSourceMapping = "GetEventSourceMapping"
1799
1800// GetEventSourceMappingRequest generates a "aws/request.Request" representing the
1801// client's request for the GetEventSourceMapping operation. The "output" return
1802// value will be populated with the request's response once the request completes
1803// successfully.
1804//
1805// Use "Send" method on the returned Request to send the API call to the service.
1806// the "output" return value is not valid until after Send returns without error.
1807//
1808// See GetEventSourceMapping for more information on using the GetEventSourceMapping
1809// API call, and error handling.
1810//
1811// This method is useful when you want to inject custom logic or configuration
1812// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1813//
1814//
1815//    // Example sending a request using the GetEventSourceMappingRequest method.
1816//    req, resp := client.GetEventSourceMappingRequest(params)
1817//
1818//    err := req.Send()
1819//    if err == nil { // resp is now filled
1820//        fmt.Println(resp)
1821//    }
1822//
1823// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetEventSourceMapping
1824func (c *Lambda) GetEventSourceMappingRequest(input *GetEventSourceMappingInput) (req *request.Request, output *EventSourceMappingConfiguration) {
1825	op := &request.Operation{
1826		Name:       opGetEventSourceMapping,
1827		HTTPMethod: "GET",
1828		HTTPPath:   "/2015-03-31/event-source-mappings/{UUID}",
1829	}
1830
1831	if input == nil {
1832		input = &GetEventSourceMappingInput{}
1833	}
1834
1835	output = &EventSourceMappingConfiguration{}
1836	req = c.newRequest(op, input, output)
1837	return
1838}
1839
1840// GetEventSourceMapping API operation for AWS Lambda.
1841//
1842// Returns details about an event source mapping. You can get the identifier
1843// of a mapping from the output of ListEventSourceMappings.
1844//
1845// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1846// with awserr.Error's Code and Message methods to get detailed information about
1847// the error.
1848//
1849// See the AWS API reference guide for AWS Lambda's
1850// API operation GetEventSourceMapping for usage and error information.
1851//
1852// Returned Error Types:
1853//   * ServiceException
1854//   The Lambda service encountered an internal error.
1855//
1856//   * ResourceNotFoundException
1857//   The resource specified in the request does not exist.
1858//
1859//   * InvalidParameterValueException
1860//   One of the parameters in the request is invalid.
1861//
1862//   * TooManyRequestsException
1863//   The request throughput limit was exceeded.
1864//
1865// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetEventSourceMapping
1866func (c *Lambda) GetEventSourceMapping(input *GetEventSourceMappingInput) (*EventSourceMappingConfiguration, error) {
1867	req, out := c.GetEventSourceMappingRequest(input)
1868	return out, req.Send()
1869}
1870
1871// GetEventSourceMappingWithContext is the same as GetEventSourceMapping with the addition of
1872// the ability to pass a context and additional request options.
1873//
1874// See GetEventSourceMapping for details on how to use this API operation.
1875//
1876// The context must be non-nil and will be used for request cancellation. If
1877// the context is nil a panic will occur. In the future the SDK may create
1878// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1879// for more information on using Contexts.
1880func (c *Lambda) GetEventSourceMappingWithContext(ctx aws.Context, input *GetEventSourceMappingInput, opts ...request.Option) (*EventSourceMappingConfiguration, error) {
1881	req, out := c.GetEventSourceMappingRequest(input)
1882	req.SetContext(ctx)
1883	req.ApplyOptions(opts...)
1884	return out, req.Send()
1885}
1886
1887const opGetFunction = "GetFunction"
1888
1889// GetFunctionRequest generates a "aws/request.Request" representing the
1890// client's request for the GetFunction operation. The "output" return
1891// value will be populated with the request's response once the request completes
1892// successfully.
1893//
1894// Use "Send" method on the returned Request to send the API call to the service.
1895// the "output" return value is not valid until after Send returns without error.
1896//
1897// See GetFunction for more information on using the GetFunction
1898// API call, and error handling.
1899//
1900// This method is useful when you want to inject custom logic or configuration
1901// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1902//
1903//
1904//    // Example sending a request using the GetFunctionRequest method.
1905//    req, resp := client.GetFunctionRequest(params)
1906//
1907//    err := req.Send()
1908//    if err == nil { // resp is now filled
1909//        fmt.Println(resp)
1910//    }
1911//
1912// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetFunction
1913func (c *Lambda) GetFunctionRequest(input *GetFunctionInput) (req *request.Request, output *GetFunctionOutput) {
1914	op := &request.Operation{
1915		Name:       opGetFunction,
1916		HTTPMethod: "GET",
1917		HTTPPath:   "/2015-03-31/functions/{FunctionName}",
1918	}
1919
1920	if input == nil {
1921		input = &GetFunctionInput{}
1922	}
1923
1924	output = &GetFunctionOutput{}
1925	req = c.newRequest(op, input, output)
1926	return
1927}
1928
1929// GetFunction API operation for AWS Lambda.
1930//
1931// Returns information about the function or function version, with a link to
1932// download the deployment package that's valid for 10 minutes. If you specify
1933// a function version, only details that are specific to that version are returned.
1934//
1935// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1936// with awserr.Error's Code and Message methods to get detailed information about
1937// the error.
1938//
1939// See the AWS API reference guide for AWS Lambda's
1940// API operation GetFunction for usage and error information.
1941//
1942// Returned Error Types:
1943//   * ServiceException
1944//   The Lambda service encountered an internal error.
1945//
1946//   * ResourceNotFoundException
1947//   The resource specified in the request does not exist.
1948//
1949//   * TooManyRequestsException
1950//   The request throughput limit was exceeded.
1951//
1952//   * InvalidParameterValueException
1953//   One of the parameters in the request is invalid.
1954//
1955// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetFunction
1956func (c *Lambda) GetFunction(input *GetFunctionInput) (*GetFunctionOutput, error) {
1957	req, out := c.GetFunctionRequest(input)
1958	return out, req.Send()
1959}
1960
1961// GetFunctionWithContext is the same as GetFunction with the addition of
1962// the ability to pass a context and additional request options.
1963//
1964// See GetFunction for details on how to use this API operation.
1965//
1966// The context must be non-nil and will be used for request cancellation. If
1967// the context is nil a panic will occur. In the future the SDK may create
1968// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1969// for more information on using Contexts.
1970func (c *Lambda) GetFunctionWithContext(ctx aws.Context, input *GetFunctionInput, opts ...request.Option) (*GetFunctionOutput, error) {
1971	req, out := c.GetFunctionRequest(input)
1972	req.SetContext(ctx)
1973	req.ApplyOptions(opts...)
1974	return out, req.Send()
1975}
1976
1977const opGetFunctionCodeSigningConfig = "GetFunctionCodeSigningConfig"
1978
1979// GetFunctionCodeSigningConfigRequest generates a "aws/request.Request" representing the
1980// client's request for the GetFunctionCodeSigningConfig operation. The "output" return
1981// value will be populated with the request's response once the request completes
1982// successfully.
1983//
1984// Use "Send" method on the returned Request to send the API call to the service.
1985// the "output" return value is not valid until after Send returns without error.
1986//
1987// See GetFunctionCodeSigningConfig for more information on using the GetFunctionCodeSigningConfig
1988// API call, and error handling.
1989//
1990// This method is useful when you want to inject custom logic or configuration
1991// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1992//
1993//
1994//    // Example sending a request using the GetFunctionCodeSigningConfigRequest method.
1995//    req, resp := client.GetFunctionCodeSigningConfigRequest(params)
1996//
1997//    err := req.Send()
1998//    if err == nil { // resp is now filled
1999//        fmt.Println(resp)
2000//    }
2001//
2002// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetFunctionCodeSigningConfig
2003func (c *Lambda) GetFunctionCodeSigningConfigRequest(input *GetFunctionCodeSigningConfigInput) (req *request.Request, output *GetFunctionCodeSigningConfigOutput) {
2004	op := &request.Operation{
2005		Name:       opGetFunctionCodeSigningConfig,
2006		HTTPMethod: "GET",
2007		HTTPPath:   "/2020-06-30/functions/{FunctionName}/code-signing-config",
2008	}
2009
2010	if input == nil {
2011		input = &GetFunctionCodeSigningConfigInput{}
2012	}
2013
2014	output = &GetFunctionCodeSigningConfigOutput{}
2015	req = c.newRequest(op, input, output)
2016	return
2017}
2018
2019// GetFunctionCodeSigningConfig API operation for AWS Lambda.
2020//
2021// Returns the code signing configuration for the specified function.
2022//
2023// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2024// with awserr.Error's Code and Message methods to get detailed information about
2025// the error.
2026//
2027// See the AWS API reference guide for AWS Lambda's
2028// API operation GetFunctionCodeSigningConfig for usage and error information.
2029//
2030// Returned Error Types:
2031//   * InvalidParameterValueException
2032//   One of the parameters in the request is invalid.
2033//
2034//   * ResourceNotFoundException
2035//   The resource specified in the request does not exist.
2036//
2037//   * ServiceException
2038//   The Lambda service encountered an internal error.
2039//
2040//   * TooManyRequestsException
2041//   The request throughput limit was exceeded.
2042//
2043// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetFunctionCodeSigningConfig
2044func (c *Lambda) GetFunctionCodeSigningConfig(input *GetFunctionCodeSigningConfigInput) (*GetFunctionCodeSigningConfigOutput, error) {
2045	req, out := c.GetFunctionCodeSigningConfigRequest(input)
2046	return out, req.Send()
2047}
2048
2049// GetFunctionCodeSigningConfigWithContext is the same as GetFunctionCodeSigningConfig with the addition of
2050// the ability to pass a context and additional request options.
2051//
2052// See GetFunctionCodeSigningConfig for details on how to use this API operation.
2053//
2054// The context must be non-nil and will be used for request cancellation. If
2055// the context is nil a panic will occur. In the future the SDK may create
2056// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2057// for more information on using Contexts.
2058func (c *Lambda) GetFunctionCodeSigningConfigWithContext(ctx aws.Context, input *GetFunctionCodeSigningConfigInput, opts ...request.Option) (*GetFunctionCodeSigningConfigOutput, error) {
2059	req, out := c.GetFunctionCodeSigningConfigRequest(input)
2060	req.SetContext(ctx)
2061	req.ApplyOptions(opts...)
2062	return out, req.Send()
2063}
2064
2065const opGetFunctionConcurrency = "GetFunctionConcurrency"
2066
2067// GetFunctionConcurrencyRequest generates a "aws/request.Request" representing the
2068// client's request for the GetFunctionConcurrency operation. The "output" return
2069// value will be populated with the request's response once the request completes
2070// successfully.
2071//
2072// Use "Send" method on the returned Request to send the API call to the service.
2073// the "output" return value is not valid until after Send returns without error.
2074//
2075// See GetFunctionConcurrency for more information on using the GetFunctionConcurrency
2076// API call, and error handling.
2077//
2078// This method is useful when you want to inject custom logic or configuration
2079// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2080//
2081//
2082//    // Example sending a request using the GetFunctionConcurrencyRequest method.
2083//    req, resp := client.GetFunctionConcurrencyRequest(params)
2084//
2085//    err := req.Send()
2086//    if err == nil { // resp is now filled
2087//        fmt.Println(resp)
2088//    }
2089//
2090// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetFunctionConcurrency
2091func (c *Lambda) GetFunctionConcurrencyRequest(input *GetFunctionConcurrencyInput) (req *request.Request, output *GetFunctionConcurrencyOutput) {
2092	op := &request.Operation{
2093		Name:       opGetFunctionConcurrency,
2094		HTTPMethod: "GET",
2095		HTTPPath:   "/2019-09-30/functions/{FunctionName}/concurrency",
2096	}
2097
2098	if input == nil {
2099		input = &GetFunctionConcurrencyInput{}
2100	}
2101
2102	output = &GetFunctionConcurrencyOutput{}
2103	req = c.newRequest(op, input, output)
2104	return
2105}
2106
2107// GetFunctionConcurrency API operation for AWS Lambda.
2108//
2109// Returns details about the reserved concurrency configuration for a function.
2110// To set a concurrency limit for a function, use PutFunctionConcurrency.
2111//
2112// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2113// with awserr.Error's Code and Message methods to get detailed information about
2114// the error.
2115//
2116// See the AWS API reference guide for AWS Lambda's
2117// API operation GetFunctionConcurrency for usage and error information.
2118//
2119// Returned Error Types:
2120//   * InvalidParameterValueException
2121//   One of the parameters in the request is invalid.
2122//
2123//   * ResourceNotFoundException
2124//   The resource specified in the request does not exist.
2125//
2126//   * TooManyRequestsException
2127//   The request throughput limit was exceeded.
2128//
2129//   * ServiceException
2130//   The Lambda service encountered an internal error.
2131//
2132// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetFunctionConcurrency
2133func (c *Lambda) GetFunctionConcurrency(input *GetFunctionConcurrencyInput) (*GetFunctionConcurrencyOutput, error) {
2134	req, out := c.GetFunctionConcurrencyRequest(input)
2135	return out, req.Send()
2136}
2137
2138// GetFunctionConcurrencyWithContext is the same as GetFunctionConcurrency with the addition of
2139// the ability to pass a context and additional request options.
2140//
2141// See GetFunctionConcurrency for details on how to use this API operation.
2142//
2143// The context must be non-nil and will be used for request cancellation. If
2144// the context is nil a panic will occur. In the future the SDK may create
2145// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2146// for more information on using Contexts.
2147func (c *Lambda) GetFunctionConcurrencyWithContext(ctx aws.Context, input *GetFunctionConcurrencyInput, opts ...request.Option) (*GetFunctionConcurrencyOutput, error) {
2148	req, out := c.GetFunctionConcurrencyRequest(input)
2149	req.SetContext(ctx)
2150	req.ApplyOptions(opts...)
2151	return out, req.Send()
2152}
2153
2154const opGetFunctionConfiguration = "GetFunctionConfiguration"
2155
2156// GetFunctionConfigurationRequest generates a "aws/request.Request" representing the
2157// client's request for the GetFunctionConfiguration operation. The "output" return
2158// value will be populated with the request's response once the request completes
2159// successfully.
2160//
2161// Use "Send" method on the returned Request to send the API call to the service.
2162// the "output" return value is not valid until after Send returns without error.
2163//
2164// See GetFunctionConfiguration for more information on using the GetFunctionConfiguration
2165// API call, and error handling.
2166//
2167// This method is useful when you want to inject custom logic or configuration
2168// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2169//
2170//
2171//    // Example sending a request using the GetFunctionConfigurationRequest method.
2172//    req, resp := client.GetFunctionConfigurationRequest(params)
2173//
2174//    err := req.Send()
2175//    if err == nil { // resp is now filled
2176//        fmt.Println(resp)
2177//    }
2178//
2179// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetFunctionConfiguration
2180func (c *Lambda) GetFunctionConfigurationRequest(input *GetFunctionConfigurationInput) (req *request.Request, output *FunctionConfiguration) {
2181	op := &request.Operation{
2182		Name:       opGetFunctionConfiguration,
2183		HTTPMethod: "GET",
2184		HTTPPath:   "/2015-03-31/functions/{FunctionName}/configuration",
2185	}
2186
2187	if input == nil {
2188		input = &GetFunctionConfigurationInput{}
2189	}
2190
2191	output = &FunctionConfiguration{}
2192	req = c.newRequest(op, input, output)
2193	return
2194}
2195
2196// GetFunctionConfiguration API operation for AWS Lambda.
2197//
2198// Returns the version-specific settings of a Lambda function or version. The
2199// output includes only options that can vary between versions of a function.
2200// To modify these settings, use UpdateFunctionConfiguration.
2201//
2202// To get all of a function's details, including function-level settings, use
2203// GetFunction.
2204//
2205// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2206// with awserr.Error's Code and Message methods to get detailed information about
2207// the error.
2208//
2209// See the AWS API reference guide for AWS Lambda's
2210// API operation GetFunctionConfiguration for usage and error information.
2211//
2212// Returned Error Types:
2213//   * ServiceException
2214//   The Lambda service encountered an internal error.
2215//
2216//   * ResourceNotFoundException
2217//   The resource specified in the request does not exist.
2218//
2219//   * TooManyRequestsException
2220//   The request throughput limit was exceeded.
2221//
2222//   * InvalidParameterValueException
2223//   One of the parameters in the request is invalid.
2224//
2225// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetFunctionConfiguration
2226func (c *Lambda) GetFunctionConfiguration(input *GetFunctionConfigurationInput) (*FunctionConfiguration, error) {
2227	req, out := c.GetFunctionConfigurationRequest(input)
2228	return out, req.Send()
2229}
2230
2231// GetFunctionConfigurationWithContext is the same as GetFunctionConfiguration with the addition of
2232// the ability to pass a context and additional request options.
2233//
2234// See GetFunctionConfiguration for details on how to use this API operation.
2235//
2236// The context must be non-nil and will be used for request cancellation. If
2237// the context is nil a panic will occur. In the future the SDK may create
2238// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2239// for more information on using Contexts.
2240func (c *Lambda) GetFunctionConfigurationWithContext(ctx aws.Context, input *GetFunctionConfigurationInput, opts ...request.Option) (*FunctionConfiguration, error) {
2241	req, out := c.GetFunctionConfigurationRequest(input)
2242	req.SetContext(ctx)
2243	req.ApplyOptions(opts...)
2244	return out, req.Send()
2245}
2246
2247const opGetFunctionEventInvokeConfig = "GetFunctionEventInvokeConfig"
2248
2249// GetFunctionEventInvokeConfigRequest generates a "aws/request.Request" representing the
2250// client's request for the GetFunctionEventInvokeConfig operation. The "output" return
2251// value will be populated with the request's response once the request completes
2252// successfully.
2253//
2254// Use "Send" method on the returned Request to send the API call to the service.
2255// the "output" return value is not valid until after Send returns without error.
2256//
2257// See GetFunctionEventInvokeConfig for more information on using the GetFunctionEventInvokeConfig
2258// API call, and error handling.
2259//
2260// This method is useful when you want to inject custom logic or configuration
2261// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2262//
2263//
2264//    // Example sending a request using the GetFunctionEventInvokeConfigRequest method.
2265//    req, resp := client.GetFunctionEventInvokeConfigRequest(params)
2266//
2267//    err := req.Send()
2268//    if err == nil { // resp is now filled
2269//        fmt.Println(resp)
2270//    }
2271//
2272// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetFunctionEventInvokeConfig
2273func (c *Lambda) GetFunctionEventInvokeConfigRequest(input *GetFunctionEventInvokeConfigInput) (req *request.Request, output *GetFunctionEventInvokeConfigOutput) {
2274	op := &request.Operation{
2275		Name:       opGetFunctionEventInvokeConfig,
2276		HTTPMethod: "GET",
2277		HTTPPath:   "/2019-09-25/functions/{FunctionName}/event-invoke-config",
2278	}
2279
2280	if input == nil {
2281		input = &GetFunctionEventInvokeConfigInput{}
2282	}
2283
2284	output = &GetFunctionEventInvokeConfigOutput{}
2285	req = c.newRequest(op, input, output)
2286	return
2287}
2288
2289// GetFunctionEventInvokeConfig API operation for AWS Lambda.
2290//
2291// Retrieves the configuration for asynchronous invocation for a function, version,
2292// or alias.
2293//
2294// To configure options for asynchronous invocation, use PutFunctionEventInvokeConfig.
2295//
2296// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2297// with awserr.Error's Code and Message methods to get detailed information about
2298// the error.
2299//
2300// See the AWS API reference guide for AWS Lambda's
2301// API operation GetFunctionEventInvokeConfig for usage and error information.
2302//
2303// Returned Error Types:
2304//   * ServiceException
2305//   The Lambda service encountered an internal error.
2306//
2307//   * ResourceNotFoundException
2308//   The resource specified in the request does not exist.
2309//
2310//   * InvalidParameterValueException
2311//   One of the parameters in the request is invalid.
2312//
2313//   * TooManyRequestsException
2314//   The request throughput limit was exceeded.
2315//
2316// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetFunctionEventInvokeConfig
2317func (c *Lambda) GetFunctionEventInvokeConfig(input *GetFunctionEventInvokeConfigInput) (*GetFunctionEventInvokeConfigOutput, error) {
2318	req, out := c.GetFunctionEventInvokeConfigRequest(input)
2319	return out, req.Send()
2320}
2321
2322// GetFunctionEventInvokeConfigWithContext is the same as GetFunctionEventInvokeConfig with the addition of
2323// the ability to pass a context and additional request options.
2324//
2325// See GetFunctionEventInvokeConfig for details on how to use this API operation.
2326//
2327// The context must be non-nil and will be used for request cancellation. If
2328// the context is nil a panic will occur. In the future the SDK may create
2329// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2330// for more information on using Contexts.
2331func (c *Lambda) GetFunctionEventInvokeConfigWithContext(ctx aws.Context, input *GetFunctionEventInvokeConfigInput, opts ...request.Option) (*GetFunctionEventInvokeConfigOutput, error) {
2332	req, out := c.GetFunctionEventInvokeConfigRequest(input)
2333	req.SetContext(ctx)
2334	req.ApplyOptions(opts...)
2335	return out, req.Send()
2336}
2337
2338const opGetLayerVersion = "GetLayerVersion"
2339
2340// GetLayerVersionRequest generates a "aws/request.Request" representing the
2341// client's request for the GetLayerVersion operation. The "output" return
2342// value will be populated with the request's response once the request completes
2343// successfully.
2344//
2345// Use "Send" method on the returned Request to send the API call to the service.
2346// the "output" return value is not valid until after Send returns without error.
2347//
2348// See GetLayerVersion for more information on using the GetLayerVersion
2349// API call, and error handling.
2350//
2351// This method is useful when you want to inject custom logic or configuration
2352// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2353//
2354//
2355//    // Example sending a request using the GetLayerVersionRequest method.
2356//    req, resp := client.GetLayerVersionRequest(params)
2357//
2358//    err := req.Send()
2359//    if err == nil { // resp is now filled
2360//        fmt.Println(resp)
2361//    }
2362//
2363// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetLayerVersion
2364func (c *Lambda) GetLayerVersionRequest(input *GetLayerVersionInput) (req *request.Request, output *GetLayerVersionOutput) {
2365	op := &request.Operation{
2366		Name:       opGetLayerVersion,
2367		HTTPMethod: "GET",
2368		HTTPPath:   "/2018-10-31/layers/{LayerName}/versions/{VersionNumber}",
2369	}
2370
2371	if input == nil {
2372		input = &GetLayerVersionInput{}
2373	}
2374
2375	output = &GetLayerVersionOutput{}
2376	req = c.newRequest(op, input, output)
2377	return
2378}
2379
2380// GetLayerVersion API operation for AWS Lambda.
2381//
2382// Returns information about a version of an Lambda layer (https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html),
2383// with a link to download the layer archive that's valid for 10 minutes.
2384//
2385// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2386// with awserr.Error's Code and Message methods to get detailed information about
2387// the error.
2388//
2389// See the AWS API reference guide for AWS Lambda's
2390// API operation GetLayerVersion for usage and error information.
2391//
2392// Returned Error Types:
2393//   * ServiceException
2394//   The Lambda service encountered an internal error.
2395//
2396//   * InvalidParameterValueException
2397//   One of the parameters in the request is invalid.
2398//
2399//   * TooManyRequestsException
2400//   The request throughput limit was exceeded.
2401//
2402//   * ResourceNotFoundException
2403//   The resource specified in the request does not exist.
2404//
2405// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetLayerVersion
2406func (c *Lambda) GetLayerVersion(input *GetLayerVersionInput) (*GetLayerVersionOutput, error) {
2407	req, out := c.GetLayerVersionRequest(input)
2408	return out, req.Send()
2409}
2410
2411// GetLayerVersionWithContext is the same as GetLayerVersion with the addition of
2412// the ability to pass a context and additional request options.
2413//
2414// See GetLayerVersion for details on how to use this API operation.
2415//
2416// The context must be non-nil and will be used for request cancellation. If
2417// the context is nil a panic will occur. In the future the SDK may create
2418// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2419// for more information on using Contexts.
2420func (c *Lambda) GetLayerVersionWithContext(ctx aws.Context, input *GetLayerVersionInput, opts ...request.Option) (*GetLayerVersionOutput, error) {
2421	req, out := c.GetLayerVersionRequest(input)
2422	req.SetContext(ctx)
2423	req.ApplyOptions(opts...)
2424	return out, req.Send()
2425}
2426
2427const opGetLayerVersionByArn = "GetLayerVersionByArn"
2428
2429// GetLayerVersionByArnRequest generates a "aws/request.Request" representing the
2430// client's request for the GetLayerVersionByArn operation. The "output" return
2431// value will be populated with the request's response once the request completes
2432// successfully.
2433//
2434// Use "Send" method on the returned Request to send the API call to the service.
2435// the "output" return value is not valid until after Send returns without error.
2436//
2437// See GetLayerVersionByArn for more information on using the GetLayerVersionByArn
2438// API call, and error handling.
2439//
2440// This method is useful when you want to inject custom logic or configuration
2441// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2442//
2443//
2444//    // Example sending a request using the GetLayerVersionByArnRequest method.
2445//    req, resp := client.GetLayerVersionByArnRequest(params)
2446//
2447//    err := req.Send()
2448//    if err == nil { // resp is now filled
2449//        fmt.Println(resp)
2450//    }
2451//
2452// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetLayerVersionByArn
2453func (c *Lambda) GetLayerVersionByArnRequest(input *GetLayerVersionByArnInput) (req *request.Request, output *GetLayerVersionByArnOutput) {
2454	op := &request.Operation{
2455		Name:       opGetLayerVersionByArn,
2456		HTTPMethod: "GET",
2457		HTTPPath:   "/2018-10-31/layers?find=LayerVersion",
2458	}
2459
2460	if input == nil {
2461		input = &GetLayerVersionByArnInput{}
2462	}
2463
2464	output = &GetLayerVersionByArnOutput{}
2465	req = c.newRequest(op, input, output)
2466	return
2467}
2468
2469// GetLayerVersionByArn API operation for AWS Lambda.
2470//
2471// Returns information about a version of an Lambda layer (https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html),
2472// with a link to download the layer archive that's valid for 10 minutes.
2473//
2474// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2475// with awserr.Error's Code and Message methods to get detailed information about
2476// the error.
2477//
2478// See the AWS API reference guide for AWS Lambda's
2479// API operation GetLayerVersionByArn for usage and error information.
2480//
2481// Returned Error Types:
2482//   * ServiceException
2483//   The Lambda service encountered an internal error.
2484//
2485//   * InvalidParameterValueException
2486//   One of the parameters in the request is invalid.
2487//
2488//   * TooManyRequestsException
2489//   The request throughput limit was exceeded.
2490//
2491//   * ResourceNotFoundException
2492//   The resource specified in the request does not exist.
2493//
2494// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetLayerVersionByArn
2495func (c *Lambda) GetLayerVersionByArn(input *GetLayerVersionByArnInput) (*GetLayerVersionByArnOutput, error) {
2496	req, out := c.GetLayerVersionByArnRequest(input)
2497	return out, req.Send()
2498}
2499
2500// GetLayerVersionByArnWithContext is the same as GetLayerVersionByArn with the addition of
2501// the ability to pass a context and additional request options.
2502//
2503// See GetLayerVersionByArn for details on how to use this API operation.
2504//
2505// The context must be non-nil and will be used for request cancellation. If
2506// the context is nil a panic will occur. In the future the SDK may create
2507// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2508// for more information on using Contexts.
2509func (c *Lambda) GetLayerVersionByArnWithContext(ctx aws.Context, input *GetLayerVersionByArnInput, opts ...request.Option) (*GetLayerVersionByArnOutput, error) {
2510	req, out := c.GetLayerVersionByArnRequest(input)
2511	req.SetContext(ctx)
2512	req.ApplyOptions(opts...)
2513	return out, req.Send()
2514}
2515
2516const opGetLayerVersionPolicy = "GetLayerVersionPolicy"
2517
2518// GetLayerVersionPolicyRequest generates a "aws/request.Request" representing the
2519// client's request for the GetLayerVersionPolicy operation. The "output" return
2520// value will be populated with the request's response once the request completes
2521// successfully.
2522//
2523// Use "Send" method on the returned Request to send the API call to the service.
2524// the "output" return value is not valid until after Send returns without error.
2525//
2526// See GetLayerVersionPolicy for more information on using the GetLayerVersionPolicy
2527// API call, and error handling.
2528//
2529// This method is useful when you want to inject custom logic or configuration
2530// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2531//
2532//
2533//    // Example sending a request using the GetLayerVersionPolicyRequest method.
2534//    req, resp := client.GetLayerVersionPolicyRequest(params)
2535//
2536//    err := req.Send()
2537//    if err == nil { // resp is now filled
2538//        fmt.Println(resp)
2539//    }
2540//
2541// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetLayerVersionPolicy
2542func (c *Lambda) GetLayerVersionPolicyRequest(input *GetLayerVersionPolicyInput) (req *request.Request, output *GetLayerVersionPolicyOutput) {
2543	op := &request.Operation{
2544		Name:       opGetLayerVersionPolicy,
2545		HTTPMethod: "GET",
2546		HTTPPath:   "/2018-10-31/layers/{LayerName}/versions/{VersionNumber}/policy",
2547	}
2548
2549	if input == nil {
2550		input = &GetLayerVersionPolicyInput{}
2551	}
2552
2553	output = &GetLayerVersionPolicyOutput{}
2554	req = c.newRequest(op, input, output)
2555	return
2556}
2557
2558// GetLayerVersionPolicy API operation for AWS Lambda.
2559//
2560// Returns the permission policy for a version of an Lambda layer (https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html).
2561// For more information, see AddLayerVersionPermission.
2562//
2563// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2564// with awserr.Error's Code and Message methods to get detailed information about
2565// the error.
2566//
2567// See the AWS API reference guide for AWS Lambda's
2568// API operation GetLayerVersionPolicy for usage and error information.
2569//
2570// Returned Error Types:
2571//   * ServiceException
2572//   The Lambda service encountered an internal error.
2573//
2574//   * ResourceNotFoundException
2575//   The resource specified in the request does not exist.
2576//
2577//   * TooManyRequestsException
2578//   The request throughput limit was exceeded.
2579//
2580//   * InvalidParameterValueException
2581//   One of the parameters in the request is invalid.
2582//
2583// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetLayerVersionPolicy
2584func (c *Lambda) GetLayerVersionPolicy(input *GetLayerVersionPolicyInput) (*GetLayerVersionPolicyOutput, error) {
2585	req, out := c.GetLayerVersionPolicyRequest(input)
2586	return out, req.Send()
2587}
2588
2589// GetLayerVersionPolicyWithContext is the same as GetLayerVersionPolicy with the addition of
2590// the ability to pass a context and additional request options.
2591//
2592// See GetLayerVersionPolicy for details on how to use this API operation.
2593//
2594// The context must be non-nil and will be used for request cancellation. If
2595// the context is nil a panic will occur. In the future the SDK may create
2596// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2597// for more information on using Contexts.
2598func (c *Lambda) GetLayerVersionPolicyWithContext(ctx aws.Context, input *GetLayerVersionPolicyInput, opts ...request.Option) (*GetLayerVersionPolicyOutput, error) {
2599	req, out := c.GetLayerVersionPolicyRequest(input)
2600	req.SetContext(ctx)
2601	req.ApplyOptions(opts...)
2602	return out, req.Send()
2603}
2604
2605const opGetPolicy = "GetPolicy"
2606
2607// GetPolicyRequest generates a "aws/request.Request" representing the
2608// client's request for the GetPolicy operation. The "output" return
2609// value will be populated with the request's response once the request completes
2610// successfully.
2611//
2612// Use "Send" method on the returned Request to send the API call to the service.
2613// the "output" return value is not valid until after Send returns without error.
2614//
2615// See GetPolicy for more information on using the GetPolicy
2616// API call, and error handling.
2617//
2618// This method is useful when you want to inject custom logic or configuration
2619// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2620//
2621//
2622//    // Example sending a request using the GetPolicyRequest method.
2623//    req, resp := client.GetPolicyRequest(params)
2624//
2625//    err := req.Send()
2626//    if err == nil { // resp is now filled
2627//        fmt.Println(resp)
2628//    }
2629//
2630// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetPolicy
2631func (c *Lambda) GetPolicyRequest(input *GetPolicyInput) (req *request.Request, output *GetPolicyOutput) {
2632	op := &request.Operation{
2633		Name:       opGetPolicy,
2634		HTTPMethod: "GET",
2635		HTTPPath:   "/2015-03-31/functions/{FunctionName}/policy",
2636	}
2637
2638	if input == nil {
2639		input = &GetPolicyInput{}
2640	}
2641
2642	output = &GetPolicyOutput{}
2643	req = c.newRequest(op, input, output)
2644	return
2645}
2646
2647// GetPolicy API operation for AWS Lambda.
2648//
2649// Returns the resource-based IAM policy (https://docs.aws.amazon.com/lambda/latest/dg/access-control-resource-based.html)
2650// for a function, version, or alias.
2651//
2652// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2653// with awserr.Error's Code and Message methods to get detailed information about
2654// the error.
2655//
2656// See the AWS API reference guide for AWS Lambda's
2657// API operation GetPolicy for usage and error information.
2658//
2659// Returned Error Types:
2660//   * ServiceException
2661//   The Lambda service encountered an internal error.
2662//
2663//   * ResourceNotFoundException
2664//   The resource specified in the request does not exist.
2665//
2666//   * TooManyRequestsException
2667//   The request throughput limit was exceeded.
2668//
2669//   * InvalidParameterValueException
2670//   One of the parameters in the request is invalid.
2671//
2672// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetPolicy
2673func (c *Lambda) GetPolicy(input *GetPolicyInput) (*GetPolicyOutput, error) {
2674	req, out := c.GetPolicyRequest(input)
2675	return out, req.Send()
2676}
2677
2678// GetPolicyWithContext is the same as GetPolicy with the addition of
2679// the ability to pass a context and additional request options.
2680//
2681// See GetPolicy for details on how to use this API operation.
2682//
2683// The context must be non-nil and will be used for request cancellation. If
2684// the context is nil a panic will occur. In the future the SDK may create
2685// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2686// for more information on using Contexts.
2687func (c *Lambda) GetPolicyWithContext(ctx aws.Context, input *GetPolicyInput, opts ...request.Option) (*GetPolicyOutput, error) {
2688	req, out := c.GetPolicyRequest(input)
2689	req.SetContext(ctx)
2690	req.ApplyOptions(opts...)
2691	return out, req.Send()
2692}
2693
2694const opGetProvisionedConcurrencyConfig = "GetProvisionedConcurrencyConfig"
2695
2696// GetProvisionedConcurrencyConfigRequest generates a "aws/request.Request" representing the
2697// client's request for the GetProvisionedConcurrencyConfig operation. The "output" return
2698// value will be populated with the request's response once the request completes
2699// successfully.
2700//
2701// Use "Send" method on the returned Request to send the API call to the service.
2702// the "output" return value is not valid until after Send returns without error.
2703//
2704// See GetProvisionedConcurrencyConfig for more information on using the GetProvisionedConcurrencyConfig
2705// API call, and error handling.
2706//
2707// This method is useful when you want to inject custom logic or configuration
2708// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2709//
2710//
2711//    // Example sending a request using the GetProvisionedConcurrencyConfigRequest method.
2712//    req, resp := client.GetProvisionedConcurrencyConfigRequest(params)
2713//
2714//    err := req.Send()
2715//    if err == nil { // resp is now filled
2716//        fmt.Println(resp)
2717//    }
2718//
2719// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetProvisionedConcurrencyConfig
2720func (c *Lambda) GetProvisionedConcurrencyConfigRequest(input *GetProvisionedConcurrencyConfigInput) (req *request.Request, output *GetProvisionedConcurrencyConfigOutput) {
2721	op := &request.Operation{
2722		Name:       opGetProvisionedConcurrencyConfig,
2723		HTTPMethod: "GET",
2724		HTTPPath:   "/2019-09-30/functions/{FunctionName}/provisioned-concurrency",
2725	}
2726
2727	if input == nil {
2728		input = &GetProvisionedConcurrencyConfigInput{}
2729	}
2730
2731	output = &GetProvisionedConcurrencyConfigOutput{}
2732	req = c.newRequest(op, input, output)
2733	return
2734}
2735
2736// GetProvisionedConcurrencyConfig API operation for AWS Lambda.
2737//
2738// Retrieves the provisioned concurrency configuration for a function's alias
2739// or version.
2740//
2741// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2742// with awserr.Error's Code and Message methods to get detailed information about
2743// the error.
2744//
2745// See the AWS API reference guide for AWS Lambda's
2746// API operation GetProvisionedConcurrencyConfig for usage and error information.
2747//
2748// Returned Error Types:
2749//   * InvalidParameterValueException
2750//   One of the parameters in the request is invalid.
2751//
2752//   * ResourceNotFoundException
2753//   The resource specified in the request does not exist.
2754//
2755//   * TooManyRequestsException
2756//   The request throughput limit was exceeded.
2757//
2758//   * ServiceException
2759//   The Lambda service encountered an internal error.
2760//
2761//   * ProvisionedConcurrencyConfigNotFoundException
2762//   The specified configuration does not exist.
2763//
2764// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetProvisionedConcurrencyConfig
2765func (c *Lambda) GetProvisionedConcurrencyConfig(input *GetProvisionedConcurrencyConfigInput) (*GetProvisionedConcurrencyConfigOutput, error) {
2766	req, out := c.GetProvisionedConcurrencyConfigRequest(input)
2767	return out, req.Send()
2768}
2769
2770// GetProvisionedConcurrencyConfigWithContext is the same as GetProvisionedConcurrencyConfig with the addition of
2771// the ability to pass a context and additional request options.
2772//
2773// See GetProvisionedConcurrencyConfig for details on how to use this API operation.
2774//
2775// The context must be non-nil and will be used for request cancellation. If
2776// the context is nil a panic will occur. In the future the SDK may create
2777// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2778// for more information on using Contexts.
2779func (c *Lambda) GetProvisionedConcurrencyConfigWithContext(ctx aws.Context, input *GetProvisionedConcurrencyConfigInput, opts ...request.Option) (*GetProvisionedConcurrencyConfigOutput, error) {
2780	req, out := c.GetProvisionedConcurrencyConfigRequest(input)
2781	req.SetContext(ctx)
2782	req.ApplyOptions(opts...)
2783	return out, req.Send()
2784}
2785
2786const opInvoke = "Invoke"
2787
2788// InvokeRequest generates a "aws/request.Request" representing the
2789// client's request for the Invoke operation. The "output" return
2790// value will be populated with the request's response once the request completes
2791// successfully.
2792//
2793// Use "Send" method on the returned Request to send the API call to the service.
2794// the "output" return value is not valid until after Send returns without error.
2795//
2796// See Invoke for more information on using the Invoke
2797// API call, and error handling.
2798//
2799// This method is useful when you want to inject custom logic or configuration
2800// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2801//
2802//
2803//    // Example sending a request using the InvokeRequest method.
2804//    req, resp := client.InvokeRequest(params)
2805//
2806//    err := req.Send()
2807//    if err == nil { // resp is now filled
2808//        fmt.Println(resp)
2809//    }
2810//
2811// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/Invoke
2812func (c *Lambda) InvokeRequest(input *InvokeInput) (req *request.Request, output *InvokeOutput) {
2813	op := &request.Operation{
2814		Name:       opInvoke,
2815		HTTPMethod: "POST",
2816		HTTPPath:   "/2015-03-31/functions/{FunctionName}/invocations",
2817	}
2818
2819	if input == nil {
2820		input = &InvokeInput{}
2821	}
2822
2823	output = &InvokeOutput{}
2824	req = c.newRequest(op, input, output)
2825	return
2826}
2827
2828// Invoke API operation for AWS Lambda.
2829//
2830// Invokes a Lambda function. You can invoke a function synchronously (and wait
2831// for the response), or asynchronously. To invoke a function asynchronously,
2832// set InvocationType to Event.
2833//
2834// For synchronous invocation (https://docs.aws.amazon.com/lambda/latest/dg/invocation-sync.html),
2835// details about the function response, including errors, are included in the
2836// response body and headers. For either invocation type, you can find more
2837// information in the execution log (https://docs.aws.amazon.com/lambda/latest/dg/monitoring-functions.html)
2838// and trace (https://docs.aws.amazon.com/lambda/latest/dg/lambda-x-ray.html).
2839//
2840// When an error occurs, your function may be invoked multiple times. Retry
2841// behavior varies by error type, client, event source, and invocation type.
2842// For example, if you invoke a function asynchronously and it returns an error,
2843// Lambda executes the function up to two more times. For more information,
2844// see Retry Behavior (https://docs.aws.amazon.com/lambda/latest/dg/retries-on-errors.html).
2845//
2846// For asynchronous invocation (https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html),
2847// Lambda adds events to a queue before sending them to your function. If your
2848// function does not have enough capacity to keep up with the queue, events
2849// may be lost. Occasionally, your function may receive the same event multiple
2850// times, even if no error occurs. To retain events that were not processed,
2851// configure your function with a dead-letter queue (https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#dlq).
2852//
2853// The status code in the API response doesn't reflect function errors. Error
2854// codes are reserved for errors that prevent your function from executing,
2855// such as permissions errors, limit errors (https://docs.aws.amazon.com/lambda/latest/dg/limits.html),
2856// or issues with your function's code and configuration. For example, Lambda
2857// returns TooManyRequestsException if executing the function would cause you
2858// to exceed a concurrency limit at either the account level (ConcurrentInvocationLimitExceeded)
2859// or function level (ReservedFunctionConcurrentInvocationLimitExceeded).
2860//
2861// For functions with a long timeout, your client might be disconnected during
2862// synchronous invocation while it waits for a response. Configure your HTTP
2863// client, SDK, firewall, proxy, or operating system to allow for long connections
2864// with timeout or keep-alive settings.
2865//
2866// This operation requires permission for the lambda:InvokeFunction (https://docs.aws.amazon.com/IAM/latest/UserGuide/list_awslambda.html)
2867// action.
2868//
2869// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2870// with awserr.Error's Code and Message methods to get detailed information about
2871// the error.
2872//
2873// See the AWS API reference guide for AWS Lambda's
2874// API operation Invoke for usage and error information.
2875//
2876// Returned Error Types:
2877//   * ServiceException
2878//   The Lambda service encountered an internal error.
2879//
2880//   * ResourceNotFoundException
2881//   The resource specified in the request does not exist.
2882//
2883//   * InvalidRequestContentException
2884//   The request body could not be parsed as JSON.
2885//
2886//   * RequestTooLargeException
2887//   The request payload exceeded the Invoke request body JSON input limit. For
2888//   more information, see Limits (https://docs.aws.amazon.com/lambda/latest/dg/limits.html).
2889//
2890//   * UnsupportedMediaTypeException
2891//   The content type of the Invoke request body is not JSON.
2892//
2893//   * TooManyRequestsException
2894//   The request throughput limit was exceeded.
2895//
2896//   * InvalidParameterValueException
2897//   One of the parameters in the request is invalid.
2898//
2899//   * EC2UnexpectedException
2900//   Lambda received an unexpected EC2 client exception while setting up for the
2901//   Lambda function.
2902//
2903//   * SubnetIPAddressLimitReachedException
2904//   Lambda was not able to set up VPC access for the Lambda function because
2905//   one or more configured subnets has no available IP addresses.
2906//
2907//   * ENILimitReachedException
2908//   Lambda was not able to create an elastic network interface in the VPC, specified
2909//   as part of Lambda function configuration, because the limit for network interfaces
2910//   has been reached.
2911//
2912//   * EFSMountConnectivityException
2913//   The function couldn't make a network connection to the configured file system.
2914//
2915//   * EFSMountFailureException
2916//   The function couldn't mount the configured file system due to a permission
2917//   or configuration issue.
2918//
2919//   * EFSMountTimeoutException
2920//   The function was able to make a network connection to the configured file
2921//   system, but the mount operation timed out.
2922//
2923//   * EFSIOException
2924//   An error occurred when reading from or writing to a connected file system.
2925//
2926//   * EC2ThrottledException
2927//   Lambda was throttled by Amazon EC2 during Lambda function initialization
2928//   using the execution role provided for the Lambda function.
2929//
2930//   * EC2AccessDeniedException
2931//   Need additional permissions to configure VPC settings.
2932//
2933//   * InvalidSubnetIDException
2934//   The Subnet ID provided in the Lambda function VPC configuration is invalid.
2935//
2936//   * InvalidSecurityGroupIDException
2937//   The Security Group ID provided in the Lambda function VPC configuration is
2938//   invalid.
2939//
2940//   * InvalidZipFileException
2941//   Lambda could not unzip the deployment package.
2942//
2943//   * KMSDisabledException
2944//   Lambda was unable to decrypt the environment variables because the KMS key
2945//   used is disabled. Check the Lambda function's KMS key settings.
2946//
2947//   * KMSInvalidStateException
2948//   Lambda was unable to decrypt the environment variables because the KMS key
2949//   used is in an invalid state for Decrypt. Check the function's KMS key settings.
2950//
2951//   * KMSAccessDeniedException
2952//   Lambda was unable to decrypt the environment variables because KMS access
2953//   was denied. Check the Lambda function's KMS permissions.
2954//
2955//   * KMSNotFoundException
2956//   Lambda was unable to decrypt the environment variables because the KMS key
2957//   was not found. Check the function's KMS key settings.
2958//
2959//   * InvalidRuntimeException
2960//   The runtime or runtime version specified is not supported.
2961//
2962//   * ResourceConflictException
2963//   The resource already exists, or another operation is in progress.
2964//
2965//   * ResourceNotReadyException
2966//   The function is inactive and its VPC connection is no longer available. Wait
2967//   for the VPC connection to reestablish and try again.
2968//
2969// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/Invoke
2970func (c *Lambda) Invoke(input *InvokeInput) (*InvokeOutput, error) {
2971	req, out := c.InvokeRequest(input)
2972	return out, req.Send()
2973}
2974
2975// InvokeWithContext is the same as Invoke with the addition of
2976// the ability to pass a context and additional request options.
2977//
2978// See Invoke for details on how to use this API operation.
2979//
2980// The context must be non-nil and will be used for request cancellation. If
2981// the context is nil a panic will occur. In the future the SDK may create
2982// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2983// for more information on using Contexts.
2984func (c *Lambda) InvokeWithContext(ctx aws.Context, input *InvokeInput, opts ...request.Option) (*InvokeOutput, error) {
2985	req, out := c.InvokeRequest(input)
2986	req.SetContext(ctx)
2987	req.ApplyOptions(opts...)
2988	return out, req.Send()
2989}
2990
2991const opInvokeAsync = "InvokeAsync"
2992
2993// InvokeAsyncRequest generates a "aws/request.Request" representing the
2994// client's request for the InvokeAsync operation. The "output" return
2995// value will be populated with the request's response once the request completes
2996// successfully.
2997//
2998// Use "Send" method on the returned Request to send the API call to the service.
2999// the "output" return value is not valid until after Send returns without error.
3000//
3001// See InvokeAsync for more information on using the InvokeAsync
3002// API call, and error handling.
3003//
3004// This method is useful when you want to inject custom logic or configuration
3005// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3006//
3007//
3008//    // Example sending a request using the InvokeAsyncRequest method.
3009//    req, resp := client.InvokeAsyncRequest(params)
3010//
3011//    err := req.Send()
3012//    if err == nil { // resp is now filled
3013//        fmt.Println(resp)
3014//    }
3015//
3016// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/InvokeAsync
3017//
3018// Deprecated: InvokeAsync has been deprecated
3019func (c *Lambda) InvokeAsyncRequest(input *InvokeAsyncInput) (req *request.Request, output *InvokeAsyncOutput) {
3020	if c.Client.Config.Logger != nil {
3021		c.Client.Config.Logger.Log("This operation, InvokeAsync, has been deprecated")
3022	}
3023	op := &request.Operation{
3024		Name:       opInvokeAsync,
3025		HTTPMethod: "POST",
3026		HTTPPath:   "/2014-11-13/functions/{FunctionName}/invoke-async/",
3027	}
3028
3029	if input == nil {
3030		input = &InvokeAsyncInput{}
3031	}
3032
3033	output = &InvokeAsyncOutput{}
3034	req = c.newRequest(op, input, output)
3035	return
3036}
3037
3038// InvokeAsync API operation for AWS Lambda.
3039//
3040//
3041// For asynchronous function invocation, use Invoke.
3042//
3043// Invokes a function asynchronously.
3044//
3045// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3046// with awserr.Error's Code and Message methods to get detailed information about
3047// the error.
3048//
3049// See the AWS API reference guide for AWS Lambda's
3050// API operation InvokeAsync for usage and error information.
3051//
3052// Returned Error Types:
3053//   * ServiceException
3054//   The Lambda service encountered an internal error.
3055//
3056//   * ResourceNotFoundException
3057//   The resource specified in the request does not exist.
3058//
3059//   * InvalidRequestContentException
3060//   The request body could not be parsed as JSON.
3061//
3062//   * InvalidRuntimeException
3063//   The runtime or runtime version specified is not supported.
3064//
3065//   * ResourceConflictException
3066//   The resource already exists, or another operation is in progress.
3067//
3068// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/InvokeAsync
3069//
3070// Deprecated: InvokeAsync has been deprecated
3071func (c *Lambda) InvokeAsync(input *InvokeAsyncInput) (*InvokeAsyncOutput, error) {
3072	req, out := c.InvokeAsyncRequest(input)
3073	return out, req.Send()
3074}
3075
3076// InvokeAsyncWithContext is the same as InvokeAsync with the addition of
3077// the ability to pass a context and additional request options.
3078//
3079// See InvokeAsync for details on how to use this API operation.
3080//
3081// The context must be non-nil and will be used for request cancellation. If
3082// the context is nil a panic will occur. In the future the SDK may create
3083// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3084// for more information on using Contexts.
3085//
3086// Deprecated: InvokeAsyncWithContext has been deprecated
3087func (c *Lambda) InvokeAsyncWithContext(ctx aws.Context, input *InvokeAsyncInput, opts ...request.Option) (*InvokeAsyncOutput, error) {
3088	req, out := c.InvokeAsyncRequest(input)
3089	req.SetContext(ctx)
3090	req.ApplyOptions(opts...)
3091	return out, req.Send()
3092}
3093
3094const opListAliases = "ListAliases"
3095
3096// ListAliasesRequest generates a "aws/request.Request" representing the
3097// client's request for the ListAliases operation. The "output" return
3098// value will be populated with the request's response once the request completes
3099// successfully.
3100//
3101// Use "Send" method on the returned Request to send the API call to the service.
3102// the "output" return value is not valid until after Send returns without error.
3103//
3104// See ListAliases for more information on using the ListAliases
3105// API call, and error handling.
3106//
3107// This method is useful when you want to inject custom logic or configuration
3108// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3109//
3110//
3111//    // Example sending a request using the ListAliasesRequest method.
3112//    req, resp := client.ListAliasesRequest(params)
3113//
3114//    err := req.Send()
3115//    if err == nil { // resp is now filled
3116//        fmt.Println(resp)
3117//    }
3118//
3119// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListAliases
3120func (c *Lambda) ListAliasesRequest(input *ListAliasesInput) (req *request.Request, output *ListAliasesOutput) {
3121	op := &request.Operation{
3122		Name:       opListAliases,
3123		HTTPMethod: "GET",
3124		HTTPPath:   "/2015-03-31/functions/{FunctionName}/aliases",
3125		Paginator: &request.Paginator{
3126			InputTokens:     []string{"Marker"},
3127			OutputTokens:    []string{"NextMarker"},
3128			LimitToken:      "MaxItems",
3129			TruncationToken: "",
3130		},
3131	}
3132
3133	if input == nil {
3134		input = &ListAliasesInput{}
3135	}
3136
3137	output = &ListAliasesOutput{}
3138	req = c.newRequest(op, input, output)
3139	return
3140}
3141
3142// ListAliases API operation for AWS Lambda.
3143//
3144// Returns a list of aliases (https://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html)
3145// for a Lambda function.
3146//
3147// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3148// with awserr.Error's Code and Message methods to get detailed information about
3149// the error.
3150//
3151// See the AWS API reference guide for AWS Lambda's
3152// API operation ListAliases for usage and error information.
3153//
3154// Returned Error Types:
3155//   * ServiceException
3156//   The Lambda service encountered an internal error.
3157//
3158//   * ResourceNotFoundException
3159//   The resource specified in the request does not exist.
3160//
3161//   * InvalidParameterValueException
3162//   One of the parameters in the request is invalid.
3163//
3164//   * TooManyRequestsException
3165//   The request throughput limit was exceeded.
3166//
3167// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListAliases
3168func (c *Lambda) ListAliases(input *ListAliasesInput) (*ListAliasesOutput, error) {
3169	req, out := c.ListAliasesRequest(input)
3170	return out, req.Send()
3171}
3172
3173// ListAliasesWithContext is the same as ListAliases with the addition of
3174// the ability to pass a context and additional request options.
3175//
3176// See ListAliases for details on how to use this API operation.
3177//
3178// The context must be non-nil and will be used for request cancellation. If
3179// the context is nil a panic will occur. In the future the SDK may create
3180// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3181// for more information on using Contexts.
3182func (c *Lambda) ListAliasesWithContext(ctx aws.Context, input *ListAliasesInput, opts ...request.Option) (*ListAliasesOutput, error) {
3183	req, out := c.ListAliasesRequest(input)
3184	req.SetContext(ctx)
3185	req.ApplyOptions(opts...)
3186	return out, req.Send()
3187}
3188
3189// ListAliasesPages iterates over the pages of a ListAliases operation,
3190// calling the "fn" function with the response data for each page. To stop
3191// iterating, return false from the fn function.
3192//
3193// See ListAliases method for more information on how to use this operation.
3194//
3195// Note: This operation can generate multiple requests to a service.
3196//
3197//    // Example iterating over at most 3 pages of a ListAliases operation.
3198//    pageNum := 0
3199//    err := client.ListAliasesPages(params,
3200//        func(page *lambda.ListAliasesOutput, lastPage bool) bool {
3201//            pageNum++
3202//            fmt.Println(page)
3203//            return pageNum <= 3
3204//        })
3205//
3206func (c *Lambda) ListAliasesPages(input *ListAliasesInput, fn func(*ListAliasesOutput, bool) bool) error {
3207	return c.ListAliasesPagesWithContext(aws.BackgroundContext(), input, fn)
3208}
3209
3210// ListAliasesPagesWithContext same as ListAliasesPages except
3211// it takes a Context and allows setting request options on the pages.
3212//
3213// The context must be non-nil and will be used for request cancellation. If
3214// the context is nil a panic will occur. In the future the SDK may create
3215// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3216// for more information on using Contexts.
3217func (c *Lambda) ListAliasesPagesWithContext(ctx aws.Context, input *ListAliasesInput, fn func(*ListAliasesOutput, bool) bool, opts ...request.Option) error {
3218	p := request.Pagination{
3219		NewRequest: func() (*request.Request, error) {
3220			var inCpy *ListAliasesInput
3221			if input != nil {
3222				tmp := *input
3223				inCpy = &tmp
3224			}
3225			req, _ := c.ListAliasesRequest(inCpy)
3226			req.SetContext(ctx)
3227			req.ApplyOptions(opts...)
3228			return req, nil
3229		},
3230	}
3231
3232	for p.Next() {
3233		if !fn(p.Page().(*ListAliasesOutput), !p.HasNextPage()) {
3234			break
3235		}
3236	}
3237
3238	return p.Err()
3239}
3240
3241const opListCodeSigningConfigs = "ListCodeSigningConfigs"
3242
3243// ListCodeSigningConfigsRequest generates a "aws/request.Request" representing the
3244// client's request for the ListCodeSigningConfigs operation. The "output" return
3245// value will be populated with the request's response once the request completes
3246// successfully.
3247//
3248// Use "Send" method on the returned Request to send the API call to the service.
3249// the "output" return value is not valid until after Send returns without error.
3250//
3251// See ListCodeSigningConfigs for more information on using the ListCodeSigningConfigs
3252// API call, and error handling.
3253//
3254// This method is useful when you want to inject custom logic or configuration
3255// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3256//
3257//
3258//    // Example sending a request using the ListCodeSigningConfigsRequest method.
3259//    req, resp := client.ListCodeSigningConfigsRequest(params)
3260//
3261//    err := req.Send()
3262//    if err == nil { // resp is now filled
3263//        fmt.Println(resp)
3264//    }
3265//
3266// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListCodeSigningConfigs
3267func (c *Lambda) ListCodeSigningConfigsRequest(input *ListCodeSigningConfigsInput) (req *request.Request, output *ListCodeSigningConfigsOutput) {
3268	op := &request.Operation{
3269		Name:       opListCodeSigningConfigs,
3270		HTTPMethod: "GET",
3271		HTTPPath:   "/2020-04-22/code-signing-configs/",
3272		Paginator: &request.Paginator{
3273			InputTokens:     []string{"Marker"},
3274			OutputTokens:    []string{"NextMarker"},
3275			LimitToken:      "MaxItems",
3276			TruncationToken: "",
3277		},
3278	}
3279
3280	if input == nil {
3281		input = &ListCodeSigningConfigsInput{}
3282	}
3283
3284	output = &ListCodeSigningConfigsOutput{}
3285	req = c.newRequest(op, input, output)
3286	return
3287}
3288
3289// ListCodeSigningConfigs API operation for AWS Lambda.
3290//
3291// Returns a list of code signing configurations (https://docs.aws.amazon.com/lambda/latest/dg/configuring-codesigning.html).
3292// A request returns up to 10,000 configurations per call. You can use the MaxItems
3293// parameter to return fewer configurations per call.
3294//
3295// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3296// with awserr.Error's Code and Message methods to get detailed information about
3297// the error.
3298//
3299// See the AWS API reference guide for AWS Lambda's
3300// API operation ListCodeSigningConfigs for usage and error information.
3301//
3302// Returned Error Types:
3303//   * ServiceException
3304//   The Lambda service encountered an internal error.
3305//
3306//   * InvalidParameterValueException
3307//   One of the parameters in the request is invalid.
3308//
3309// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListCodeSigningConfigs
3310func (c *Lambda) ListCodeSigningConfigs(input *ListCodeSigningConfigsInput) (*ListCodeSigningConfigsOutput, error) {
3311	req, out := c.ListCodeSigningConfigsRequest(input)
3312	return out, req.Send()
3313}
3314
3315// ListCodeSigningConfigsWithContext is the same as ListCodeSigningConfigs with the addition of
3316// the ability to pass a context and additional request options.
3317//
3318// See ListCodeSigningConfigs for details on how to use this API operation.
3319//
3320// The context must be non-nil and will be used for request cancellation. If
3321// the context is nil a panic will occur. In the future the SDK may create
3322// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3323// for more information on using Contexts.
3324func (c *Lambda) ListCodeSigningConfigsWithContext(ctx aws.Context, input *ListCodeSigningConfigsInput, opts ...request.Option) (*ListCodeSigningConfigsOutput, error) {
3325	req, out := c.ListCodeSigningConfigsRequest(input)
3326	req.SetContext(ctx)
3327	req.ApplyOptions(opts...)
3328	return out, req.Send()
3329}
3330
3331// ListCodeSigningConfigsPages iterates over the pages of a ListCodeSigningConfigs operation,
3332// calling the "fn" function with the response data for each page. To stop
3333// iterating, return false from the fn function.
3334//
3335// See ListCodeSigningConfigs method for more information on how to use this operation.
3336//
3337// Note: This operation can generate multiple requests to a service.
3338//
3339//    // Example iterating over at most 3 pages of a ListCodeSigningConfigs operation.
3340//    pageNum := 0
3341//    err := client.ListCodeSigningConfigsPages(params,
3342//        func(page *lambda.ListCodeSigningConfigsOutput, lastPage bool) bool {
3343//            pageNum++
3344//            fmt.Println(page)
3345//            return pageNum <= 3
3346//        })
3347//
3348func (c *Lambda) ListCodeSigningConfigsPages(input *ListCodeSigningConfigsInput, fn func(*ListCodeSigningConfigsOutput, bool) bool) error {
3349	return c.ListCodeSigningConfigsPagesWithContext(aws.BackgroundContext(), input, fn)
3350}
3351
3352// ListCodeSigningConfigsPagesWithContext same as ListCodeSigningConfigsPages except
3353// it takes a Context and allows setting request options on the pages.
3354//
3355// The context must be non-nil and will be used for request cancellation. If
3356// the context is nil a panic will occur. In the future the SDK may create
3357// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3358// for more information on using Contexts.
3359func (c *Lambda) ListCodeSigningConfigsPagesWithContext(ctx aws.Context, input *ListCodeSigningConfigsInput, fn func(*ListCodeSigningConfigsOutput, bool) bool, opts ...request.Option) error {
3360	p := request.Pagination{
3361		NewRequest: func() (*request.Request, error) {
3362			var inCpy *ListCodeSigningConfigsInput
3363			if input != nil {
3364				tmp := *input
3365				inCpy = &tmp
3366			}
3367			req, _ := c.ListCodeSigningConfigsRequest(inCpy)
3368			req.SetContext(ctx)
3369			req.ApplyOptions(opts...)
3370			return req, nil
3371		},
3372	}
3373
3374	for p.Next() {
3375		if !fn(p.Page().(*ListCodeSigningConfigsOutput), !p.HasNextPage()) {
3376			break
3377		}
3378	}
3379
3380	return p.Err()
3381}
3382
3383const opListEventSourceMappings = "ListEventSourceMappings"
3384
3385// ListEventSourceMappingsRequest generates a "aws/request.Request" representing the
3386// client's request for the ListEventSourceMappings operation. The "output" return
3387// value will be populated with the request's response once the request completes
3388// successfully.
3389//
3390// Use "Send" method on the returned Request to send the API call to the service.
3391// the "output" return value is not valid until after Send returns without error.
3392//
3393// See ListEventSourceMappings for more information on using the ListEventSourceMappings
3394// API call, and error handling.
3395//
3396// This method is useful when you want to inject custom logic or configuration
3397// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3398//
3399//
3400//    // Example sending a request using the ListEventSourceMappingsRequest method.
3401//    req, resp := client.ListEventSourceMappingsRequest(params)
3402//
3403//    err := req.Send()
3404//    if err == nil { // resp is now filled
3405//        fmt.Println(resp)
3406//    }
3407//
3408// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListEventSourceMappings
3409func (c *Lambda) ListEventSourceMappingsRequest(input *ListEventSourceMappingsInput) (req *request.Request, output *ListEventSourceMappingsOutput) {
3410	op := &request.Operation{
3411		Name:       opListEventSourceMappings,
3412		HTTPMethod: "GET",
3413		HTTPPath:   "/2015-03-31/event-source-mappings/",
3414		Paginator: &request.Paginator{
3415			InputTokens:     []string{"Marker"},
3416			OutputTokens:    []string{"NextMarker"},
3417			LimitToken:      "MaxItems",
3418			TruncationToken: "",
3419		},
3420	}
3421
3422	if input == nil {
3423		input = &ListEventSourceMappingsInput{}
3424	}
3425
3426	output = &ListEventSourceMappingsOutput{}
3427	req = c.newRequest(op, input, output)
3428	return
3429}
3430
3431// ListEventSourceMappings API operation for AWS Lambda.
3432//
3433// Lists event source mappings. Specify an EventSourceArn to only show event
3434// source mappings for a single event source.
3435//
3436// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3437// with awserr.Error's Code and Message methods to get detailed information about
3438// the error.
3439//
3440// See the AWS API reference guide for AWS Lambda's
3441// API operation ListEventSourceMappings for usage and error information.
3442//
3443// Returned Error Types:
3444//   * ServiceException
3445//   The Lambda service encountered an internal error.
3446//
3447//   * ResourceNotFoundException
3448//   The resource specified in the request does not exist.
3449//
3450//   * InvalidParameterValueException
3451//   One of the parameters in the request is invalid.
3452//
3453//   * TooManyRequestsException
3454//   The request throughput limit was exceeded.
3455//
3456// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListEventSourceMappings
3457func (c *Lambda) ListEventSourceMappings(input *ListEventSourceMappingsInput) (*ListEventSourceMappingsOutput, error) {
3458	req, out := c.ListEventSourceMappingsRequest(input)
3459	return out, req.Send()
3460}
3461
3462// ListEventSourceMappingsWithContext is the same as ListEventSourceMappings with the addition of
3463// the ability to pass a context and additional request options.
3464//
3465// See ListEventSourceMappings for details on how to use this API operation.
3466//
3467// The context must be non-nil and will be used for request cancellation. If
3468// the context is nil a panic will occur. In the future the SDK may create
3469// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3470// for more information on using Contexts.
3471func (c *Lambda) ListEventSourceMappingsWithContext(ctx aws.Context, input *ListEventSourceMappingsInput, opts ...request.Option) (*ListEventSourceMappingsOutput, error) {
3472	req, out := c.ListEventSourceMappingsRequest(input)
3473	req.SetContext(ctx)
3474	req.ApplyOptions(opts...)
3475	return out, req.Send()
3476}
3477
3478// ListEventSourceMappingsPages iterates over the pages of a ListEventSourceMappings operation,
3479// calling the "fn" function with the response data for each page. To stop
3480// iterating, return false from the fn function.
3481//
3482// See ListEventSourceMappings method for more information on how to use this operation.
3483//
3484// Note: This operation can generate multiple requests to a service.
3485//
3486//    // Example iterating over at most 3 pages of a ListEventSourceMappings operation.
3487//    pageNum := 0
3488//    err := client.ListEventSourceMappingsPages(params,
3489//        func(page *lambda.ListEventSourceMappingsOutput, lastPage bool) bool {
3490//            pageNum++
3491//            fmt.Println(page)
3492//            return pageNum <= 3
3493//        })
3494//
3495func (c *Lambda) ListEventSourceMappingsPages(input *ListEventSourceMappingsInput, fn func(*ListEventSourceMappingsOutput, bool) bool) error {
3496	return c.ListEventSourceMappingsPagesWithContext(aws.BackgroundContext(), input, fn)
3497}
3498
3499// ListEventSourceMappingsPagesWithContext same as ListEventSourceMappingsPages except
3500// it takes a Context and allows setting request options on the pages.
3501//
3502// The context must be non-nil and will be used for request cancellation. If
3503// the context is nil a panic will occur. In the future the SDK may create
3504// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3505// for more information on using Contexts.
3506func (c *Lambda) ListEventSourceMappingsPagesWithContext(ctx aws.Context, input *ListEventSourceMappingsInput, fn func(*ListEventSourceMappingsOutput, bool) bool, opts ...request.Option) error {
3507	p := request.Pagination{
3508		NewRequest: func() (*request.Request, error) {
3509			var inCpy *ListEventSourceMappingsInput
3510			if input != nil {
3511				tmp := *input
3512				inCpy = &tmp
3513			}
3514			req, _ := c.ListEventSourceMappingsRequest(inCpy)
3515			req.SetContext(ctx)
3516			req.ApplyOptions(opts...)
3517			return req, nil
3518		},
3519	}
3520
3521	for p.Next() {
3522		if !fn(p.Page().(*ListEventSourceMappingsOutput), !p.HasNextPage()) {
3523			break
3524		}
3525	}
3526
3527	return p.Err()
3528}
3529
3530const opListFunctionEventInvokeConfigs = "ListFunctionEventInvokeConfigs"
3531
3532// ListFunctionEventInvokeConfigsRequest generates a "aws/request.Request" representing the
3533// client's request for the ListFunctionEventInvokeConfigs operation. The "output" return
3534// value will be populated with the request's response once the request completes
3535// successfully.
3536//
3537// Use "Send" method on the returned Request to send the API call to the service.
3538// the "output" return value is not valid until after Send returns without error.
3539//
3540// See ListFunctionEventInvokeConfigs for more information on using the ListFunctionEventInvokeConfigs
3541// API call, and error handling.
3542//
3543// This method is useful when you want to inject custom logic or configuration
3544// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3545//
3546//
3547//    // Example sending a request using the ListFunctionEventInvokeConfigsRequest method.
3548//    req, resp := client.ListFunctionEventInvokeConfigsRequest(params)
3549//
3550//    err := req.Send()
3551//    if err == nil { // resp is now filled
3552//        fmt.Println(resp)
3553//    }
3554//
3555// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListFunctionEventInvokeConfigs
3556func (c *Lambda) ListFunctionEventInvokeConfigsRequest(input *ListFunctionEventInvokeConfigsInput) (req *request.Request, output *ListFunctionEventInvokeConfigsOutput) {
3557	op := &request.Operation{
3558		Name:       opListFunctionEventInvokeConfigs,
3559		HTTPMethod: "GET",
3560		HTTPPath:   "/2019-09-25/functions/{FunctionName}/event-invoke-config/list",
3561		Paginator: &request.Paginator{
3562			InputTokens:     []string{"Marker"},
3563			OutputTokens:    []string{"NextMarker"},
3564			LimitToken:      "MaxItems",
3565			TruncationToken: "",
3566		},
3567	}
3568
3569	if input == nil {
3570		input = &ListFunctionEventInvokeConfigsInput{}
3571	}
3572
3573	output = &ListFunctionEventInvokeConfigsOutput{}
3574	req = c.newRequest(op, input, output)
3575	return
3576}
3577
3578// ListFunctionEventInvokeConfigs API operation for AWS Lambda.
3579//
3580// Retrieves a list of configurations for asynchronous invocation for a function.
3581//
3582// To configure options for asynchronous invocation, use PutFunctionEventInvokeConfig.
3583//
3584// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3585// with awserr.Error's Code and Message methods to get detailed information about
3586// the error.
3587//
3588// See the AWS API reference guide for AWS Lambda's
3589// API operation ListFunctionEventInvokeConfigs for usage and error information.
3590//
3591// Returned Error Types:
3592//   * InvalidParameterValueException
3593//   One of the parameters in the request is invalid.
3594//
3595//   * ResourceNotFoundException
3596//   The resource specified in the request does not exist.
3597//
3598//   * TooManyRequestsException
3599//   The request throughput limit was exceeded.
3600//
3601//   * ServiceException
3602//   The Lambda service encountered an internal error.
3603//
3604// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListFunctionEventInvokeConfigs
3605func (c *Lambda) ListFunctionEventInvokeConfigs(input *ListFunctionEventInvokeConfigsInput) (*ListFunctionEventInvokeConfigsOutput, error) {
3606	req, out := c.ListFunctionEventInvokeConfigsRequest(input)
3607	return out, req.Send()
3608}
3609
3610// ListFunctionEventInvokeConfigsWithContext is the same as ListFunctionEventInvokeConfigs with the addition of
3611// the ability to pass a context and additional request options.
3612//
3613// See ListFunctionEventInvokeConfigs for details on how to use this API operation.
3614//
3615// The context must be non-nil and will be used for request cancellation. If
3616// the context is nil a panic will occur. In the future the SDK may create
3617// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3618// for more information on using Contexts.
3619func (c *Lambda) ListFunctionEventInvokeConfigsWithContext(ctx aws.Context, input *ListFunctionEventInvokeConfigsInput, opts ...request.Option) (*ListFunctionEventInvokeConfigsOutput, error) {
3620	req, out := c.ListFunctionEventInvokeConfigsRequest(input)
3621	req.SetContext(ctx)
3622	req.ApplyOptions(opts...)
3623	return out, req.Send()
3624}
3625
3626// ListFunctionEventInvokeConfigsPages iterates over the pages of a ListFunctionEventInvokeConfigs operation,
3627// calling the "fn" function with the response data for each page. To stop
3628// iterating, return false from the fn function.
3629//
3630// See ListFunctionEventInvokeConfigs method for more information on how to use this operation.
3631//
3632// Note: This operation can generate multiple requests to a service.
3633//
3634//    // Example iterating over at most 3 pages of a ListFunctionEventInvokeConfigs operation.
3635//    pageNum := 0
3636//    err := client.ListFunctionEventInvokeConfigsPages(params,
3637//        func(page *lambda.ListFunctionEventInvokeConfigsOutput, lastPage bool) bool {
3638//            pageNum++
3639//            fmt.Println(page)
3640//            return pageNum <= 3
3641//        })
3642//
3643func (c *Lambda) ListFunctionEventInvokeConfigsPages(input *ListFunctionEventInvokeConfigsInput, fn func(*ListFunctionEventInvokeConfigsOutput, bool) bool) error {
3644	return c.ListFunctionEventInvokeConfigsPagesWithContext(aws.BackgroundContext(), input, fn)
3645}
3646
3647// ListFunctionEventInvokeConfigsPagesWithContext same as ListFunctionEventInvokeConfigsPages except
3648// it takes a Context and allows setting request options on the pages.
3649//
3650// The context must be non-nil and will be used for request cancellation. If
3651// the context is nil a panic will occur. In the future the SDK may create
3652// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3653// for more information on using Contexts.
3654func (c *Lambda) ListFunctionEventInvokeConfigsPagesWithContext(ctx aws.Context, input *ListFunctionEventInvokeConfigsInput, fn func(*ListFunctionEventInvokeConfigsOutput, bool) bool, opts ...request.Option) error {
3655	p := request.Pagination{
3656		NewRequest: func() (*request.Request, error) {
3657			var inCpy *ListFunctionEventInvokeConfigsInput
3658			if input != nil {
3659				tmp := *input
3660				inCpy = &tmp
3661			}
3662			req, _ := c.ListFunctionEventInvokeConfigsRequest(inCpy)
3663			req.SetContext(ctx)
3664			req.ApplyOptions(opts...)
3665			return req, nil
3666		},
3667	}
3668
3669	for p.Next() {
3670		if !fn(p.Page().(*ListFunctionEventInvokeConfigsOutput), !p.HasNextPage()) {
3671			break
3672		}
3673	}
3674
3675	return p.Err()
3676}
3677
3678const opListFunctions = "ListFunctions"
3679
3680// ListFunctionsRequest generates a "aws/request.Request" representing the
3681// client's request for the ListFunctions operation. The "output" return
3682// value will be populated with the request's response once the request completes
3683// successfully.
3684//
3685// Use "Send" method on the returned Request to send the API call to the service.
3686// the "output" return value is not valid until after Send returns without error.
3687//
3688// See ListFunctions for more information on using the ListFunctions
3689// API call, and error handling.
3690//
3691// This method is useful when you want to inject custom logic or configuration
3692// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3693//
3694//
3695//    // Example sending a request using the ListFunctionsRequest method.
3696//    req, resp := client.ListFunctionsRequest(params)
3697//
3698//    err := req.Send()
3699//    if err == nil { // resp is now filled
3700//        fmt.Println(resp)
3701//    }
3702//
3703// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListFunctions
3704func (c *Lambda) ListFunctionsRequest(input *ListFunctionsInput) (req *request.Request, output *ListFunctionsOutput) {
3705	op := &request.Operation{
3706		Name:       opListFunctions,
3707		HTTPMethod: "GET",
3708		HTTPPath:   "/2015-03-31/functions/",
3709		Paginator: &request.Paginator{
3710			InputTokens:     []string{"Marker"},
3711			OutputTokens:    []string{"NextMarker"},
3712			LimitToken:      "MaxItems",
3713			TruncationToken: "",
3714		},
3715	}
3716
3717	if input == nil {
3718		input = &ListFunctionsInput{}
3719	}
3720
3721	output = &ListFunctionsOutput{}
3722	req = c.newRequest(op, input, output)
3723	return
3724}
3725
3726// ListFunctions API operation for AWS Lambda.
3727//
3728// Returns a list of Lambda functions, with the version-specific configuration
3729// of each. Lambda returns up to 50 functions per call.
3730//
3731// Set FunctionVersion to ALL to include all published versions of each function
3732// in addition to the unpublished version.
3733//
3734// The ListFunctions action returns a subset of the FunctionConfiguration fields.
3735// To get the additional fields (State, StateReasonCode, StateReason, LastUpdateStatus,
3736// LastUpdateStatusReason, LastUpdateStatusReasonCode) for a function or version,
3737// use GetFunction.
3738//
3739// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3740// with awserr.Error's Code and Message methods to get detailed information about
3741// the error.
3742//
3743// See the AWS API reference guide for AWS Lambda's
3744// API operation ListFunctions for usage and error information.
3745//
3746// Returned Error Types:
3747//   * ServiceException
3748//   The Lambda service encountered an internal error.
3749//
3750//   * TooManyRequestsException
3751//   The request throughput limit was exceeded.
3752//
3753//   * InvalidParameterValueException
3754//   One of the parameters in the request is invalid.
3755//
3756// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListFunctions
3757func (c *Lambda) ListFunctions(input *ListFunctionsInput) (*ListFunctionsOutput, error) {
3758	req, out := c.ListFunctionsRequest(input)
3759	return out, req.Send()
3760}
3761
3762// ListFunctionsWithContext is the same as ListFunctions with the addition of
3763// the ability to pass a context and additional request options.
3764//
3765// See ListFunctions for details on how to use this API operation.
3766//
3767// The context must be non-nil and will be used for request cancellation. If
3768// the context is nil a panic will occur. In the future the SDK may create
3769// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3770// for more information on using Contexts.
3771func (c *Lambda) ListFunctionsWithContext(ctx aws.Context, input *ListFunctionsInput, opts ...request.Option) (*ListFunctionsOutput, error) {
3772	req, out := c.ListFunctionsRequest(input)
3773	req.SetContext(ctx)
3774	req.ApplyOptions(opts...)
3775	return out, req.Send()
3776}
3777
3778// ListFunctionsPages iterates over the pages of a ListFunctions operation,
3779// calling the "fn" function with the response data for each page. To stop
3780// iterating, return false from the fn function.
3781//
3782// See ListFunctions method for more information on how to use this operation.
3783//
3784// Note: This operation can generate multiple requests to a service.
3785//
3786//    // Example iterating over at most 3 pages of a ListFunctions operation.
3787//    pageNum := 0
3788//    err := client.ListFunctionsPages(params,
3789//        func(page *lambda.ListFunctionsOutput, lastPage bool) bool {
3790//            pageNum++
3791//            fmt.Println(page)
3792//            return pageNum <= 3
3793//        })
3794//
3795func (c *Lambda) ListFunctionsPages(input *ListFunctionsInput, fn func(*ListFunctionsOutput, bool) bool) error {
3796	return c.ListFunctionsPagesWithContext(aws.BackgroundContext(), input, fn)
3797}
3798
3799// ListFunctionsPagesWithContext same as ListFunctionsPages except
3800// it takes a Context and allows setting request options on the pages.
3801//
3802// The context must be non-nil and will be used for request cancellation. If
3803// the context is nil a panic will occur. In the future the SDK may create
3804// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3805// for more information on using Contexts.
3806func (c *Lambda) ListFunctionsPagesWithContext(ctx aws.Context, input *ListFunctionsInput, fn func(*ListFunctionsOutput, bool) bool, opts ...request.Option) error {
3807	p := request.Pagination{
3808		NewRequest: func() (*request.Request, error) {
3809			var inCpy *ListFunctionsInput
3810			if input != nil {
3811				tmp := *input
3812				inCpy = &tmp
3813			}
3814			req, _ := c.ListFunctionsRequest(inCpy)
3815			req.SetContext(ctx)
3816			req.ApplyOptions(opts...)
3817			return req, nil
3818		},
3819	}
3820
3821	for p.Next() {
3822		if !fn(p.Page().(*ListFunctionsOutput), !p.HasNextPage()) {
3823			break
3824		}
3825	}
3826
3827	return p.Err()
3828}
3829
3830const opListFunctionsByCodeSigningConfig = "ListFunctionsByCodeSigningConfig"
3831
3832// ListFunctionsByCodeSigningConfigRequest generates a "aws/request.Request" representing the
3833// client's request for the ListFunctionsByCodeSigningConfig operation. The "output" return
3834// value will be populated with the request's response once the request completes
3835// successfully.
3836//
3837// Use "Send" method on the returned Request to send the API call to the service.
3838// the "output" return value is not valid until after Send returns without error.
3839//
3840// See ListFunctionsByCodeSigningConfig for more information on using the ListFunctionsByCodeSigningConfig
3841// API call, and error handling.
3842//
3843// This method is useful when you want to inject custom logic or configuration
3844// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3845//
3846//
3847//    // Example sending a request using the ListFunctionsByCodeSigningConfigRequest method.
3848//    req, resp := client.ListFunctionsByCodeSigningConfigRequest(params)
3849//
3850//    err := req.Send()
3851//    if err == nil { // resp is now filled
3852//        fmt.Println(resp)
3853//    }
3854//
3855// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListFunctionsByCodeSigningConfig
3856func (c *Lambda) ListFunctionsByCodeSigningConfigRequest(input *ListFunctionsByCodeSigningConfigInput) (req *request.Request, output *ListFunctionsByCodeSigningConfigOutput) {
3857	op := &request.Operation{
3858		Name:       opListFunctionsByCodeSigningConfig,
3859		HTTPMethod: "GET",
3860		HTTPPath:   "/2020-04-22/code-signing-configs/{CodeSigningConfigArn}/functions",
3861		Paginator: &request.Paginator{
3862			InputTokens:     []string{"Marker"},
3863			OutputTokens:    []string{"NextMarker"},
3864			LimitToken:      "MaxItems",
3865			TruncationToken: "",
3866		},
3867	}
3868
3869	if input == nil {
3870		input = &ListFunctionsByCodeSigningConfigInput{}
3871	}
3872
3873	output = &ListFunctionsByCodeSigningConfigOutput{}
3874	req = c.newRequest(op, input, output)
3875	return
3876}
3877
3878// ListFunctionsByCodeSigningConfig API operation for AWS Lambda.
3879//
3880// List the functions that use the specified code signing configuration. You
3881// can use this method prior to deleting a code signing configuration, to verify
3882// that no functions are using it.
3883//
3884// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3885// with awserr.Error's Code and Message methods to get detailed information about
3886// the error.
3887//
3888// See the AWS API reference guide for AWS Lambda's
3889// API operation ListFunctionsByCodeSigningConfig for usage and error information.
3890//
3891// Returned Error Types:
3892//   * ServiceException
3893//   The Lambda service encountered an internal error.
3894//
3895//   * InvalidParameterValueException
3896//   One of the parameters in the request is invalid.
3897//
3898//   * ResourceNotFoundException
3899//   The resource specified in the request does not exist.
3900//
3901// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListFunctionsByCodeSigningConfig
3902func (c *Lambda) ListFunctionsByCodeSigningConfig(input *ListFunctionsByCodeSigningConfigInput) (*ListFunctionsByCodeSigningConfigOutput, error) {
3903	req, out := c.ListFunctionsByCodeSigningConfigRequest(input)
3904	return out, req.Send()
3905}
3906
3907// ListFunctionsByCodeSigningConfigWithContext is the same as ListFunctionsByCodeSigningConfig with the addition of
3908// the ability to pass a context and additional request options.
3909//
3910// See ListFunctionsByCodeSigningConfig for details on how to use this API operation.
3911//
3912// The context must be non-nil and will be used for request cancellation. If
3913// the context is nil a panic will occur. In the future the SDK may create
3914// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3915// for more information on using Contexts.
3916func (c *Lambda) ListFunctionsByCodeSigningConfigWithContext(ctx aws.Context, input *ListFunctionsByCodeSigningConfigInput, opts ...request.Option) (*ListFunctionsByCodeSigningConfigOutput, error) {
3917	req, out := c.ListFunctionsByCodeSigningConfigRequest(input)
3918	req.SetContext(ctx)
3919	req.ApplyOptions(opts...)
3920	return out, req.Send()
3921}
3922
3923// ListFunctionsByCodeSigningConfigPages iterates over the pages of a ListFunctionsByCodeSigningConfig operation,
3924// calling the "fn" function with the response data for each page. To stop
3925// iterating, return false from the fn function.
3926//
3927// See ListFunctionsByCodeSigningConfig method for more information on how to use this operation.
3928//
3929// Note: This operation can generate multiple requests to a service.
3930//
3931//    // Example iterating over at most 3 pages of a ListFunctionsByCodeSigningConfig operation.
3932//    pageNum := 0
3933//    err := client.ListFunctionsByCodeSigningConfigPages(params,
3934//        func(page *lambda.ListFunctionsByCodeSigningConfigOutput, lastPage bool) bool {
3935//            pageNum++
3936//            fmt.Println(page)
3937//            return pageNum <= 3
3938//        })
3939//
3940func (c *Lambda) ListFunctionsByCodeSigningConfigPages(input *ListFunctionsByCodeSigningConfigInput, fn func(*ListFunctionsByCodeSigningConfigOutput, bool) bool) error {
3941	return c.ListFunctionsByCodeSigningConfigPagesWithContext(aws.BackgroundContext(), input, fn)
3942}
3943
3944// ListFunctionsByCodeSigningConfigPagesWithContext same as ListFunctionsByCodeSigningConfigPages except
3945// it takes a Context and allows setting request options on the pages.
3946//
3947// The context must be non-nil and will be used for request cancellation. If
3948// the context is nil a panic will occur. In the future the SDK may create
3949// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3950// for more information on using Contexts.
3951func (c *Lambda) ListFunctionsByCodeSigningConfigPagesWithContext(ctx aws.Context, input *ListFunctionsByCodeSigningConfigInput, fn func(*ListFunctionsByCodeSigningConfigOutput, bool) bool, opts ...request.Option) error {
3952	p := request.Pagination{
3953		NewRequest: func() (*request.Request, error) {
3954			var inCpy *ListFunctionsByCodeSigningConfigInput
3955			if input != nil {
3956				tmp := *input
3957				inCpy = &tmp
3958			}
3959			req, _ := c.ListFunctionsByCodeSigningConfigRequest(inCpy)
3960			req.SetContext(ctx)
3961			req.ApplyOptions(opts...)
3962			return req, nil
3963		},
3964	}
3965
3966	for p.Next() {
3967		if !fn(p.Page().(*ListFunctionsByCodeSigningConfigOutput), !p.HasNextPage()) {
3968			break
3969		}
3970	}
3971
3972	return p.Err()
3973}
3974
3975const opListLayerVersions = "ListLayerVersions"
3976
3977// ListLayerVersionsRequest generates a "aws/request.Request" representing the
3978// client's request for the ListLayerVersions operation. The "output" return
3979// value will be populated with the request's response once the request completes
3980// successfully.
3981//
3982// Use "Send" method on the returned Request to send the API call to the service.
3983// the "output" return value is not valid until after Send returns without error.
3984//
3985// See ListLayerVersions for more information on using the ListLayerVersions
3986// API call, and error handling.
3987//
3988// This method is useful when you want to inject custom logic or configuration
3989// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3990//
3991//
3992//    // Example sending a request using the ListLayerVersionsRequest method.
3993//    req, resp := client.ListLayerVersionsRequest(params)
3994//
3995//    err := req.Send()
3996//    if err == nil { // resp is now filled
3997//        fmt.Println(resp)
3998//    }
3999//
4000// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListLayerVersions
4001func (c *Lambda) ListLayerVersionsRequest(input *ListLayerVersionsInput) (req *request.Request, output *ListLayerVersionsOutput) {
4002	op := &request.Operation{
4003		Name:       opListLayerVersions,
4004		HTTPMethod: "GET",
4005		HTTPPath:   "/2018-10-31/layers/{LayerName}/versions",
4006		Paginator: &request.Paginator{
4007			InputTokens:     []string{"Marker"},
4008			OutputTokens:    []string{"NextMarker"},
4009			LimitToken:      "MaxItems",
4010			TruncationToken: "",
4011		},
4012	}
4013
4014	if input == nil {
4015		input = &ListLayerVersionsInput{}
4016	}
4017
4018	output = &ListLayerVersionsOutput{}
4019	req = c.newRequest(op, input, output)
4020	return
4021}
4022
4023// ListLayerVersions API operation for AWS Lambda.
4024//
4025// Lists the versions of an Lambda layer (https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html).
4026// Versions that have been deleted aren't listed. Specify a runtime identifier
4027// (https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html) to list
4028// only versions that indicate that they're compatible with that runtime. Specify
4029// a compatible architecture to include only layer versions that are compatible
4030// with that architecture.
4031//
4032// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4033// with awserr.Error's Code and Message methods to get detailed information about
4034// the error.
4035//
4036// See the AWS API reference guide for AWS Lambda's
4037// API operation ListLayerVersions for usage and error information.
4038//
4039// Returned Error Types:
4040//   * ServiceException
4041//   The Lambda service encountered an internal error.
4042//
4043//   * InvalidParameterValueException
4044//   One of the parameters in the request is invalid.
4045//
4046//   * ResourceNotFoundException
4047//   The resource specified in the request does not exist.
4048//
4049//   * TooManyRequestsException
4050//   The request throughput limit was exceeded.
4051//
4052// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListLayerVersions
4053func (c *Lambda) ListLayerVersions(input *ListLayerVersionsInput) (*ListLayerVersionsOutput, error) {
4054	req, out := c.ListLayerVersionsRequest(input)
4055	return out, req.Send()
4056}
4057
4058// ListLayerVersionsWithContext is the same as ListLayerVersions with the addition of
4059// the ability to pass a context and additional request options.
4060//
4061// See ListLayerVersions for details on how to use this API operation.
4062//
4063// The context must be non-nil and will be used for request cancellation. If
4064// the context is nil a panic will occur. In the future the SDK may create
4065// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4066// for more information on using Contexts.
4067func (c *Lambda) ListLayerVersionsWithContext(ctx aws.Context, input *ListLayerVersionsInput, opts ...request.Option) (*ListLayerVersionsOutput, error) {
4068	req, out := c.ListLayerVersionsRequest(input)
4069	req.SetContext(ctx)
4070	req.ApplyOptions(opts...)
4071	return out, req.Send()
4072}
4073
4074// ListLayerVersionsPages iterates over the pages of a ListLayerVersions operation,
4075// calling the "fn" function with the response data for each page. To stop
4076// iterating, return false from the fn function.
4077//
4078// See ListLayerVersions method for more information on how to use this operation.
4079//
4080// Note: This operation can generate multiple requests to a service.
4081//
4082//    // Example iterating over at most 3 pages of a ListLayerVersions operation.
4083//    pageNum := 0
4084//    err := client.ListLayerVersionsPages(params,
4085//        func(page *lambda.ListLayerVersionsOutput, lastPage bool) bool {
4086//            pageNum++
4087//            fmt.Println(page)
4088//            return pageNum <= 3
4089//        })
4090//
4091func (c *Lambda) ListLayerVersionsPages(input *ListLayerVersionsInput, fn func(*ListLayerVersionsOutput, bool) bool) error {
4092	return c.ListLayerVersionsPagesWithContext(aws.BackgroundContext(), input, fn)
4093}
4094
4095// ListLayerVersionsPagesWithContext same as ListLayerVersionsPages except
4096// it takes a Context and allows setting request options on the pages.
4097//
4098// The context must be non-nil and will be used for request cancellation. If
4099// the context is nil a panic will occur. In the future the SDK may create
4100// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4101// for more information on using Contexts.
4102func (c *Lambda) ListLayerVersionsPagesWithContext(ctx aws.Context, input *ListLayerVersionsInput, fn func(*ListLayerVersionsOutput, bool) bool, opts ...request.Option) error {
4103	p := request.Pagination{
4104		NewRequest: func() (*request.Request, error) {
4105			var inCpy *ListLayerVersionsInput
4106			if input != nil {
4107				tmp := *input
4108				inCpy = &tmp
4109			}
4110			req, _ := c.ListLayerVersionsRequest(inCpy)
4111			req.SetContext(ctx)
4112			req.ApplyOptions(opts...)
4113			return req, nil
4114		},
4115	}
4116
4117	for p.Next() {
4118		if !fn(p.Page().(*ListLayerVersionsOutput), !p.HasNextPage()) {
4119			break
4120		}
4121	}
4122
4123	return p.Err()
4124}
4125
4126const opListLayers = "ListLayers"
4127
4128// ListLayersRequest generates a "aws/request.Request" representing the
4129// client's request for the ListLayers operation. The "output" return
4130// value will be populated with the request's response once the request completes
4131// successfully.
4132//
4133// Use "Send" method on the returned Request to send the API call to the service.
4134// the "output" return value is not valid until after Send returns without error.
4135//
4136// See ListLayers for more information on using the ListLayers
4137// API call, and error handling.
4138//
4139// This method is useful when you want to inject custom logic or configuration
4140// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4141//
4142//
4143//    // Example sending a request using the ListLayersRequest method.
4144//    req, resp := client.ListLayersRequest(params)
4145//
4146//    err := req.Send()
4147//    if err == nil { // resp is now filled
4148//        fmt.Println(resp)
4149//    }
4150//
4151// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListLayers
4152func (c *Lambda) ListLayersRequest(input *ListLayersInput) (req *request.Request, output *ListLayersOutput) {
4153	op := &request.Operation{
4154		Name:       opListLayers,
4155		HTTPMethod: "GET",
4156		HTTPPath:   "/2018-10-31/layers",
4157		Paginator: &request.Paginator{
4158			InputTokens:     []string{"Marker"},
4159			OutputTokens:    []string{"NextMarker"},
4160			LimitToken:      "MaxItems",
4161			TruncationToken: "",
4162		},
4163	}
4164
4165	if input == nil {
4166		input = &ListLayersInput{}
4167	}
4168
4169	output = &ListLayersOutput{}
4170	req = c.newRequest(op, input, output)
4171	return
4172}
4173
4174// ListLayers API operation for AWS Lambda.
4175//
4176// Lists Lambda layers (https://docs.aws.amazon.com/lambda/latest/dg/invocation-layers.html)
4177// and shows information about the latest version of each. Specify a runtime
4178// identifier (https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html)
4179// to list only layers that indicate that they're compatible with that runtime.
4180// Specify a compatible architecture to include only layers that are compatible
4181// with that instruction set architecture (https://docs.aws.amazon.com/lambda/latest/dg/foundation-arch.html).
4182//
4183// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4184// with awserr.Error's Code and Message methods to get detailed information about
4185// the error.
4186//
4187// See the AWS API reference guide for AWS Lambda's
4188// API operation ListLayers for usage and error information.
4189//
4190// Returned Error Types:
4191//   * ServiceException
4192//   The Lambda service encountered an internal error.
4193//
4194//   * InvalidParameterValueException
4195//   One of the parameters in the request is invalid.
4196//
4197//   * TooManyRequestsException
4198//   The request throughput limit was exceeded.
4199//
4200// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListLayers
4201func (c *Lambda) ListLayers(input *ListLayersInput) (*ListLayersOutput, error) {
4202	req, out := c.ListLayersRequest(input)
4203	return out, req.Send()
4204}
4205
4206// ListLayersWithContext is the same as ListLayers with the addition of
4207// the ability to pass a context and additional request options.
4208//
4209// See ListLayers for details on how to use this API operation.
4210//
4211// The context must be non-nil and will be used for request cancellation. If
4212// the context is nil a panic will occur. In the future the SDK may create
4213// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4214// for more information on using Contexts.
4215func (c *Lambda) ListLayersWithContext(ctx aws.Context, input *ListLayersInput, opts ...request.Option) (*ListLayersOutput, error) {
4216	req, out := c.ListLayersRequest(input)
4217	req.SetContext(ctx)
4218	req.ApplyOptions(opts...)
4219	return out, req.Send()
4220}
4221
4222// ListLayersPages iterates over the pages of a ListLayers operation,
4223// calling the "fn" function with the response data for each page. To stop
4224// iterating, return false from the fn function.
4225//
4226// See ListLayers method for more information on how to use this operation.
4227//
4228// Note: This operation can generate multiple requests to a service.
4229//
4230//    // Example iterating over at most 3 pages of a ListLayers operation.
4231//    pageNum := 0
4232//    err := client.ListLayersPages(params,
4233//        func(page *lambda.ListLayersOutput, lastPage bool) bool {
4234//            pageNum++
4235//            fmt.Println(page)
4236//            return pageNum <= 3
4237//        })
4238//
4239func (c *Lambda) ListLayersPages(input *ListLayersInput, fn func(*ListLayersOutput, bool) bool) error {
4240	return c.ListLayersPagesWithContext(aws.BackgroundContext(), input, fn)
4241}
4242
4243// ListLayersPagesWithContext same as ListLayersPages except
4244// it takes a Context and allows setting request options on the pages.
4245//
4246// The context must be non-nil and will be used for request cancellation. If
4247// the context is nil a panic will occur. In the future the SDK may create
4248// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4249// for more information on using Contexts.
4250func (c *Lambda) ListLayersPagesWithContext(ctx aws.Context, input *ListLayersInput, fn func(*ListLayersOutput, bool) bool, opts ...request.Option) error {
4251	p := request.Pagination{
4252		NewRequest: func() (*request.Request, error) {
4253			var inCpy *ListLayersInput
4254			if input != nil {
4255				tmp := *input
4256				inCpy = &tmp
4257			}
4258			req, _ := c.ListLayersRequest(inCpy)
4259			req.SetContext(ctx)
4260			req.ApplyOptions(opts...)
4261			return req, nil
4262		},
4263	}
4264
4265	for p.Next() {
4266		if !fn(p.Page().(*ListLayersOutput), !p.HasNextPage()) {
4267			break
4268		}
4269	}
4270
4271	return p.Err()
4272}
4273
4274const opListProvisionedConcurrencyConfigs = "ListProvisionedConcurrencyConfigs"
4275
4276// ListProvisionedConcurrencyConfigsRequest generates a "aws/request.Request" representing the
4277// client's request for the ListProvisionedConcurrencyConfigs operation. The "output" return
4278// value will be populated with the request's response once the request completes
4279// successfully.
4280//
4281// Use "Send" method on the returned Request to send the API call to the service.
4282// the "output" return value is not valid until after Send returns without error.
4283//
4284// See ListProvisionedConcurrencyConfigs for more information on using the ListProvisionedConcurrencyConfigs
4285// API call, and error handling.
4286//
4287// This method is useful when you want to inject custom logic or configuration
4288// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4289//
4290//
4291//    // Example sending a request using the ListProvisionedConcurrencyConfigsRequest method.
4292//    req, resp := client.ListProvisionedConcurrencyConfigsRequest(params)
4293//
4294//    err := req.Send()
4295//    if err == nil { // resp is now filled
4296//        fmt.Println(resp)
4297//    }
4298//
4299// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListProvisionedConcurrencyConfigs
4300func (c *Lambda) ListProvisionedConcurrencyConfigsRequest(input *ListProvisionedConcurrencyConfigsInput) (req *request.Request, output *ListProvisionedConcurrencyConfigsOutput) {
4301	op := &request.Operation{
4302		Name:       opListProvisionedConcurrencyConfigs,
4303		HTTPMethod: "GET",
4304		HTTPPath:   "/2019-09-30/functions/{FunctionName}/provisioned-concurrency?List=ALL",
4305		Paginator: &request.Paginator{
4306			InputTokens:     []string{"Marker"},
4307			OutputTokens:    []string{"NextMarker"},
4308			LimitToken:      "MaxItems",
4309			TruncationToken: "",
4310		},
4311	}
4312
4313	if input == nil {
4314		input = &ListProvisionedConcurrencyConfigsInput{}
4315	}
4316
4317	output = &ListProvisionedConcurrencyConfigsOutput{}
4318	req = c.newRequest(op, input, output)
4319	return
4320}
4321
4322// ListProvisionedConcurrencyConfigs API operation for AWS Lambda.
4323//
4324// Retrieves a list of provisioned concurrency configurations for a function.
4325//
4326// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4327// with awserr.Error's Code and Message methods to get detailed information about
4328// the error.
4329//
4330// See the AWS API reference guide for AWS Lambda's
4331// API operation ListProvisionedConcurrencyConfigs for usage and error information.
4332//
4333// Returned Error Types:
4334//   * InvalidParameterValueException
4335//   One of the parameters in the request is invalid.
4336//
4337//   * ResourceNotFoundException
4338//   The resource specified in the request does not exist.
4339//
4340//   * TooManyRequestsException
4341//   The request throughput limit was exceeded.
4342//
4343//   * ServiceException
4344//   The Lambda service encountered an internal error.
4345//
4346// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListProvisionedConcurrencyConfigs
4347func (c *Lambda) ListProvisionedConcurrencyConfigs(input *ListProvisionedConcurrencyConfigsInput) (*ListProvisionedConcurrencyConfigsOutput, error) {
4348	req, out := c.ListProvisionedConcurrencyConfigsRequest(input)
4349	return out, req.Send()
4350}
4351
4352// ListProvisionedConcurrencyConfigsWithContext is the same as ListProvisionedConcurrencyConfigs with the addition of
4353// the ability to pass a context and additional request options.
4354//
4355// See ListProvisionedConcurrencyConfigs for details on how to use this API operation.
4356//
4357// The context must be non-nil and will be used for request cancellation. If
4358// the context is nil a panic will occur. In the future the SDK may create
4359// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4360// for more information on using Contexts.
4361func (c *Lambda) ListProvisionedConcurrencyConfigsWithContext(ctx aws.Context, input *ListProvisionedConcurrencyConfigsInput, opts ...request.Option) (*ListProvisionedConcurrencyConfigsOutput, error) {
4362	req, out := c.ListProvisionedConcurrencyConfigsRequest(input)
4363	req.SetContext(ctx)
4364	req.ApplyOptions(opts...)
4365	return out, req.Send()
4366}
4367
4368// ListProvisionedConcurrencyConfigsPages iterates over the pages of a ListProvisionedConcurrencyConfigs operation,
4369// calling the "fn" function with the response data for each page. To stop
4370// iterating, return false from the fn function.
4371//
4372// See ListProvisionedConcurrencyConfigs method for more information on how to use this operation.
4373//
4374// Note: This operation can generate multiple requests to a service.
4375//
4376//    // Example iterating over at most 3 pages of a ListProvisionedConcurrencyConfigs operation.
4377//    pageNum := 0
4378//    err := client.ListProvisionedConcurrencyConfigsPages(params,
4379//        func(page *lambda.ListProvisionedConcurrencyConfigsOutput, lastPage bool) bool {
4380//            pageNum++
4381//            fmt.Println(page)
4382//            return pageNum <= 3
4383//        })
4384//
4385func (c *Lambda) ListProvisionedConcurrencyConfigsPages(input *ListProvisionedConcurrencyConfigsInput, fn func(*ListProvisionedConcurrencyConfigsOutput, bool) bool) error {
4386	return c.ListProvisionedConcurrencyConfigsPagesWithContext(aws.BackgroundContext(), input, fn)
4387}
4388
4389// ListProvisionedConcurrencyConfigsPagesWithContext same as ListProvisionedConcurrencyConfigsPages except
4390// it takes a Context and allows setting request options on the pages.
4391//
4392// The context must be non-nil and will be used for request cancellation. If
4393// the context is nil a panic will occur. In the future the SDK may create
4394// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4395// for more information on using Contexts.
4396func (c *Lambda) ListProvisionedConcurrencyConfigsPagesWithContext(ctx aws.Context, input *ListProvisionedConcurrencyConfigsInput, fn func(*ListProvisionedConcurrencyConfigsOutput, bool) bool, opts ...request.Option) error {
4397	p := request.Pagination{
4398		NewRequest: func() (*request.Request, error) {
4399			var inCpy *ListProvisionedConcurrencyConfigsInput
4400			if input != nil {
4401				tmp := *input
4402				inCpy = &tmp
4403			}
4404			req, _ := c.ListProvisionedConcurrencyConfigsRequest(inCpy)
4405			req.SetContext(ctx)
4406			req.ApplyOptions(opts...)
4407			return req, nil
4408		},
4409	}
4410
4411	for p.Next() {
4412		if !fn(p.Page().(*ListProvisionedConcurrencyConfigsOutput), !p.HasNextPage()) {
4413			break
4414		}
4415	}
4416
4417	return p.Err()
4418}
4419
4420const opListTags = "ListTags"
4421
4422// ListTagsRequest generates a "aws/request.Request" representing the
4423// client's request for the ListTags operation. The "output" return
4424// value will be populated with the request's response once the request completes
4425// successfully.
4426//
4427// Use "Send" method on the returned Request to send the API call to the service.
4428// the "output" return value is not valid until after Send returns without error.
4429//
4430// See ListTags for more information on using the ListTags
4431// API call, and error handling.
4432//
4433// This method is useful when you want to inject custom logic or configuration
4434// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4435//
4436//
4437//    // Example sending a request using the ListTagsRequest method.
4438//    req, resp := client.ListTagsRequest(params)
4439//
4440//    err := req.Send()
4441//    if err == nil { // resp is now filled
4442//        fmt.Println(resp)
4443//    }
4444//
4445// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListTags
4446func (c *Lambda) ListTagsRequest(input *ListTagsInput) (req *request.Request, output *ListTagsOutput) {
4447	op := &request.Operation{
4448		Name:       opListTags,
4449		HTTPMethod: "GET",
4450		HTTPPath:   "/2017-03-31/tags/{ARN}",
4451	}
4452
4453	if input == nil {
4454		input = &ListTagsInput{}
4455	}
4456
4457	output = &ListTagsOutput{}
4458	req = c.newRequest(op, input, output)
4459	return
4460}
4461
4462// ListTags API operation for AWS Lambda.
4463//
4464// Returns a function's tags (https://docs.aws.amazon.com/lambda/latest/dg/tagging.html).
4465// You can also view tags with GetFunction.
4466//
4467// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4468// with awserr.Error's Code and Message methods to get detailed information about
4469// the error.
4470//
4471// See the AWS API reference guide for AWS Lambda's
4472// API operation ListTags for usage and error information.
4473//
4474// Returned Error Types:
4475//   * ServiceException
4476//   The Lambda service encountered an internal error.
4477//
4478//   * ResourceNotFoundException
4479//   The resource specified in the request does not exist.
4480//
4481//   * InvalidParameterValueException
4482//   One of the parameters in the request is invalid.
4483//
4484//   * TooManyRequestsException
4485//   The request throughput limit was exceeded.
4486//
4487// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListTags
4488func (c *Lambda) ListTags(input *ListTagsInput) (*ListTagsOutput, error) {
4489	req, out := c.ListTagsRequest(input)
4490	return out, req.Send()
4491}
4492
4493// ListTagsWithContext is the same as ListTags with the addition of
4494// the ability to pass a context and additional request options.
4495//
4496// See ListTags for details on how to use this API operation.
4497//
4498// The context must be non-nil and will be used for request cancellation. If
4499// the context is nil a panic will occur. In the future the SDK may create
4500// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4501// for more information on using Contexts.
4502func (c *Lambda) ListTagsWithContext(ctx aws.Context, input *ListTagsInput, opts ...request.Option) (*ListTagsOutput, error) {
4503	req, out := c.ListTagsRequest(input)
4504	req.SetContext(ctx)
4505	req.ApplyOptions(opts...)
4506	return out, req.Send()
4507}
4508
4509const opListVersionsByFunction = "ListVersionsByFunction"
4510
4511// ListVersionsByFunctionRequest generates a "aws/request.Request" representing the
4512// client's request for the ListVersionsByFunction operation. The "output" return
4513// value will be populated with the request's response once the request completes
4514// successfully.
4515//
4516// Use "Send" method on the returned Request to send the API call to the service.
4517// the "output" return value is not valid until after Send returns without error.
4518//
4519// See ListVersionsByFunction for more information on using the ListVersionsByFunction
4520// API call, and error handling.
4521//
4522// This method is useful when you want to inject custom logic or configuration
4523// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4524//
4525//
4526//    // Example sending a request using the ListVersionsByFunctionRequest method.
4527//    req, resp := client.ListVersionsByFunctionRequest(params)
4528//
4529//    err := req.Send()
4530//    if err == nil { // resp is now filled
4531//        fmt.Println(resp)
4532//    }
4533//
4534// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListVersionsByFunction
4535func (c *Lambda) ListVersionsByFunctionRequest(input *ListVersionsByFunctionInput) (req *request.Request, output *ListVersionsByFunctionOutput) {
4536	op := &request.Operation{
4537		Name:       opListVersionsByFunction,
4538		HTTPMethod: "GET",
4539		HTTPPath:   "/2015-03-31/functions/{FunctionName}/versions",
4540		Paginator: &request.Paginator{
4541			InputTokens:     []string{"Marker"},
4542			OutputTokens:    []string{"NextMarker"},
4543			LimitToken:      "MaxItems",
4544			TruncationToken: "",
4545		},
4546	}
4547
4548	if input == nil {
4549		input = &ListVersionsByFunctionInput{}
4550	}
4551
4552	output = &ListVersionsByFunctionOutput{}
4553	req = c.newRequest(op, input, output)
4554	return
4555}
4556
4557// ListVersionsByFunction API operation for AWS Lambda.
4558//
4559// Returns a list of versions (https://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html),
4560// with the version-specific configuration of each. Lambda returns up to 50
4561// versions per call.
4562//
4563// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4564// with awserr.Error's Code and Message methods to get detailed information about
4565// the error.
4566//
4567// See the AWS API reference guide for AWS Lambda's
4568// API operation ListVersionsByFunction for usage and error information.
4569//
4570// Returned Error Types:
4571//   * ServiceException
4572//   The Lambda service encountered an internal error.
4573//
4574//   * ResourceNotFoundException
4575//   The resource specified in the request does not exist.
4576//
4577//   * InvalidParameterValueException
4578//   One of the parameters in the request is invalid.
4579//
4580//   * TooManyRequestsException
4581//   The request throughput limit was exceeded.
4582//
4583// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListVersionsByFunction
4584func (c *Lambda) ListVersionsByFunction(input *ListVersionsByFunctionInput) (*ListVersionsByFunctionOutput, error) {
4585	req, out := c.ListVersionsByFunctionRequest(input)
4586	return out, req.Send()
4587}
4588
4589// ListVersionsByFunctionWithContext is the same as ListVersionsByFunction with the addition of
4590// the ability to pass a context and additional request options.
4591//
4592// See ListVersionsByFunction for details on how to use this API operation.
4593//
4594// The context must be non-nil and will be used for request cancellation. If
4595// the context is nil a panic will occur. In the future the SDK may create
4596// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4597// for more information on using Contexts.
4598func (c *Lambda) ListVersionsByFunctionWithContext(ctx aws.Context, input *ListVersionsByFunctionInput, opts ...request.Option) (*ListVersionsByFunctionOutput, error) {
4599	req, out := c.ListVersionsByFunctionRequest(input)
4600	req.SetContext(ctx)
4601	req.ApplyOptions(opts...)
4602	return out, req.Send()
4603}
4604
4605// ListVersionsByFunctionPages iterates over the pages of a ListVersionsByFunction operation,
4606// calling the "fn" function with the response data for each page. To stop
4607// iterating, return false from the fn function.
4608//
4609// See ListVersionsByFunction method for more information on how to use this operation.
4610//
4611// Note: This operation can generate multiple requests to a service.
4612//
4613//    // Example iterating over at most 3 pages of a ListVersionsByFunction operation.
4614//    pageNum := 0
4615//    err := client.ListVersionsByFunctionPages(params,
4616//        func(page *lambda.ListVersionsByFunctionOutput, lastPage bool) bool {
4617//            pageNum++
4618//            fmt.Println(page)
4619//            return pageNum <= 3
4620//        })
4621//
4622func (c *Lambda) ListVersionsByFunctionPages(input *ListVersionsByFunctionInput, fn func(*ListVersionsByFunctionOutput, bool) bool) error {
4623	return c.ListVersionsByFunctionPagesWithContext(aws.BackgroundContext(), input, fn)
4624}
4625
4626// ListVersionsByFunctionPagesWithContext same as ListVersionsByFunctionPages except
4627// it takes a Context and allows setting request options on the pages.
4628//
4629// The context must be non-nil and will be used for request cancellation. If
4630// the context is nil a panic will occur. In the future the SDK may create
4631// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4632// for more information on using Contexts.
4633func (c *Lambda) ListVersionsByFunctionPagesWithContext(ctx aws.Context, input *ListVersionsByFunctionInput, fn func(*ListVersionsByFunctionOutput, bool) bool, opts ...request.Option) error {
4634	p := request.Pagination{
4635		NewRequest: func() (*request.Request, error) {
4636			var inCpy *ListVersionsByFunctionInput
4637			if input != nil {
4638				tmp := *input
4639				inCpy = &tmp
4640			}
4641			req, _ := c.ListVersionsByFunctionRequest(inCpy)
4642			req.SetContext(ctx)
4643			req.ApplyOptions(opts...)
4644			return req, nil
4645		},
4646	}
4647
4648	for p.Next() {
4649		if !fn(p.Page().(*ListVersionsByFunctionOutput), !p.HasNextPage()) {
4650			break
4651		}
4652	}
4653
4654	return p.Err()
4655}
4656
4657const opPublishLayerVersion = "PublishLayerVersion"
4658
4659// PublishLayerVersionRequest generates a "aws/request.Request" representing the
4660// client's request for the PublishLayerVersion operation. The "output" return
4661// value will be populated with the request's response once the request completes
4662// successfully.
4663//
4664// Use "Send" method on the returned Request to send the API call to the service.
4665// the "output" return value is not valid until after Send returns without error.
4666//
4667// See PublishLayerVersion for more information on using the PublishLayerVersion
4668// API call, and error handling.
4669//
4670// This method is useful when you want to inject custom logic or configuration
4671// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4672//
4673//
4674//    // Example sending a request using the PublishLayerVersionRequest method.
4675//    req, resp := client.PublishLayerVersionRequest(params)
4676//
4677//    err := req.Send()
4678//    if err == nil { // resp is now filled
4679//        fmt.Println(resp)
4680//    }
4681//
4682// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/PublishLayerVersion
4683func (c *Lambda) PublishLayerVersionRequest(input *PublishLayerVersionInput) (req *request.Request, output *PublishLayerVersionOutput) {
4684	op := &request.Operation{
4685		Name:       opPublishLayerVersion,
4686		HTTPMethod: "POST",
4687		HTTPPath:   "/2018-10-31/layers/{LayerName}/versions",
4688	}
4689
4690	if input == nil {
4691		input = &PublishLayerVersionInput{}
4692	}
4693
4694	output = &PublishLayerVersionOutput{}
4695	req = c.newRequest(op, input, output)
4696	return
4697}
4698
4699// PublishLayerVersion API operation for AWS Lambda.
4700//
4701// Creates an Lambda layer (https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html)
4702// from a ZIP archive. Each time you call PublishLayerVersion with the same
4703// layer name, a new version is created.
4704//
4705// Add layers to your function with CreateFunction or UpdateFunctionConfiguration.
4706//
4707// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4708// with awserr.Error's Code and Message methods to get detailed information about
4709// the error.
4710//
4711// See the AWS API reference guide for AWS Lambda's
4712// API operation PublishLayerVersion for usage and error information.
4713//
4714// Returned Error Types:
4715//   * ServiceException
4716//   The Lambda service encountered an internal error.
4717//
4718//   * ResourceNotFoundException
4719//   The resource specified in the request does not exist.
4720//
4721//   * TooManyRequestsException
4722//   The request throughput limit was exceeded.
4723//
4724//   * InvalidParameterValueException
4725//   One of the parameters in the request is invalid.
4726//
4727//   * CodeStorageExceededException
4728//   You have exceeded your maximum total code size per account. Learn more (https://docs.aws.amazon.com/lambda/latest/dg/limits.html)
4729//
4730// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/PublishLayerVersion
4731func (c *Lambda) PublishLayerVersion(input *PublishLayerVersionInput) (*PublishLayerVersionOutput, error) {
4732	req, out := c.PublishLayerVersionRequest(input)
4733	return out, req.Send()
4734}
4735
4736// PublishLayerVersionWithContext is the same as PublishLayerVersion with the addition of
4737// the ability to pass a context and additional request options.
4738//
4739// See PublishLayerVersion for details on how to use this API operation.
4740//
4741// The context must be non-nil and will be used for request cancellation. If
4742// the context is nil a panic will occur. In the future the SDK may create
4743// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4744// for more information on using Contexts.
4745func (c *Lambda) PublishLayerVersionWithContext(ctx aws.Context, input *PublishLayerVersionInput, opts ...request.Option) (*PublishLayerVersionOutput, error) {
4746	req, out := c.PublishLayerVersionRequest(input)
4747	req.SetContext(ctx)
4748	req.ApplyOptions(opts...)
4749	return out, req.Send()
4750}
4751
4752const opPublishVersion = "PublishVersion"
4753
4754// PublishVersionRequest generates a "aws/request.Request" representing the
4755// client's request for the PublishVersion operation. The "output" return
4756// value will be populated with the request's response once the request completes
4757// successfully.
4758//
4759// Use "Send" method on the returned Request to send the API call to the service.
4760// the "output" return value is not valid until after Send returns without error.
4761//
4762// See PublishVersion for more information on using the PublishVersion
4763// API call, and error handling.
4764//
4765// This method is useful when you want to inject custom logic or configuration
4766// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4767//
4768//
4769//    // Example sending a request using the PublishVersionRequest method.
4770//    req, resp := client.PublishVersionRequest(params)
4771//
4772//    err := req.Send()
4773//    if err == nil { // resp is now filled
4774//        fmt.Println(resp)
4775//    }
4776//
4777// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/PublishVersion
4778func (c *Lambda) PublishVersionRequest(input *PublishVersionInput) (req *request.Request, output *FunctionConfiguration) {
4779	op := &request.Operation{
4780		Name:       opPublishVersion,
4781		HTTPMethod: "POST",
4782		HTTPPath:   "/2015-03-31/functions/{FunctionName}/versions",
4783	}
4784
4785	if input == nil {
4786		input = &PublishVersionInput{}
4787	}
4788
4789	output = &FunctionConfiguration{}
4790	req = c.newRequest(op, input, output)
4791	return
4792}
4793
4794// PublishVersion API operation for AWS Lambda.
4795//
4796// Creates a version (https://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html)
4797// from the current code and configuration of a function. Use versions to create
4798// a snapshot of your function code and configuration that doesn't change.
4799//
4800// Lambda doesn't publish a version if the function's configuration and code
4801// haven't changed since the last version. Use UpdateFunctionCode or UpdateFunctionConfiguration
4802// to update the function before publishing a version.
4803//
4804// Clients can invoke versions directly or with an alias. To create an alias,
4805// use CreateAlias.
4806//
4807// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4808// with awserr.Error's Code and Message methods to get detailed information about
4809// the error.
4810//
4811// See the AWS API reference guide for AWS Lambda's
4812// API operation PublishVersion for usage and error information.
4813//
4814// Returned Error Types:
4815//   * ServiceException
4816//   The Lambda service encountered an internal error.
4817//
4818//   * ResourceNotFoundException
4819//   The resource specified in the request does not exist.
4820//
4821//   * InvalidParameterValueException
4822//   One of the parameters in the request is invalid.
4823//
4824//   * TooManyRequestsException
4825//   The request throughput limit was exceeded.
4826//
4827//   * CodeStorageExceededException
4828//   You have exceeded your maximum total code size per account. Learn more (https://docs.aws.amazon.com/lambda/latest/dg/limits.html)
4829//
4830//   * PreconditionFailedException
4831//   The RevisionId provided does not match the latest RevisionId for the Lambda
4832//   function or alias. Call the GetFunction or the GetAlias API to retrieve the
4833//   latest RevisionId for your resource.
4834//
4835//   * ResourceConflictException
4836//   The resource already exists, or another operation is in progress.
4837//
4838// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/PublishVersion
4839func (c *Lambda) PublishVersion(input *PublishVersionInput) (*FunctionConfiguration, error) {
4840	req, out := c.PublishVersionRequest(input)
4841	return out, req.Send()
4842}
4843
4844// PublishVersionWithContext is the same as PublishVersion with the addition of
4845// the ability to pass a context and additional request options.
4846//
4847// See PublishVersion for details on how to use this API operation.
4848//
4849// The context must be non-nil and will be used for request cancellation. If
4850// the context is nil a panic will occur. In the future the SDK may create
4851// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4852// for more information on using Contexts.
4853func (c *Lambda) PublishVersionWithContext(ctx aws.Context, input *PublishVersionInput, opts ...request.Option) (*FunctionConfiguration, error) {
4854	req, out := c.PublishVersionRequest(input)
4855	req.SetContext(ctx)
4856	req.ApplyOptions(opts...)
4857	return out, req.Send()
4858}
4859
4860const opPutFunctionCodeSigningConfig = "PutFunctionCodeSigningConfig"
4861
4862// PutFunctionCodeSigningConfigRequest generates a "aws/request.Request" representing the
4863// client's request for the PutFunctionCodeSigningConfig operation. The "output" return
4864// value will be populated with the request's response once the request completes
4865// successfully.
4866//
4867// Use "Send" method on the returned Request to send the API call to the service.
4868// the "output" return value is not valid until after Send returns without error.
4869//
4870// See PutFunctionCodeSigningConfig for more information on using the PutFunctionCodeSigningConfig
4871// API call, and error handling.
4872//
4873// This method is useful when you want to inject custom logic or configuration
4874// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4875//
4876//
4877//    // Example sending a request using the PutFunctionCodeSigningConfigRequest method.
4878//    req, resp := client.PutFunctionCodeSigningConfigRequest(params)
4879//
4880//    err := req.Send()
4881//    if err == nil { // resp is now filled
4882//        fmt.Println(resp)
4883//    }
4884//
4885// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/PutFunctionCodeSigningConfig
4886func (c *Lambda) PutFunctionCodeSigningConfigRequest(input *PutFunctionCodeSigningConfigInput) (req *request.Request, output *PutFunctionCodeSigningConfigOutput) {
4887	op := &request.Operation{
4888		Name:       opPutFunctionCodeSigningConfig,
4889		HTTPMethod: "PUT",
4890		HTTPPath:   "/2020-06-30/functions/{FunctionName}/code-signing-config",
4891	}
4892
4893	if input == nil {
4894		input = &PutFunctionCodeSigningConfigInput{}
4895	}
4896
4897	output = &PutFunctionCodeSigningConfigOutput{}
4898	req = c.newRequest(op, input, output)
4899	return
4900}
4901
4902// PutFunctionCodeSigningConfig API operation for AWS Lambda.
4903//
4904// Update the code signing configuration for the function. Changes to the code
4905// signing configuration take effect the next time a user tries to deploy a
4906// code package to the function.
4907//
4908// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4909// with awserr.Error's Code and Message methods to get detailed information about
4910// the error.
4911//
4912// See the AWS API reference guide for AWS Lambda's
4913// API operation PutFunctionCodeSigningConfig for usage and error information.
4914//
4915// Returned Error Types:
4916//   * ServiceException
4917//   The Lambda service encountered an internal error.
4918//
4919//   * InvalidParameterValueException
4920//   One of the parameters in the request is invalid.
4921//
4922//   * ResourceNotFoundException
4923//   The resource specified in the request does not exist.
4924//
4925//   * TooManyRequestsException
4926//   The request throughput limit was exceeded.
4927//
4928//   * ResourceConflictException
4929//   The resource already exists, or another operation is in progress.
4930//
4931//   * CodeSigningConfigNotFoundException
4932//   The specified code signing configuration does not exist.
4933//
4934// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/PutFunctionCodeSigningConfig
4935func (c *Lambda) PutFunctionCodeSigningConfig(input *PutFunctionCodeSigningConfigInput) (*PutFunctionCodeSigningConfigOutput, error) {
4936	req, out := c.PutFunctionCodeSigningConfigRequest(input)
4937	return out, req.Send()
4938}
4939
4940// PutFunctionCodeSigningConfigWithContext is the same as PutFunctionCodeSigningConfig with the addition of
4941// the ability to pass a context and additional request options.
4942//
4943// See PutFunctionCodeSigningConfig for details on how to use this API operation.
4944//
4945// The context must be non-nil and will be used for request cancellation. If
4946// the context is nil a panic will occur. In the future the SDK may create
4947// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4948// for more information on using Contexts.
4949func (c *Lambda) PutFunctionCodeSigningConfigWithContext(ctx aws.Context, input *PutFunctionCodeSigningConfigInput, opts ...request.Option) (*PutFunctionCodeSigningConfigOutput, error) {
4950	req, out := c.PutFunctionCodeSigningConfigRequest(input)
4951	req.SetContext(ctx)
4952	req.ApplyOptions(opts...)
4953	return out, req.Send()
4954}
4955
4956const opPutFunctionConcurrency = "PutFunctionConcurrency"
4957
4958// PutFunctionConcurrencyRequest generates a "aws/request.Request" representing the
4959// client's request for the PutFunctionConcurrency operation. The "output" return
4960// value will be populated with the request's response once the request completes
4961// successfully.
4962//
4963// Use "Send" method on the returned Request to send the API call to the service.
4964// the "output" return value is not valid until after Send returns without error.
4965//
4966// See PutFunctionConcurrency for more information on using the PutFunctionConcurrency
4967// API call, and error handling.
4968//
4969// This method is useful when you want to inject custom logic or configuration
4970// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4971//
4972//
4973//    // Example sending a request using the PutFunctionConcurrencyRequest method.
4974//    req, resp := client.PutFunctionConcurrencyRequest(params)
4975//
4976//    err := req.Send()
4977//    if err == nil { // resp is now filled
4978//        fmt.Println(resp)
4979//    }
4980//
4981// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/PutFunctionConcurrency
4982func (c *Lambda) PutFunctionConcurrencyRequest(input *PutFunctionConcurrencyInput) (req *request.Request, output *PutFunctionConcurrencyOutput) {
4983	op := &request.Operation{
4984		Name:       opPutFunctionConcurrency,
4985		HTTPMethod: "PUT",
4986		HTTPPath:   "/2017-10-31/functions/{FunctionName}/concurrency",
4987	}
4988
4989	if input == nil {
4990		input = &PutFunctionConcurrencyInput{}
4991	}
4992
4993	output = &PutFunctionConcurrencyOutput{}
4994	req = c.newRequest(op, input, output)
4995	return
4996}
4997
4998// PutFunctionConcurrency API operation for AWS Lambda.
4999//
5000// Sets the maximum number of simultaneous executions for a function, and reserves
5001// capacity for that concurrency level.
5002//
5003// Concurrency settings apply to the function as a whole, including all published
5004// versions and the unpublished version. Reserving concurrency both ensures
5005// that your function has capacity to process the specified number of events
5006// simultaneously, and prevents it from scaling beyond that level. Use GetFunction
5007// to see the current setting for a function.
5008//
5009// Use GetAccountSettings to see your Regional concurrency limit. You can reserve
5010// concurrency for as many functions as you like, as long as you leave at least
5011// 100 simultaneous executions unreserved for functions that aren't configured
5012// with a per-function limit. For more information, see Managing Concurrency
5013// (https://docs.aws.amazon.com/lambda/latest/dg/concurrent-executions.html).
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 PutFunctionConcurrency for usage and error information.
5021//
5022// Returned Error Types:
5023//   * ServiceException
5024//   The Lambda service encountered an internal error.
5025//
5026//   * InvalidParameterValueException
5027//   One of the parameters in the request is invalid.
5028//
5029//   * ResourceNotFoundException
5030//   The resource specified in the request does not exist.
5031//
5032//   * TooManyRequestsException
5033//   The request throughput limit was exceeded.
5034//
5035//   * ResourceConflictException
5036//   The resource already exists, or another operation is in progress.
5037//
5038// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/PutFunctionConcurrency
5039func (c *Lambda) PutFunctionConcurrency(input *PutFunctionConcurrencyInput) (*PutFunctionConcurrencyOutput, error) {
5040	req, out := c.PutFunctionConcurrencyRequest(input)
5041	return out, req.Send()
5042}
5043
5044// PutFunctionConcurrencyWithContext is the same as PutFunctionConcurrency with the addition of
5045// the ability to pass a context and additional request options.
5046//
5047// See PutFunctionConcurrency for details on how to use this API operation.
5048//
5049// The context must be non-nil and will be used for request cancellation. If
5050// the context is nil a panic will occur. In the future the SDK may create
5051// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5052// for more information on using Contexts.
5053func (c *Lambda) PutFunctionConcurrencyWithContext(ctx aws.Context, input *PutFunctionConcurrencyInput, opts ...request.Option) (*PutFunctionConcurrencyOutput, error) {
5054	req, out := c.PutFunctionConcurrencyRequest(input)
5055	req.SetContext(ctx)
5056	req.ApplyOptions(opts...)
5057	return out, req.Send()
5058}
5059
5060const opPutFunctionEventInvokeConfig = "PutFunctionEventInvokeConfig"
5061
5062// PutFunctionEventInvokeConfigRequest generates a "aws/request.Request" representing the
5063// client's request for the PutFunctionEventInvokeConfig operation. The "output" return
5064// value will be populated with the request's response once the request completes
5065// successfully.
5066//
5067// Use "Send" method on the returned Request to send the API call to the service.
5068// the "output" return value is not valid until after Send returns without error.
5069//
5070// See PutFunctionEventInvokeConfig for more information on using the PutFunctionEventInvokeConfig
5071// API call, and error handling.
5072//
5073// This method is useful when you want to inject custom logic or configuration
5074// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5075//
5076//
5077//    // Example sending a request using the PutFunctionEventInvokeConfigRequest method.
5078//    req, resp := client.PutFunctionEventInvokeConfigRequest(params)
5079//
5080//    err := req.Send()
5081//    if err == nil { // resp is now filled
5082//        fmt.Println(resp)
5083//    }
5084//
5085// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/PutFunctionEventInvokeConfig
5086func (c *Lambda) PutFunctionEventInvokeConfigRequest(input *PutFunctionEventInvokeConfigInput) (req *request.Request, output *PutFunctionEventInvokeConfigOutput) {
5087	op := &request.Operation{
5088		Name:       opPutFunctionEventInvokeConfig,
5089		HTTPMethod: "PUT",
5090		HTTPPath:   "/2019-09-25/functions/{FunctionName}/event-invoke-config",
5091	}
5092
5093	if input == nil {
5094		input = &PutFunctionEventInvokeConfigInput{}
5095	}
5096
5097	output = &PutFunctionEventInvokeConfigOutput{}
5098	req = c.newRequest(op, input, output)
5099	return
5100}
5101
5102// PutFunctionEventInvokeConfig API operation for AWS Lambda.
5103//
5104// Configures options for asynchronous invocation (https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html)
5105// on a function, version, or alias. If a configuration already exists for a
5106// function, version, or alias, this operation overwrites it. If you exclude
5107// any settings, they are removed. To set one option without affecting existing
5108// settings for other options, use UpdateFunctionEventInvokeConfig.
5109//
5110// By default, Lambda retries an asynchronous invocation twice if the function
5111// returns an error. It retains events in a queue for up to six hours. When
5112// an event fails all processing attempts or stays in the asynchronous invocation
5113// queue for too long, Lambda discards it. To retain discarded events, configure
5114// a dead-letter queue with UpdateFunctionConfiguration.
5115//
5116// To send an invocation record to a queue, topic, function, or event bus, specify
5117// a destination (https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#invocation-async-destinations).
5118// You can configure separate destinations for successful invocations (on-success)
5119// and events that fail all processing attempts (on-failure). You can configure
5120// destinations in addition to or instead of a dead-letter queue.
5121//
5122// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5123// with awserr.Error's Code and Message methods to get detailed information about
5124// the error.
5125//
5126// See the AWS API reference guide for AWS Lambda's
5127// API operation PutFunctionEventInvokeConfig for usage and error information.
5128//
5129// Returned Error Types:
5130//   * ServiceException
5131//   The Lambda service encountered an internal error.
5132//
5133//   * ResourceNotFoundException
5134//   The resource specified in the request does not exist.
5135//
5136//   * InvalidParameterValueException
5137//   One of the parameters in the request is invalid.
5138//
5139//   * TooManyRequestsException
5140//   The request throughput limit was exceeded.
5141//
5142//   * ResourceConflictException
5143//   The resource already exists, or another operation is in progress.
5144//
5145// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/PutFunctionEventInvokeConfig
5146func (c *Lambda) PutFunctionEventInvokeConfig(input *PutFunctionEventInvokeConfigInput) (*PutFunctionEventInvokeConfigOutput, error) {
5147	req, out := c.PutFunctionEventInvokeConfigRequest(input)
5148	return out, req.Send()
5149}
5150
5151// PutFunctionEventInvokeConfigWithContext is the same as PutFunctionEventInvokeConfig with the addition of
5152// the ability to pass a context and additional request options.
5153//
5154// See PutFunctionEventInvokeConfig for details on how to use this API operation.
5155//
5156// The context must be non-nil and will be used for request cancellation. If
5157// the context is nil a panic will occur. In the future the SDK may create
5158// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5159// for more information on using Contexts.
5160func (c *Lambda) PutFunctionEventInvokeConfigWithContext(ctx aws.Context, input *PutFunctionEventInvokeConfigInput, opts ...request.Option) (*PutFunctionEventInvokeConfigOutput, error) {
5161	req, out := c.PutFunctionEventInvokeConfigRequest(input)
5162	req.SetContext(ctx)
5163	req.ApplyOptions(opts...)
5164	return out, req.Send()
5165}
5166
5167const opPutProvisionedConcurrencyConfig = "PutProvisionedConcurrencyConfig"
5168
5169// PutProvisionedConcurrencyConfigRequest generates a "aws/request.Request" representing the
5170// client's request for the PutProvisionedConcurrencyConfig operation. The "output" return
5171// value will be populated with the request's response once the request completes
5172// successfully.
5173//
5174// Use "Send" method on the returned Request to send the API call to the service.
5175// the "output" return value is not valid until after Send returns without error.
5176//
5177// See PutProvisionedConcurrencyConfig for more information on using the PutProvisionedConcurrencyConfig
5178// API call, and error handling.
5179//
5180// This method is useful when you want to inject custom logic or configuration
5181// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5182//
5183//
5184//    // Example sending a request using the PutProvisionedConcurrencyConfigRequest method.
5185//    req, resp := client.PutProvisionedConcurrencyConfigRequest(params)
5186//
5187//    err := req.Send()
5188//    if err == nil { // resp is now filled
5189//        fmt.Println(resp)
5190//    }
5191//
5192// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/PutProvisionedConcurrencyConfig
5193func (c *Lambda) PutProvisionedConcurrencyConfigRequest(input *PutProvisionedConcurrencyConfigInput) (req *request.Request, output *PutProvisionedConcurrencyConfigOutput) {
5194	op := &request.Operation{
5195		Name:       opPutProvisionedConcurrencyConfig,
5196		HTTPMethod: "PUT",
5197		HTTPPath:   "/2019-09-30/functions/{FunctionName}/provisioned-concurrency",
5198	}
5199
5200	if input == nil {
5201		input = &PutProvisionedConcurrencyConfigInput{}
5202	}
5203
5204	output = &PutProvisionedConcurrencyConfigOutput{}
5205	req = c.newRequest(op, input, output)
5206	return
5207}
5208
5209// PutProvisionedConcurrencyConfig API operation for AWS Lambda.
5210//
5211// Adds a provisioned concurrency configuration to a function's alias or version.
5212//
5213// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5214// with awserr.Error's Code and Message methods to get detailed information about
5215// the error.
5216//
5217// See the AWS API reference guide for AWS Lambda's
5218// API operation PutProvisionedConcurrencyConfig for usage and error information.
5219//
5220// Returned Error Types:
5221//   * InvalidParameterValueException
5222//   One of the parameters in the request is invalid.
5223//
5224//   * ResourceNotFoundException
5225//   The resource specified in the request does not exist.
5226//
5227//   * ResourceConflictException
5228//   The resource already exists, or another operation is in progress.
5229//
5230//   * TooManyRequestsException
5231//   The request throughput limit was exceeded.
5232//
5233//   * ServiceException
5234//   The Lambda service encountered an internal error.
5235//
5236// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/PutProvisionedConcurrencyConfig
5237func (c *Lambda) PutProvisionedConcurrencyConfig(input *PutProvisionedConcurrencyConfigInput) (*PutProvisionedConcurrencyConfigOutput, error) {
5238	req, out := c.PutProvisionedConcurrencyConfigRequest(input)
5239	return out, req.Send()
5240}
5241
5242// PutProvisionedConcurrencyConfigWithContext is the same as PutProvisionedConcurrencyConfig with the addition of
5243// the ability to pass a context and additional request options.
5244//
5245// See PutProvisionedConcurrencyConfig for details on how to use this API operation.
5246//
5247// The context must be non-nil and will be used for request cancellation. If
5248// the context is nil a panic will occur. In the future the SDK may create
5249// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5250// for more information on using Contexts.
5251func (c *Lambda) PutProvisionedConcurrencyConfigWithContext(ctx aws.Context, input *PutProvisionedConcurrencyConfigInput, opts ...request.Option) (*PutProvisionedConcurrencyConfigOutput, error) {
5252	req, out := c.PutProvisionedConcurrencyConfigRequest(input)
5253	req.SetContext(ctx)
5254	req.ApplyOptions(opts...)
5255	return out, req.Send()
5256}
5257
5258const opRemoveLayerVersionPermission = "RemoveLayerVersionPermission"
5259
5260// RemoveLayerVersionPermissionRequest generates a "aws/request.Request" representing the
5261// client's request for the RemoveLayerVersionPermission operation. The "output" return
5262// value will be populated with the request's response once the request completes
5263// successfully.
5264//
5265// Use "Send" method on the returned Request to send the API call to the service.
5266// the "output" return value is not valid until after Send returns without error.
5267//
5268// See RemoveLayerVersionPermission for more information on using the RemoveLayerVersionPermission
5269// API call, and error handling.
5270//
5271// This method is useful when you want to inject custom logic or configuration
5272// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5273//
5274//
5275//    // Example sending a request using the RemoveLayerVersionPermissionRequest method.
5276//    req, resp := client.RemoveLayerVersionPermissionRequest(params)
5277//
5278//    err := req.Send()
5279//    if err == nil { // resp is now filled
5280//        fmt.Println(resp)
5281//    }
5282//
5283// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/RemoveLayerVersionPermission
5284func (c *Lambda) RemoveLayerVersionPermissionRequest(input *RemoveLayerVersionPermissionInput) (req *request.Request, output *RemoveLayerVersionPermissionOutput) {
5285	op := &request.Operation{
5286		Name:       opRemoveLayerVersionPermission,
5287		HTTPMethod: "DELETE",
5288		HTTPPath:   "/2018-10-31/layers/{LayerName}/versions/{VersionNumber}/policy/{StatementId}",
5289	}
5290
5291	if input == nil {
5292		input = &RemoveLayerVersionPermissionInput{}
5293	}
5294
5295	output = &RemoveLayerVersionPermissionOutput{}
5296	req = c.newRequest(op, input, output)
5297	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5298	return
5299}
5300
5301// RemoveLayerVersionPermission API operation for AWS Lambda.
5302//
5303// Removes a statement from the permissions policy for a version of an Lambda
5304// layer (https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html).
5305// For more information, see AddLayerVersionPermission.
5306//
5307// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5308// with awserr.Error's Code and Message methods to get detailed information about
5309// the error.
5310//
5311// See the AWS API reference guide for AWS Lambda's
5312// API operation RemoveLayerVersionPermission for usage and error information.
5313//
5314// Returned Error Types:
5315//   * ServiceException
5316//   The Lambda service encountered an internal error.
5317//
5318//   * ResourceNotFoundException
5319//   The resource specified in the request does not exist.
5320//
5321//   * InvalidParameterValueException
5322//   One of the parameters in the request is invalid.
5323//
5324//   * TooManyRequestsException
5325//   The request throughput limit was exceeded.
5326//
5327//   * PreconditionFailedException
5328//   The RevisionId provided does not match the latest RevisionId for the Lambda
5329//   function or alias. Call the GetFunction or the GetAlias API to retrieve the
5330//   latest RevisionId for your resource.
5331//
5332// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/RemoveLayerVersionPermission
5333func (c *Lambda) RemoveLayerVersionPermission(input *RemoveLayerVersionPermissionInput) (*RemoveLayerVersionPermissionOutput, error) {
5334	req, out := c.RemoveLayerVersionPermissionRequest(input)
5335	return out, req.Send()
5336}
5337
5338// RemoveLayerVersionPermissionWithContext is the same as RemoveLayerVersionPermission with the addition of
5339// the ability to pass a context and additional request options.
5340//
5341// See RemoveLayerVersionPermission for details on how to use this API operation.
5342//
5343// The context must be non-nil and will be used for request cancellation. If
5344// the context is nil a panic will occur. In the future the SDK may create
5345// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5346// for more information on using Contexts.
5347func (c *Lambda) RemoveLayerVersionPermissionWithContext(ctx aws.Context, input *RemoveLayerVersionPermissionInput, opts ...request.Option) (*RemoveLayerVersionPermissionOutput, error) {
5348	req, out := c.RemoveLayerVersionPermissionRequest(input)
5349	req.SetContext(ctx)
5350	req.ApplyOptions(opts...)
5351	return out, req.Send()
5352}
5353
5354const opRemovePermission = "RemovePermission"
5355
5356// RemovePermissionRequest generates a "aws/request.Request" representing the
5357// client's request for the RemovePermission operation. The "output" return
5358// value will be populated with the request's response once the request completes
5359// successfully.
5360//
5361// Use "Send" method on the returned Request to send the API call to the service.
5362// the "output" return value is not valid until after Send returns without error.
5363//
5364// See RemovePermission for more information on using the RemovePermission
5365// API call, and error handling.
5366//
5367// This method is useful when you want to inject custom logic or configuration
5368// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5369//
5370//
5371//    // Example sending a request using the RemovePermissionRequest method.
5372//    req, resp := client.RemovePermissionRequest(params)
5373//
5374//    err := req.Send()
5375//    if err == nil { // resp is now filled
5376//        fmt.Println(resp)
5377//    }
5378//
5379// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/RemovePermission
5380func (c *Lambda) RemovePermissionRequest(input *RemovePermissionInput) (req *request.Request, output *RemovePermissionOutput) {
5381	op := &request.Operation{
5382		Name:       opRemovePermission,
5383		HTTPMethod: "DELETE",
5384		HTTPPath:   "/2015-03-31/functions/{FunctionName}/policy/{StatementId}",
5385	}
5386
5387	if input == nil {
5388		input = &RemovePermissionInput{}
5389	}
5390
5391	output = &RemovePermissionOutput{}
5392	req = c.newRequest(op, input, output)
5393	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5394	return
5395}
5396
5397// RemovePermission API operation for AWS Lambda.
5398//
5399// Revokes function-use permission from an Amazon Web Services service or another
5400// account. You can get the ID of the statement from the output of GetPolicy.
5401//
5402// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5403// with awserr.Error's Code and Message methods to get detailed information about
5404// the error.
5405//
5406// See the AWS API reference guide for AWS Lambda's
5407// API operation RemovePermission for usage and error information.
5408//
5409// Returned Error Types:
5410//   * ServiceException
5411//   The Lambda service encountered an internal error.
5412//
5413//   * ResourceNotFoundException
5414//   The resource specified in the request does not exist.
5415//
5416//   * InvalidParameterValueException
5417//   One of the parameters in the request is invalid.
5418//
5419//   * TooManyRequestsException
5420//   The request throughput limit was exceeded.
5421//
5422//   * PreconditionFailedException
5423//   The RevisionId provided does not match the latest RevisionId for the Lambda
5424//   function or alias. Call the GetFunction or the GetAlias API to retrieve the
5425//   latest RevisionId for your resource.
5426//
5427// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/RemovePermission
5428func (c *Lambda) RemovePermission(input *RemovePermissionInput) (*RemovePermissionOutput, error) {
5429	req, out := c.RemovePermissionRequest(input)
5430	return out, req.Send()
5431}
5432
5433// RemovePermissionWithContext is the same as RemovePermission with the addition of
5434// the ability to pass a context and additional request options.
5435//
5436// See RemovePermission for details on how to use this API operation.
5437//
5438// The context must be non-nil and will be used for request cancellation. If
5439// the context is nil a panic will occur. In the future the SDK may create
5440// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5441// for more information on using Contexts.
5442func (c *Lambda) RemovePermissionWithContext(ctx aws.Context, input *RemovePermissionInput, opts ...request.Option) (*RemovePermissionOutput, error) {
5443	req, out := c.RemovePermissionRequest(input)
5444	req.SetContext(ctx)
5445	req.ApplyOptions(opts...)
5446	return out, req.Send()
5447}
5448
5449const opTagResource = "TagResource"
5450
5451// TagResourceRequest generates a "aws/request.Request" representing the
5452// client's request for the TagResource operation. The "output" return
5453// value will be populated with the request's response once the request completes
5454// successfully.
5455//
5456// Use "Send" method on the returned Request to send the API call to the service.
5457// the "output" return value is not valid until after Send returns without error.
5458//
5459// See TagResource for more information on using the TagResource
5460// API call, and error handling.
5461//
5462// This method is useful when you want to inject custom logic or configuration
5463// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5464//
5465//
5466//    // Example sending a request using the TagResourceRequest method.
5467//    req, resp := client.TagResourceRequest(params)
5468//
5469//    err := req.Send()
5470//    if err == nil { // resp is now filled
5471//        fmt.Println(resp)
5472//    }
5473//
5474// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/TagResource
5475func (c *Lambda) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
5476	op := &request.Operation{
5477		Name:       opTagResource,
5478		HTTPMethod: "POST",
5479		HTTPPath:   "/2017-03-31/tags/{ARN}",
5480	}
5481
5482	if input == nil {
5483		input = &TagResourceInput{}
5484	}
5485
5486	output = &TagResourceOutput{}
5487	req = c.newRequest(op, input, output)
5488	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5489	return
5490}
5491
5492// TagResource API operation for AWS Lambda.
5493//
5494// Adds tags (https://docs.aws.amazon.com/lambda/latest/dg/tagging.html) to
5495// a function.
5496//
5497// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5498// with awserr.Error's Code and Message methods to get detailed information about
5499// the error.
5500//
5501// See the AWS API reference guide for AWS Lambda's
5502// API operation TagResource for usage and error information.
5503//
5504// Returned Error Types:
5505//   * ServiceException
5506//   The Lambda service encountered an internal error.
5507//
5508//   * ResourceNotFoundException
5509//   The resource specified in the request does not exist.
5510//
5511//   * InvalidParameterValueException
5512//   One of the parameters in the request is invalid.
5513//
5514//   * TooManyRequestsException
5515//   The request throughput limit was exceeded.
5516//
5517//   * ResourceConflictException
5518//   The resource already exists, or another operation is in progress.
5519//
5520// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/TagResource
5521func (c *Lambda) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
5522	req, out := c.TagResourceRequest(input)
5523	return out, req.Send()
5524}
5525
5526// TagResourceWithContext is the same as TagResource with the addition of
5527// the ability to pass a context and additional request options.
5528//
5529// See TagResource for details on how to use this API operation.
5530//
5531// The context must be non-nil and will be used for request cancellation. If
5532// the context is nil a panic will occur. In the future the SDK may create
5533// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5534// for more information on using Contexts.
5535func (c *Lambda) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
5536	req, out := c.TagResourceRequest(input)
5537	req.SetContext(ctx)
5538	req.ApplyOptions(opts...)
5539	return out, req.Send()
5540}
5541
5542const opUntagResource = "UntagResource"
5543
5544// UntagResourceRequest generates a "aws/request.Request" representing the
5545// client's request for the UntagResource operation. The "output" return
5546// value will be populated with the request's response once the request completes
5547// successfully.
5548//
5549// Use "Send" method on the returned Request to send the API call to the service.
5550// the "output" return value is not valid until after Send returns without error.
5551//
5552// See UntagResource for more information on using the UntagResource
5553// API call, and error handling.
5554//
5555// This method is useful when you want to inject custom logic or configuration
5556// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5557//
5558//
5559//    // Example sending a request using the UntagResourceRequest method.
5560//    req, resp := client.UntagResourceRequest(params)
5561//
5562//    err := req.Send()
5563//    if err == nil { // resp is now filled
5564//        fmt.Println(resp)
5565//    }
5566//
5567// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/UntagResource
5568func (c *Lambda) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
5569	op := &request.Operation{
5570		Name:       opUntagResource,
5571		HTTPMethod: "DELETE",
5572		HTTPPath:   "/2017-03-31/tags/{ARN}",
5573	}
5574
5575	if input == nil {
5576		input = &UntagResourceInput{}
5577	}
5578
5579	output = &UntagResourceOutput{}
5580	req = c.newRequest(op, input, output)
5581	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5582	return
5583}
5584
5585// UntagResource API operation for AWS Lambda.
5586//
5587// Removes tags (https://docs.aws.amazon.com/lambda/latest/dg/tagging.html)
5588// from a function.
5589//
5590// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5591// with awserr.Error's Code and Message methods to get detailed information about
5592// the error.
5593//
5594// See the AWS API reference guide for AWS Lambda's
5595// API operation UntagResource for usage and error information.
5596//
5597// Returned Error Types:
5598//   * ServiceException
5599//   The Lambda service encountered an internal error.
5600//
5601//   * ResourceNotFoundException
5602//   The resource specified in the request does not exist.
5603//
5604//   * InvalidParameterValueException
5605//   One of the parameters in the request is invalid.
5606//
5607//   * TooManyRequestsException
5608//   The request throughput limit was exceeded.
5609//
5610//   * ResourceConflictException
5611//   The resource already exists, or another operation is in progress.
5612//
5613// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/UntagResource
5614func (c *Lambda) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
5615	req, out := c.UntagResourceRequest(input)
5616	return out, req.Send()
5617}
5618
5619// UntagResourceWithContext is the same as UntagResource with the addition of
5620// the ability to pass a context and additional request options.
5621//
5622// See UntagResource for details on how to use this API operation.
5623//
5624// The context must be non-nil and will be used for request cancellation. If
5625// the context is nil a panic will occur. In the future the SDK may create
5626// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5627// for more information on using Contexts.
5628func (c *Lambda) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
5629	req, out := c.UntagResourceRequest(input)
5630	req.SetContext(ctx)
5631	req.ApplyOptions(opts...)
5632	return out, req.Send()
5633}
5634
5635const opUpdateAlias = "UpdateAlias"
5636
5637// UpdateAliasRequest generates a "aws/request.Request" representing the
5638// client's request for the UpdateAlias operation. The "output" return
5639// value will be populated with the request's response once the request completes
5640// successfully.
5641//
5642// Use "Send" method on the returned Request to send the API call to the service.
5643// the "output" return value is not valid until after Send returns without error.
5644//
5645// See UpdateAlias for more information on using the UpdateAlias
5646// API call, and error handling.
5647//
5648// This method is useful when you want to inject custom logic or configuration
5649// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5650//
5651//
5652//    // Example sending a request using the UpdateAliasRequest method.
5653//    req, resp := client.UpdateAliasRequest(params)
5654//
5655//    err := req.Send()
5656//    if err == nil { // resp is now filled
5657//        fmt.Println(resp)
5658//    }
5659//
5660// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/UpdateAlias
5661func (c *Lambda) UpdateAliasRequest(input *UpdateAliasInput) (req *request.Request, output *AliasConfiguration) {
5662	op := &request.Operation{
5663		Name:       opUpdateAlias,
5664		HTTPMethod: "PUT",
5665		HTTPPath:   "/2015-03-31/functions/{FunctionName}/aliases/{Name}",
5666	}
5667
5668	if input == nil {
5669		input = &UpdateAliasInput{}
5670	}
5671
5672	output = &AliasConfiguration{}
5673	req = c.newRequest(op, input, output)
5674	return
5675}
5676
5677// UpdateAlias API operation for AWS Lambda.
5678//
5679// Updates the configuration of a Lambda function alias (https://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html).
5680//
5681// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5682// with awserr.Error's Code and Message methods to get detailed information about
5683// the error.
5684//
5685// See the AWS API reference guide for AWS Lambda's
5686// API operation UpdateAlias for usage and error information.
5687//
5688// Returned Error Types:
5689//   * ServiceException
5690//   The Lambda service encountered an internal error.
5691//
5692//   * ResourceNotFoundException
5693//   The resource specified in the request does not exist.
5694//
5695//   * InvalidParameterValueException
5696//   One of the parameters in the request is invalid.
5697//
5698//   * TooManyRequestsException
5699//   The request throughput limit was exceeded.
5700//
5701//   * PreconditionFailedException
5702//   The RevisionId provided does not match the latest RevisionId for the Lambda
5703//   function or alias. Call the GetFunction or the GetAlias API to retrieve the
5704//   latest RevisionId for your resource.
5705//
5706//   * ResourceConflictException
5707//   The resource already exists, or another operation is in progress.
5708//
5709// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/UpdateAlias
5710func (c *Lambda) UpdateAlias(input *UpdateAliasInput) (*AliasConfiguration, error) {
5711	req, out := c.UpdateAliasRequest(input)
5712	return out, req.Send()
5713}
5714
5715// UpdateAliasWithContext is the same as UpdateAlias with the addition of
5716// the ability to pass a context and additional request options.
5717//
5718// See UpdateAlias for details on how to use this API operation.
5719//
5720// The context must be non-nil and will be used for request cancellation. If
5721// the context is nil a panic will occur. In the future the SDK may create
5722// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5723// for more information on using Contexts.
5724func (c *Lambda) UpdateAliasWithContext(ctx aws.Context, input *UpdateAliasInput, opts ...request.Option) (*AliasConfiguration, error) {
5725	req, out := c.UpdateAliasRequest(input)
5726	req.SetContext(ctx)
5727	req.ApplyOptions(opts...)
5728	return out, req.Send()
5729}
5730
5731const opUpdateCodeSigningConfig = "UpdateCodeSigningConfig"
5732
5733// UpdateCodeSigningConfigRequest generates a "aws/request.Request" representing the
5734// client's request for the UpdateCodeSigningConfig operation. The "output" return
5735// value will be populated with the request's response once the request completes
5736// successfully.
5737//
5738// Use "Send" method on the returned Request to send the API call to the service.
5739// the "output" return value is not valid until after Send returns without error.
5740//
5741// See UpdateCodeSigningConfig for more information on using the UpdateCodeSigningConfig
5742// API call, and error handling.
5743//
5744// This method is useful when you want to inject custom logic or configuration
5745// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5746//
5747//
5748//    // Example sending a request using the UpdateCodeSigningConfigRequest method.
5749//    req, resp := client.UpdateCodeSigningConfigRequest(params)
5750//
5751//    err := req.Send()
5752//    if err == nil { // resp is now filled
5753//        fmt.Println(resp)
5754//    }
5755//
5756// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/UpdateCodeSigningConfig
5757func (c *Lambda) UpdateCodeSigningConfigRequest(input *UpdateCodeSigningConfigInput) (req *request.Request, output *UpdateCodeSigningConfigOutput) {
5758	op := &request.Operation{
5759		Name:       opUpdateCodeSigningConfig,
5760		HTTPMethod: "PUT",
5761		HTTPPath:   "/2020-04-22/code-signing-configs/{CodeSigningConfigArn}",
5762	}
5763
5764	if input == nil {
5765		input = &UpdateCodeSigningConfigInput{}
5766	}
5767
5768	output = &UpdateCodeSigningConfigOutput{}
5769	req = c.newRequest(op, input, output)
5770	return
5771}
5772
5773// UpdateCodeSigningConfig API operation for AWS Lambda.
5774//
5775// Update the code signing configuration. Changes to the code signing configuration
5776// take effect the next time a user tries to deploy a code package to the function.
5777//
5778// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5779// with awserr.Error's Code and Message methods to get detailed information about
5780// the error.
5781//
5782// See the AWS API reference guide for AWS Lambda's
5783// API operation UpdateCodeSigningConfig for usage and error information.
5784//
5785// Returned Error Types:
5786//   * ServiceException
5787//   The Lambda service encountered an internal error.
5788//
5789//   * InvalidParameterValueException
5790//   One of the parameters in the request is invalid.
5791//
5792//   * ResourceNotFoundException
5793//   The resource specified in the request does not exist.
5794//
5795// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/UpdateCodeSigningConfig
5796func (c *Lambda) UpdateCodeSigningConfig(input *UpdateCodeSigningConfigInput) (*UpdateCodeSigningConfigOutput, error) {
5797	req, out := c.UpdateCodeSigningConfigRequest(input)
5798	return out, req.Send()
5799}
5800
5801// UpdateCodeSigningConfigWithContext is the same as UpdateCodeSigningConfig with the addition of
5802// the ability to pass a context and additional request options.
5803//
5804// See UpdateCodeSigningConfig for details on how to use this API operation.
5805//
5806// The context must be non-nil and will be used for request cancellation. If
5807// the context is nil a panic will occur. In the future the SDK may create
5808// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5809// for more information on using Contexts.
5810func (c *Lambda) UpdateCodeSigningConfigWithContext(ctx aws.Context, input *UpdateCodeSigningConfigInput, opts ...request.Option) (*UpdateCodeSigningConfigOutput, error) {
5811	req, out := c.UpdateCodeSigningConfigRequest(input)
5812	req.SetContext(ctx)
5813	req.ApplyOptions(opts...)
5814	return out, req.Send()
5815}
5816
5817const opUpdateEventSourceMapping = "UpdateEventSourceMapping"
5818
5819// UpdateEventSourceMappingRequest generates a "aws/request.Request" representing the
5820// client's request for the UpdateEventSourceMapping operation. The "output" return
5821// value will be populated with the request's response once the request completes
5822// successfully.
5823//
5824// Use "Send" method on the returned Request to send the API call to the service.
5825// the "output" return value is not valid until after Send returns without error.
5826//
5827// See UpdateEventSourceMapping for more information on using the UpdateEventSourceMapping
5828// API call, and error handling.
5829//
5830// This method is useful when you want to inject custom logic or configuration
5831// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5832//
5833//
5834//    // Example sending a request using the UpdateEventSourceMappingRequest method.
5835//    req, resp := client.UpdateEventSourceMappingRequest(params)
5836//
5837//    err := req.Send()
5838//    if err == nil { // resp is now filled
5839//        fmt.Println(resp)
5840//    }
5841//
5842// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/UpdateEventSourceMapping
5843func (c *Lambda) UpdateEventSourceMappingRequest(input *UpdateEventSourceMappingInput) (req *request.Request, output *EventSourceMappingConfiguration) {
5844	op := &request.Operation{
5845		Name:       opUpdateEventSourceMapping,
5846		HTTPMethod: "PUT",
5847		HTTPPath:   "/2015-03-31/event-source-mappings/{UUID}",
5848	}
5849
5850	if input == nil {
5851		input = &UpdateEventSourceMappingInput{}
5852	}
5853
5854	output = &EventSourceMappingConfiguration{}
5855	req = c.newRequest(op, input, output)
5856	return
5857}
5858
5859// UpdateEventSourceMapping API operation for AWS Lambda.
5860//
5861// Updates an event source mapping. You can change the function that Lambda
5862// invokes, or pause invocation and resume later from the same location.
5863//
5864// The following error handling options are only available for stream sources
5865// (DynamoDB and Kinesis):
5866//
5867//    * BisectBatchOnFunctionError - If the function returns an error, split
5868//    the batch in two and retry.
5869//
5870//    * DestinationConfig - Send discarded records to an Amazon SQS queue or
5871//    Amazon SNS topic.
5872//
5873//    * MaximumRecordAgeInSeconds - Discard records older than the specified
5874//    age. The default value is infinite (-1). When set to infinite (-1), failed
5875//    records are retried until the record expires
5876//
5877//    * MaximumRetryAttempts - Discard records after the specified number of
5878//    retries. The default value is infinite (-1). When set to infinite (-1),
5879//    failed records are retried until the record expires.
5880//
5881//    * ParallelizationFactor - Process multiple batches from each shard concurrently.
5882//
5883// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5884// with awserr.Error's Code and Message methods to get detailed information about
5885// the error.
5886//
5887// See the AWS API reference guide for AWS Lambda's
5888// API operation UpdateEventSourceMapping for usage and error information.
5889//
5890// Returned Error Types:
5891//   * ServiceException
5892//   The Lambda service encountered an internal error.
5893//
5894//   * ResourceNotFoundException
5895//   The resource specified in the request does not exist.
5896//
5897//   * InvalidParameterValueException
5898//   One of the parameters in the request is invalid.
5899//
5900//   * TooManyRequestsException
5901//   The request throughput limit was exceeded.
5902//
5903//   * ResourceConflictException
5904//   The resource already exists, or another operation is in progress.
5905//
5906//   * ResourceInUseException
5907//   The operation conflicts with the resource's availability. For example, you
5908//   attempted to update an EventSource Mapping in CREATING, or tried to delete
5909//   a EventSource mapping currently in the UPDATING state.
5910//
5911// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/UpdateEventSourceMapping
5912func (c *Lambda) UpdateEventSourceMapping(input *UpdateEventSourceMappingInput) (*EventSourceMappingConfiguration, error) {
5913	req, out := c.UpdateEventSourceMappingRequest(input)
5914	return out, req.Send()
5915}
5916
5917// UpdateEventSourceMappingWithContext is the same as UpdateEventSourceMapping with the addition of
5918// the ability to pass a context and additional request options.
5919//
5920// See UpdateEventSourceMapping for details on how to use this API operation.
5921//
5922// The context must be non-nil and will be used for request cancellation. If
5923// the context is nil a panic will occur. In the future the SDK may create
5924// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5925// for more information on using Contexts.
5926func (c *Lambda) UpdateEventSourceMappingWithContext(ctx aws.Context, input *UpdateEventSourceMappingInput, opts ...request.Option) (*EventSourceMappingConfiguration, error) {
5927	req, out := c.UpdateEventSourceMappingRequest(input)
5928	req.SetContext(ctx)
5929	req.ApplyOptions(opts...)
5930	return out, req.Send()
5931}
5932
5933const opUpdateFunctionCode = "UpdateFunctionCode"
5934
5935// UpdateFunctionCodeRequest generates a "aws/request.Request" representing the
5936// client's request for the UpdateFunctionCode operation. The "output" return
5937// value will be populated with the request's response once the request completes
5938// successfully.
5939//
5940// Use "Send" method on the returned Request to send the API call to the service.
5941// the "output" return value is not valid until after Send returns without error.
5942//
5943// See UpdateFunctionCode for more information on using the UpdateFunctionCode
5944// API call, and error handling.
5945//
5946// This method is useful when you want to inject custom logic or configuration
5947// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5948//
5949//
5950//    // Example sending a request using the UpdateFunctionCodeRequest method.
5951//    req, resp := client.UpdateFunctionCodeRequest(params)
5952//
5953//    err := req.Send()
5954//    if err == nil { // resp is now filled
5955//        fmt.Println(resp)
5956//    }
5957//
5958// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/UpdateFunctionCode
5959func (c *Lambda) UpdateFunctionCodeRequest(input *UpdateFunctionCodeInput) (req *request.Request, output *FunctionConfiguration) {
5960	op := &request.Operation{
5961		Name:       opUpdateFunctionCode,
5962		HTTPMethod: "PUT",
5963		HTTPPath:   "/2015-03-31/functions/{FunctionName}/code",
5964	}
5965
5966	if input == nil {
5967		input = &UpdateFunctionCodeInput{}
5968	}
5969
5970	output = &FunctionConfiguration{}
5971	req = c.newRequest(op, input, output)
5972	return
5973}
5974
5975// UpdateFunctionCode API operation for AWS Lambda.
5976//
5977// Updates a Lambda function's code. If code signing is enabled for the function,
5978// the code package must be signed by a trusted publisher. For more information,
5979// see Configuring code signing (https://docs.aws.amazon.com/lambda/latest/dg/configuration-trustedcode.html).
5980//
5981// The function's code is locked when you publish a version. You can't modify
5982// the code of a published version, only the unpublished version.
5983//
5984// For a function defined as a container image, Lambda resolves the image tag
5985// to an image digest. In Amazon ECR, if you update the image tag to a new image,
5986// Lambda does not automatically update the function.
5987//
5988// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5989// with awserr.Error's Code and Message methods to get detailed information about
5990// the error.
5991//
5992// See the AWS API reference guide for AWS Lambda's
5993// API operation UpdateFunctionCode for usage and error information.
5994//
5995// Returned Error Types:
5996//   * ServiceException
5997//   The Lambda service encountered an internal error.
5998//
5999//   * ResourceNotFoundException
6000//   The resource specified in the request does not exist.
6001//
6002//   * InvalidParameterValueException
6003//   One of the parameters in the request is invalid.
6004//
6005//   * TooManyRequestsException
6006//   The request throughput limit was exceeded.
6007//
6008//   * CodeStorageExceededException
6009//   You have exceeded your maximum total code size per account. Learn more (https://docs.aws.amazon.com/lambda/latest/dg/limits.html)
6010//
6011//   * PreconditionFailedException
6012//   The RevisionId provided does not match the latest RevisionId for the Lambda
6013//   function or alias. Call the GetFunction or the GetAlias API to retrieve the
6014//   latest RevisionId for your resource.
6015//
6016//   * ResourceConflictException
6017//   The resource already exists, or another operation is in progress.
6018//
6019//   * CodeVerificationFailedException
6020//   The code signature failed one or more of the validation checks for signature
6021//   mismatch or expiry, and the code signing policy is set to ENFORCE. Lambda
6022//   blocks the deployment.
6023//
6024//   * InvalidCodeSignatureException
6025//   The code signature failed the integrity check. Lambda always blocks deployment
6026//   if the integrity check fails, even if code signing policy is set to WARN.
6027//
6028//   * CodeSigningConfigNotFoundException
6029//   The specified code signing configuration does not exist.
6030//
6031// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/UpdateFunctionCode
6032func (c *Lambda) UpdateFunctionCode(input *UpdateFunctionCodeInput) (*FunctionConfiguration, error) {
6033	req, out := c.UpdateFunctionCodeRequest(input)
6034	return out, req.Send()
6035}
6036
6037// UpdateFunctionCodeWithContext is the same as UpdateFunctionCode with the addition of
6038// the ability to pass a context and additional request options.
6039//
6040// See UpdateFunctionCode for details on how to use this API operation.
6041//
6042// The context must be non-nil and will be used for request cancellation. If
6043// the context is nil a panic will occur. In the future the SDK may create
6044// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6045// for more information on using Contexts.
6046func (c *Lambda) UpdateFunctionCodeWithContext(ctx aws.Context, input *UpdateFunctionCodeInput, opts ...request.Option) (*FunctionConfiguration, error) {
6047	req, out := c.UpdateFunctionCodeRequest(input)
6048	req.SetContext(ctx)
6049	req.ApplyOptions(opts...)
6050	return out, req.Send()
6051}
6052
6053const opUpdateFunctionConfiguration = "UpdateFunctionConfiguration"
6054
6055// UpdateFunctionConfigurationRequest generates a "aws/request.Request" representing the
6056// client's request for the UpdateFunctionConfiguration operation. The "output" return
6057// value will be populated with the request's response once the request completes
6058// successfully.
6059//
6060// Use "Send" method on the returned Request to send the API call to the service.
6061// the "output" return value is not valid until after Send returns without error.
6062//
6063// See UpdateFunctionConfiguration for more information on using the UpdateFunctionConfiguration
6064// API call, and error handling.
6065//
6066// This method is useful when you want to inject custom logic or configuration
6067// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6068//
6069//
6070//    // Example sending a request using the UpdateFunctionConfigurationRequest method.
6071//    req, resp := client.UpdateFunctionConfigurationRequest(params)
6072//
6073//    err := req.Send()
6074//    if err == nil { // resp is now filled
6075//        fmt.Println(resp)
6076//    }
6077//
6078// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/UpdateFunctionConfiguration
6079func (c *Lambda) UpdateFunctionConfigurationRequest(input *UpdateFunctionConfigurationInput) (req *request.Request, output *FunctionConfiguration) {
6080	op := &request.Operation{
6081		Name:       opUpdateFunctionConfiguration,
6082		HTTPMethod: "PUT",
6083		HTTPPath:   "/2015-03-31/functions/{FunctionName}/configuration",
6084	}
6085
6086	if input == nil {
6087		input = &UpdateFunctionConfigurationInput{}
6088	}
6089
6090	output = &FunctionConfiguration{}
6091	req = c.newRequest(op, input, output)
6092	return
6093}
6094
6095// UpdateFunctionConfiguration API operation for AWS Lambda.
6096//
6097// Modify the version-specific settings of a Lambda function.
6098//
6099// When you update a function, Lambda provisions an instance of the function
6100// and its supporting resources. If your function connects to a VPC, this process
6101// can take a minute. During this time, you can't modify the function, but you
6102// can still invoke it. The LastUpdateStatus, LastUpdateStatusReason, and LastUpdateStatusReasonCode
6103// fields in the response from GetFunctionConfiguration indicate when the update
6104// is complete and the function is processing events with the new configuration.
6105// For more information, see Function States (https://docs.aws.amazon.com/lambda/latest/dg/functions-states.html).
6106//
6107// These settings can vary between versions of a function and are locked when
6108// you publish a version. You can't modify the configuration of a published
6109// version, only the unpublished version.
6110//
6111// To configure function concurrency, use PutFunctionConcurrency. To grant invoke
6112// permissions to an account or Amazon Web Services service, use AddPermission.
6113//
6114// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6115// with awserr.Error's Code and Message methods to get detailed information about
6116// the error.
6117//
6118// See the AWS API reference guide for AWS Lambda's
6119// API operation UpdateFunctionConfiguration for usage and error information.
6120//
6121// Returned Error Types:
6122//   * ServiceException
6123//   The Lambda service encountered an internal error.
6124//
6125//   * ResourceNotFoundException
6126//   The resource specified in the request does not exist.
6127//
6128//   * InvalidParameterValueException
6129//   One of the parameters in the request is invalid.
6130//
6131//   * TooManyRequestsException
6132//   The request throughput limit was exceeded.
6133//
6134//   * ResourceConflictException
6135//   The resource already exists, or another operation is in progress.
6136//
6137//   * PreconditionFailedException
6138//   The RevisionId provided does not match the latest RevisionId for the Lambda
6139//   function or alias. Call the GetFunction or the GetAlias API to retrieve the
6140//   latest RevisionId for your resource.
6141//
6142//   * CodeVerificationFailedException
6143//   The code signature failed one or more of the validation checks for signature
6144//   mismatch or expiry, and the code signing policy is set to ENFORCE. Lambda
6145//   blocks the deployment.
6146//
6147//   * InvalidCodeSignatureException
6148//   The code signature failed the integrity check. Lambda always blocks deployment
6149//   if the integrity check fails, even if code signing policy is set to WARN.
6150//
6151//   * CodeSigningConfigNotFoundException
6152//   The specified code signing configuration does not exist.
6153//
6154// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/UpdateFunctionConfiguration
6155func (c *Lambda) UpdateFunctionConfiguration(input *UpdateFunctionConfigurationInput) (*FunctionConfiguration, error) {
6156	req, out := c.UpdateFunctionConfigurationRequest(input)
6157	return out, req.Send()
6158}
6159
6160// UpdateFunctionConfigurationWithContext is the same as UpdateFunctionConfiguration with the addition of
6161// the ability to pass a context and additional request options.
6162//
6163// See UpdateFunctionConfiguration for details on how to use this API operation.
6164//
6165// The context must be non-nil and will be used for request cancellation. If
6166// the context is nil a panic will occur. In the future the SDK may create
6167// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6168// for more information on using Contexts.
6169func (c *Lambda) UpdateFunctionConfigurationWithContext(ctx aws.Context, input *UpdateFunctionConfigurationInput, opts ...request.Option) (*FunctionConfiguration, error) {
6170	req, out := c.UpdateFunctionConfigurationRequest(input)
6171	req.SetContext(ctx)
6172	req.ApplyOptions(opts...)
6173	return out, req.Send()
6174}
6175
6176const opUpdateFunctionEventInvokeConfig = "UpdateFunctionEventInvokeConfig"
6177
6178// UpdateFunctionEventInvokeConfigRequest generates a "aws/request.Request" representing the
6179// client's request for the UpdateFunctionEventInvokeConfig operation. The "output" return
6180// value will be populated with the request's response once the request completes
6181// successfully.
6182//
6183// Use "Send" method on the returned Request to send the API call to the service.
6184// the "output" return value is not valid until after Send returns without error.
6185//
6186// See UpdateFunctionEventInvokeConfig for more information on using the UpdateFunctionEventInvokeConfig
6187// API call, and error handling.
6188//
6189// This method is useful when you want to inject custom logic or configuration
6190// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6191//
6192//
6193//    // Example sending a request using the UpdateFunctionEventInvokeConfigRequest method.
6194//    req, resp := client.UpdateFunctionEventInvokeConfigRequest(params)
6195//
6196//    err := req.Send()
6197//    if err == nil { // resp is now filled
6198//        fmt.Println(resp)
6199//    }
6200//
6201// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/UpdateFunctionEventInvokeConfig
6202func (c *Lambda) UpdateFunctionEventInvokeConfigRequest(input *UpdateFunctionEventInvokeConfigInput) (req *request.Request, output *UpdateFunctionEventInvokeConfigOutput) {
6203	op := &request.Operation{
6204		Name:       opUpdateFunctionEventInvokeConfig,
6205		HTTPMethod: "POST",
6206		HTTPPath:   "/2019-09-25/functions/{FunctionName}/event-invoke-config",
6207	}
6208
6209	if input == nil {
6210		input = &UpdateFunctionEventInvokeConfigInput{}
6211	}
6212
6213	output = &UpdateFunctionEventInvokeConfigOutput{}
6214	req = c.newRequest(op, input, output)
6215	return
6216}
6217
6218// UpdateFunctionEventInvokeConfig API operation for AWS Lambda.
6219//
6220// Updates the configuration for asynchronous invocation for a function, version,
6221// or alias.
6222//
6223// To configure options for asynchronous invocation, use PutFunctionEventInvokeConfig.
6224//
6225// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6226// with awserr.Error's Code and Message methods to get detailed information about
6227// the error.
6228//
6229// See the AWS API reference guide for AWS Lambda's
6230// API operation UpdateFunctionEventInvokeConfig for usage and error information.
6231//
6232// Returned Error Types:
6233//   * ServiceException
6234//   The Lambda service encountered an internal error.
6235//
6236//   * ResourceNotFoundException
6237//   The resource specified in the request does not exist.
6238//
6239//   * InvalidParameterValueException
6240//   One of the parameters in the request is invalid.
6241//
6242//   * TooManyRequestsException
6243//   The request throughput limit was exceeded.
6244//
6245//   * ResourceConflictException
6246//   The resource already exists, or another operation is in progress.
6247//
6248// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/UpdateFunctionEventInvokeConfig
6249func (c *Lambda) UpdateFunctionEventInvokeConfig(input *UpdateFunctionEventInvokeConfigInput) (*UpdateFunctionEventInvokeConfigOutput, error) {
6250	req, out := c.UpdateFunctionEventInvokeConfigRequest(input)
6251	return out, req.Send()
6252}
6253
6254// UpdateFunctionEventInvokeConfigWithContext is the same as UpdateFunctionEventInvokeConfig with the addition of
6255// the ability to pass a context and additional request options.
6256//
6257// See UpdateFunctionEventInvokeConfig for details on how to use this API operation.
6258//
6259// The context must be non-nil and will be used for request cancellation. If
6260// the context is nil a panic will occur. In the future the SDK may create
6261// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6262// for more information on using Contexts.
6263func (c *Lambda) UpdateFunctionEventInvokeConfigWithContext(ctx aws.Context, input *UpdateFunctionEventInvokeConfigInput, opts ...request.Option) (*UpdateFunctionEventInvokeConfigOutput, error) {
6264	req, out := c.UpdateFunctionEventInvokeConfigRequest(input)
6265	req.SetContext(ctx)
6266	req.ApplyOptions(opts...)
6267	return out, req.Send()
6268}
6269
6270// Limits that are related to concurrency and storage. All file and storage
6271// sizes are in bytes.
6272type AccountLimit struct {
6273	_ struct{} `type:"structure"`
6274
6275	// The maximum size of a function's deployment package and layers when they're
6276	// extracted.
6277	CodeSizeUnzipped *int64 `type:"long"`
6278
6279	// The maximum size of a deployment package when it's uploaded directly to Lambda.
6280	// Use Amazon S3 for larger files.
6281	CodeSizeZipped *int64 `type:"long"`
6282
6283	// The maximum number of simultaneous function executions.
6284	ConcurrentExecutions *int64 `type:"integer"`
6285
6286	// The amount of storage space that you can use for all deployment packages
6287	// and layer archives.
6288	TotalCodeSize *int64 `type:"long"`
6289
6290	// The maximum number of simultaneous function executions, minus the capacity
6291	// that's reserved for individual functions with PutFunctionConcurrency.
6292	UnreservedConcurrentExecutions *int64 `type:"integer"`
6293}
6294
6295// String returns the string representation.
6296//
6297// API parameter values that are decorated as "sensitive" in the API will not
6298// be included in the string output. The member name will be present, but the
6299// value will be replaced with "sensitive".
6300func (s AccountLimit) String() string {
6301	return awsutil.Prettify(s)
6302}
6303
6304// GoString returns the string representation.
6305//
6306// API parameter values that are decorated as "sensitive" in the API will not
6307// be included in the string output. The member name will be present, but the
6308// value will be replaced with "sensitive".
6309func (s AccountLimit) GoString() string {
6310	return s.String()
6311}
6312
6313// SetCodeSizeUnzipped sets the CodeSizeUnzipped field's value.
6314func (s *AccountLimit) SetCodeSizeUnzipped(v int64) *AccountLimit {
6315	s.CodeSizeUnzipped = &v
6316	return s
6317}
6318
6319// SetCodeSizeZipped sets the CodeSizeZipped field's value.
6320func (s *AccountLimit) SetCodeSizeZipped(v int64) *AccountLimit {
6321	s.CodeSizeZipped = &v
6322	return s
6323}
6324
6325// SetConcurrentExecutions sets the ConcurrentExecutions field's value.
6326func (s *AccountLimit) SetConcurrentExecutions(v int64) *AccountLimit {
6327	s.ConcurrentExecutions = &v
6328	return s
6329}
6330
6331// SetTotalCodeSize sets the TotalCodeSize field's value.
6332func (s *AccountLimit) SetTotalCodeSize(v int64) *AccountLimit {
6333	s.TotalCodeSize = &v
6334	return s
6335}
6336
6337// SetUnreservedConcurrentExecutions sets the UnreservedConcurrentExecutions field's value.
6338func (s *AccountLimit) SetUnreservedConcurrentExecutions(v int64) *AccountLimit {
6339	s.UnreservedConcurrentExecutions = &v
6340	return s
6341}
6342
6343// The number of functions and amount of storage in use.
6344type AccountUsage struct {
6345	_ struct{} `type:"structure"`
6346
6347	// The number of Lambda functions.
6348	FunctionCount *int64 `type:"long"`
6349
6350	// The amount of storage space, in bytes, that's being used by deployment packages
6351	// and layer archives.
6352	TotalCodeSize *int64 `type:"long"`
6353}
6354
6355// String returns the string representation.
6356//
6357// API parameter values that are decorated as "sensitive" in the API will not
6358// be included in the string output. The member name will be present, but the
6359// value will be replaced with "sensitive".
6360func (s AccountUsage) String() string {
6361	return awsutil.Prettify(s)
6362}
6363
6364// GoString returns the string representation.
6365//
6366// API parameter values that are decorated as "sensitive" in the API will not
6367// be included in the string output. The member name will be present, but the
6368// value will be replaced with "sensitive".
6369func (s AccountUsage) GoString() string {
6370	return s.String()
6371}
6372
6373// SetFunctionCount sets the FunctionCount field's value.
6374func (s *AccountUsage) SetFunctionCount(v int64) *AccountUsage {
6375	s.FunctionCount = &v
6376	return s
6377}
6378
6379// SetTotalCodeSize sets the TotalCodeSize field's value.
6380func (s *AccountUsage) SetTotalCodeSize(v int64) *AccountUsage {
6381	s.TotalCodeSize = &v
6382	return s
6383}
6384
6385type AddLayerVersionPermissionInput struct {
6386	_ struct{} `type:"structure"`
6387
6388	// The API action that grants access to the layer. For example, lambda:GetLayerVersion.
6389	//
6390	// Action is a required field
6391	Action *string `type:"string" required:"true"`
6392
6393	// The name or Amazon Resource Name (ARN) of the layer.
6394	//
6395	// LayerName is a required field
6396	LayerName *string `location:"uri" locationName:"LayerName" min:"1" type:"string" required:"true"`
6397
6398	// With the principal set to *, grant permission to all accounts in the specified
6399	// organization.
6400	OrganizationId *string `type:"string"`
6401
6402	// An account ID, or * to grant layer usage permission to all accounts in an
6403	// organization, or all Amazon Web Services accounts (if organizationId is not
6404	// specified). For the last case, make sure that you really do want all Amazon
6405	// Web Services accounts to have usage permission to this layer.
6406	//
6407	// Principal is a required field
6408	Principal *string `type:"string" required:"true"`
6409
6410	// Only update the policy if the revision ID matches the ID specified. Use this
6411	// option to avoid modifying a policy that has changed since you last read it.
6412	RevisionId *string `location:"querystring" locationName:"RevisionId" type:"string"`
6413
6414	// An identifier that distinguishes the policy from others on the same layer
6415	// version.
6416	//
6417	// StatementId is a required field
6418	StatementId *string `min:"1" type:"string" required:"true"`
6419
6420	// The version number.
6421	//
6422	// VersionNumber is a required field
6423	VersionNumber *int64 `location:"uri" locationName:"VersionNumber" type:"long" required:"true"`
6424}
6425
6426// String returns the string representation.
6427//
6428// API parameter values that are decorated as "sensitive" in the API will not
6429// be included in the string output. The member name will be present, but the
6430// value will be replaced with "sensitive".
6431func (s AddLayerVersionPermissionInput) String() string {
6432	return awsutil.Prettify(s)
6433}
6434
6435// GoString returns the string representation.
6436//
6437// API parameter values that are decorated as "sensitive" in the API will not
6438// be included in the string output. The member name will be present, but the
6439// value will be replaced with "sensitive".
6440func (s AddLayerVersionPermissionInput) GoString() string {
6441	return s.String()
6442}
6443
6444// Validate inspects the fields of the type to determine if they are valid.
6445func (s *AddLayerVersionPermissionInput) Validate() error {
6446	invalidParams := request.ErrInvalidParams{Context: "AddLayerVersionPermissionInput"}
6447	if s.Action == nil {
6448		invalidParams.Add(request.NewErrParamRequired("Action"))
6449	}
6450	if s.LayerName == nil {
6451		invalidParams.Add(request.NewErrParamRequired("LayerName"))
6452	}
6453	if s.LayerName != nil && len(*s.LayerName) < 1 {
6454		invalidParams.Add(request.NewErrParamMinLen("LayerName", 1))
6455	}
6456	if s.Principal == nil {
6457		invalidParams.Add(request.NewErrParamRequired("Principal"))
6458	}
6459	if s.StatementId == nil {
6460		invalidParams.Add(request.NewErrParamRequired("StatementId"))
6461	}
6462	if s.StatementId != nil && len(*s.StatementId) < 1 {
6463		invalidParams.Add(request.NewErrParamMinLen("StatementId", 1))
6464	}
6465	if s.VersionNumber == nil {
6466		invalidParams.Add(request.NewErrParamRequired("VersionNumber"))
6467	}
6468
6469	if invalidParams.Len() > 0 {
6470		return invalidParams
6471	}
6472	return nil
6473}
6474
6475// SetAction sets the Action field's value.
6476func (s *AddLayerVersionPermissionInput) SetAction(v string) *AddLayerVersionPermissionInput {
6477	s.Action = &v
6478	return s
6479}
6480
6481// SetLayerName sets the LayerName field's value.
6482func (s *AddLayerVersionPermissionInput) SetLayerName(v string) *AddLayerVersionPermissionInput {
6483	s.LayerName = &v
6484	return s
6485}
6486
6487// SetOrganizationId sets the OrganizationId field's value.
6488func (s *AddLayerVersionPermissionInput) SetOrganizationId(v string) *AddLayerVersionPermissionInput {
6489	s.OrganizationId = &v
6490	return s
6491}
6492
6493// SetPrincipal sets the Principal field's value.
6494func (s *AddLayerVersionPermissionInput) SetPrincipal(v string) *AddLayerVersionPermissionInput {
6495	s.Principal = &v
6496	return s
6497}
6498
6499// SetRevisionId sets the RevisionId field's value.
6500func (s *AddLayerVersionPermissionInput) SetRevisionId(v string) *AddLayerVersionPermissionInput {
6501	s.RevisionId = &v
6502	return s
6503}
6504
6505// SetStatementId sets the StatementId field's value.
6506func (s *AddLayerVersionPermissionInput) SetStatementId(v string) *AddLayerVersionPermissionInput {
6507	s.StatementId = &v
6508	return s
6509}
6510
6511// SetVersionNumber sets the VersionNumber field's value.
6512func (s *AddLayerVersionPermissionInput) SetVersionNumber(v int64) *AddLayerVersionPermissionInput {
6513	s.VersionNumber = &v
6514	return s
6515}
6516
6517type AddLayerVersionPermissionOutput struct {
6518	_ struct{} `type:"structure"`
6519
6520	// A unique identifier for the current revision of the policy.
6521	RevisionId *string `type:"string"`
6522
6523	// The permission statement.
6524	Statement *string `type:"string"`
6525}
6526
6527// String returns the string representation.
6528//
6529// API parameter values that are decorated as "sensitive" in the API will not
6530// be included in the string output. The member name will be present, but the
6531// value will be replaced with "sensitive".
6532func (s AddLayerVersionPermissionOutput) String() string {
6533	return awsutil.Prettify(s)
6534}
6535
6536// GoString returns the string representation.
6537//
6538// API parameter values that are decorated as "sensitive" in the API will not
6539// be included in the string output. The member name will be present, but the
6540// value will be replaced with "sensitive".
6541func (s AddLayerVersionPermissionOutput) GoString() string {
6542	return s.String()
6543}
6544
6545// SetRevisionId sets the RevisionId field's value.
6546func (s *AddLayerVersionPermissionOutput) SetRevisionId(v string) *AddLayerVersionPermissionOutput {
6547	s.RevisionId = &v
6548	return s
6549}
6550
6551// SetStatement sets the Statement field's value.
6552func (s *AddLayerVersionPermissionOutput) SetStatement(v string) *AddLayerVersionPermissionOutput {
6553	s.Statement = &v
6554	return s
6555}
6556
6557type AddPermissionInput struct {
6558	_ struct{} `type:"structure"`
6559
6560	// The action that the principal can use on the function. For example, lambda:InvokeFunction
6561	// or lambda:GetFunction.
6562	//
6563	// Action is a required field
6564	Action *string `type:"string" required:"true"`
6565
6566	// For Alexa Smart Home functions, a token that must be supplied by the invoker.
6567	EventSourceToken *string `type:"string"`
6568
6569	// The name of the Lambda function, version, or alias.
6570	//
6571	// Name formats
6572	//
6573	//    * Function name - my-function (name-only), my-function:v1 (with alias).
6574	//
6575	//    * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.
6576	//
6577	//    * Partial ARN - 123456789012:function:my-function.
6578	//
6579	// You can append a version number or alias to any of the formats. The length
6580	// constraint applies only to the full ARN. If you specify only the function
6581	// name, it is limited to 64 characters in length.
6582	//
6583	// FunctionName is a required field
6584	FunctionName *string `location:"uri" locationName:"FunctionName" min:"1" type:"string" required:"true"`
6585
6586	// The Amazon Web Services service or account that invokes the function. If
6587	// you specify a service, use SourceArn or SourceAccount to limit who can invoke
6588	// the function through that service.
6589	//
6590	// Principal is a required field
6591	Principal *string `type:"string" required:"true"`
6592
6593	// Specify a version or alias to add permissions to a published version of the
6594	// function.
6595	Qualifier *string `location:"querystring" locationName:"Qualifier" min:"1" type:"string"`
6596
6597	// Only update the policy if the revision ID matches the ID that's specified.
6598	// Use this option to avoid modifying a policy that has changed since you last
6599	// read it.
6600	RevisionId *string `type:"string"`
6601
6602	// For Amazon S3, the ID of the account that owns the resource. Use this together
6603	// with SourceArn to ensure that the resource is owned by the specified account.
6604	// It is possible for an Amazon S3 bucket to be deleted by its owner and recreated
6605	// by another account.
6606	SourceAccount *string `type:"string"`
6607
6608	// For Amazon Web Services services, the ARN of the Amazon Web Services resource
6609	// that invokes the function. For example, an Amazon S3 bucket or Amazon SNS
6610	// topic.
6611	//
6612	// Note that Lambda configures the comparison using the StringLike operator.
6613	SourceArn *string `type:"string"`
6614
6615	// A statement identifier that differentiates the statement from others in the
6616	// same policy.
6617	//
6618	// StatementId is a required field
6619	StatementId *string `min:"1" type:"string" required:"true"`
6620}
6621
6622// String returns the string representation.
6623//
6624// API parameter values that are decorated as "sensitive" in the API will not
6625// be included in the string output. The member name will be present, but the
6626// value will be replaced with "sensitive".
6627func (s AddPermissionInput) String() string {
6628	return awsutil.Prettify(s)
6629}
6630
6631// GoString returns the string representation.
6632//
6633// API parameter values that are decorated as "sensitive" in the API will not
6634// be included in the string output. The member name will be present, but the
6635// value will be replaced with "sensitive".
6636func (s AddPermissionInput) GoString() string {
6637	return s.String()
6638}
6639
6640// Validate inspects the fields of the type to determine if they are valid.
6641func (s *AddPermissionInput) Validate() error {
6642	invalidParams := request.ErrInvalidParams{Context: "AddPermissionInput"}
6643	if s.Action == nil {
6644		invalidParams.Add(request.NewErrParamRequired("Action"))
6645	}
6646	if s.FunctionName == nil {
6647		invalidParams.Add(request.NewErrParamRequired("FunctionName"))
6648	}
6649	if s.FunctionName != nil && len(*s.FunctionName) < 1 {
6650		invalidParams.Add(request.NewErrParamMinLen("FunctionName", 1))
6651	}
6652	if s.Principal == nil {
6653		invalidParams.Add(request.NewErrParamRequired("Principal"))
6654	}
6655	if s.Qualifier != nil && len(*s.Qualifier) < 1 {
6656		invalidParams.Add(request.NewErrParamMinLen("Qualifier", 1))
6657	}
6658	if s.StatementId == nil {
6659		invalidParams.Add(request.NewErrParamRequired("StatementId"))
6660	}
6661	if s.StatementId != nil && len(*s.StatementId) < 1 {
6662		invalidParams.Add(request.NewErrParamMinLen("StatementId", 1))
6663	}
6664
6665	if invalidParams.Len() > 0 {
6666		return invalidParams
6667	}
6668	return nil
6669}
6670
6671// SetAction sets the Action field's value.
6672func (s *AddPermissionInput) SetAction(v string) *AddPermissionInput {
6673	s.Action = &v
6674	return s
6675}
6676
6677// SetEventSourceToken sets the EventSourceToken field's value.
6678func (s *AddPermissionInput) SetEventSourceToken(v string) *AddPermissionInput {
6679	s.EventSourceToken = &v
6680	return s
6681}
6682
6683// SetFunctionName sets the FunctionName field's value.
6684func (s *AddPermissionInput) SetFunctionName(v string) *AddPermissionInput {
6685	s.FunctionName = &v
6686	return s
6687}
6688
6689// SetPrincipal sets the Principal field's value.
6690func (s *AddPermissionInput) SetPrincipal(v string) *AddPermissionInput {
6691	s.Principal = &v
6692	return s
6693}
6694
6695// SetQualifier sets the Qualifier field's value.
6696func (s *AddPermissionInput) SetQualifier(v string) *AddPermissionInput {
6697	s.Qualifier = &v
6698	return s
6699}
6700
6701// SetRevisionId sets the RevisionId field's value.
6702func (s *AddPermissionInput) SetRevisionId(v string) *AddPermissionInput {
6703	s.RevisionId = &v
6704	return s
6705}
6706
6707// SetSourceAccount sets the SourceAccount field's value.
6708func (s *AddPermissionInput) SetSourceAccount(v string) *AddPermissionInput {
6709	s.SourceAccount = &v
6710	return s
6711}
6712
6713// SetSourceArn sets the SourceArn field's value.
6714func (s *AddPermissionInput) SetSourceArn(v string) *AddPermissionInput {
6715	s.SourceArn = &v
6716	return s
6717}
6718
6719// SetStatementId sets the StatementId field's value.
6720func (s *AddPermissionInput) SetStatementId(v string) *AddPermissionInput {
6721	s.StatementId = &v
6722	return s
6723}
6724
6725type AddPermissionOutput struct {
6726	_ struct{} `type:"structure"`
6727
6728	// The permission statement that's added to the function policy.
6729	Statement *string `type:"string"`
6730}
6731
6732// String returns the string representation.
6733//
6734// API parameter values that are decorated as "sensitive" in the API will not
6735// be included in the string output. The member name will be present, but the
6736// value will be replaced with "sensitive".
6737func (s AddPermissionOutput) String() string {
6738	return awsutil.Prettify(s)
6739}
6740
6741// GoString returns the string representation.
6742//
6743// API parameter values that are decorated as "sensitive" in the API will not
6744// be included in the string output. The member name will be present, but the
6745// value will be replaced with "sensitive".
6746func (s AddPermissionOutput) GoString() string {
6747	return s.String()
6748}
6749
6750// SetStatement sets the Statement field's value.
6751func (s *AddPermissionOutput) SetStatement(v string) *AddPermissionOutput {
6752	s.Statement = &v
6753	return s
6754}
6755
6756// Provides configuration information about a Lambda function alias (https://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html).
6757type AliasConfiguration struct {
6758	_ struct{} `type:"structure"`
6759
6760	// The Amazon Resource Name (ARN) of the alias.
6761	AliasArn *string `type:"string"`
6762
6763	// A description of the alias.
6764	Description *string `type:"string"`
6765
6766	// The function version that the alias invokes.
6767	FunctionVersion *string `min:"1" type:"string"`
6768
6769	// The name of the alias.
6770	Name *string `min:"1" type:"string"`
6771
6772	// A unique identifier that changes when you update the alias.
6773	RevisionId *string `type:"string"`
6774
6775	// The routing configuration (https://docs.aws.amazon.com/lambda/latest/dg/lambda-traffic-shifting-using-aliases.html)
6776	// of the alias.
6777	RoutingConfig *AliasRoutingConfiguration `type:"structure"`
6778}
6779
6780// String returns the string representation.
6781//
6782// API parameter values that are decorated as "sensitive" in the API will not
6783// be included in the string output. The member name will be present, but the
6784// value will be replaced with "sensitive".
6785func (s AliasConfiguration) String() string {
6786	return awsutil.Prettify(s)
6787}
6788
6789// GoString returns the string representation.
6790//
6791// API parameter values that are decorated as "sensitive" in the API will not
6792// be included in the string output. The member name will be present, but the
6793// value will be replaced with "sensitive".
6794func (s AliasConfiguration) GoString() string {
6795	return s.String()
6796}
6797
6798// SetAliasArn sets the AliasArn field's value.
6799func (s *AliasConfiguration) SetAliasArn(v string) *AliasConfiguration {
6800	s.AliasArn = &v
6801	return s
6802}
6803
6804// SetDescription sets the Description field's value.
6805func (s *AliasConfiguration) SetDescription(v string) *AliasConfiguration {
6806	s.Description = &v
6807	return s
6808}
6809
6810// SetFunctionVersion sets the FunctionVersion field's value.
6811func (s *AliasConfiguration) SetFunctionVersion(v string) *AliasConfiguration {
6812	s.FunctionVersion = &v
6813	return s
6814}
6815
6816// SetName sets the Name field's value.
6817func (s *AliasConfiguration) SetName(v string) *AliasConfiguration {
6818	s.Name = &v
6819	return s
6820}
6821
6822// SetRevisionId sets the RevisionId field's value.
6823func (s *AliasConfiguration) SetRevisionId(v string) *AliasConfiguration {
6824	s.RevisionId = &v
6825	return s
6826}
6827
6828// SetRoutingConfig sets the RoutingConfig field's value.
6829func (s *AliasConfiguration) SetRoutingConfig(v *AliasRoutingConfiguration) *AliasConfiguration {
6830	s.RoutingConfig = v
6831	return s
6832}
6833
6834// The traffic-shifting (https://docs.aws.amazon.com/lambda/latest/dg/lambda-traffic-shifting-using-aliases.html)
6835// configuration of a Lambda function alias.
6836type AliasRoutingConfiguration struct {
6837	_ struct{} `type:"structure"`
6838
6839	// The second version, and the percentage of traffic that's routed to it.
6840	AdditionalVersionWeights map[string]*float64 `type:"map"`
6841}
6842
6843// String returns the string representation.
6844//
6845// API parameter values that are decorated as "sensitive" in the API will not
6846// be included in the string output. The member name will be present, but the
6847// value will be replaced with "sensitive".
6848func (s AliasRoutingConfiguration) String() string {
6849	return awsutil.Prettify(s)
6850}
6851
6852// GoString returns the string representation.
6853//
6854// API parameter values that are decorated as "sensitive" in the API will not
6855// be included in the string output. The member name will be present, but the
6856// value will be replaced with "sensitive".
6857func (s AliasRoutingConfiguration) GoString() string {
6858	return s.String()
6859}
6860
6861// SetAdditionalVersionWeights sets the AdditionalVersionWeights field's value.
6862func (s *AliasRoutingConfiguration) SetAdditionalVersionWeights(v map[string]*float64) *AliasRoutingConfiguration {
6863	s.AdditionalVersionWeights = v
6864	return s
6865}
6866
6867// List of signing profiles that can sign a code package.
6868type AllowedPublishers struct {
6869	_ struct{} `type:"structure"`
6870
6871	// The Amazon Resource Name (ARN) for each of the signing profiles. A signing
6872	// profile defines a trusted user who can sign a code package.
6873	//
6874	// SigningProfileVersionArns is a required field
6875	SigningProfileVersionArns []*string `min:"1" type:"list" required:"true"`
6876}
6877
6878// String returns the string representation.
6879//
6880// API parameter values that are decorated as "sensitive" in the API will not
6881// be included in the string output. The member name will be present, but the
6882// value will be replaced with "sensitive".
6883func (s AllowedPublishers) String() string {
6884	return awsutil.Prettify(s)
6885}
6886
6887// GoString returns the string representation.
6888//
6889// API parameter values that are decorated as "sensitive" in the API will not
6890// be included in the string output. The member name will be present, but the
6891// value will be replaced with "sensitive".
6892func (s AllowedPublishers) GoString() string {
6893	return s.String()
6894}
6895
6896// Validate inspects the fields of the type to determine if they are valid.
6897func (s *AllowedPublishers) Validate() error {
6898	invalidParams := request.ErrInvalidParams{Context: "AllowedPublishers"}
6899	if s.SigningProfileVersionArns == nil {
6900		invalidParams.Add(request.NewErrParamRequired("SigningProfileVersionArns"))
6901	}
6902	if s.SigningProfileVersionArns != nil && len(s.SigningProfileVersionArns) < 1 {
6903		invalidParams.Add(request.NewErrParamMinLen("SigningProfileVersionArns", 1))
6904	}
6905
6906	if invalidParams.Len() > 0 {
6907		return invalidParams
6908	}
6909	return nil
6910}
6911
6912// SetSigningProfileVersionArns sets the SigningProfileVersionArns field's value.
6913func (s *AllowedPublishers) SetSigningProfileVersionArns(v []*string) *AllowedPublishers {
6914	s.SigningProfileVersionArns = v
6915	return s
6916}
6917
6918// Details about a Code signing configuration (https://docs.aws.amazon.com/lambda/latest/dg/configuration-codesigning.html).
6919type CodeSigningConfig struct {
6920	_ struct{} `type:"structure"`
6921
6922	// List of allowed publishers.
6923	//
6924	// AllowedPublishers is a required field
6925	AllowedPublishers *AllowedPublishers `type:"structure" required:"true"`
6926
6927	// The Amazon Resource Name (ARN) of the Code signing configuration.
6928	//
6929	// CodeSigningConfigArn is a required field
6930	CodeSigningConfigArn *string `type:"string" required:"true"`
6931
6932	// Unique identifer for the Code signing configuration.
6933	//
6934	// CodeSigningConfigId is a required field
6935	CodeSigningConfigId *string `type:"string" required:"true"`
6936
6937	// The code signing policy controls the validation failure action for signature
6938	// mismatch or expiry.
6939	//
6940	// CodeSigningPolicies is a required field
6941	CodeSigningPolicies *CodeSigningPolicies `type:"structure" required:"true"`
6942
6943	// Code signing configuration description.
6944	Description *string `type:"string"`
6945
6946	// The date and time that the Code signing configuration was last modified,
6947	// in ISO-8601 format (YYYY-MM-DDThh:mm:ss.sTZD).
6948	//
6949	// LastModified is a required field
6950	LastModified *string `type:"string" required:"true"`
6951}
6952
6953// String returns the string representation.
6954//
6955// API parameter values that are decorated as "sensitive" in the API will not
6956// be included in the string output. The member name will be present, but the
6957// value will be replaced with "sensitive".
6958func (s CodeSigningConfig) String() string {
6959	return awsutil.Prettify(s)
6960}
6961
6962// GoString returns the string representation.
6963//
6964// API parameter values that are decorated as "sensitive" in the API will not
6965// be included in the string output. The member name will be present, but the
6966// value will be replaced with "sensitive".
6967func (s CodeSigningConfig) GoString() string {
6968	return s.String()
6969}
6970
6971// SetAllowedPublishers sets the AllowedPublishers field's value.
6972func (s *CodeSigningConfig) SetAllowedPublishers(v *AllowedPublishers) *CodeSigningConfig {
6973	s.AllowedPublishers = v
6974	return s
6975}
6976
6977// SetCodeSigningConfigArn sets the CodeSigningConfigArn field's value.
6978func (s *CodeSigningConfig) SetCodeSigningConfigArn(v string) *CodeSigningConfig {
6979	s.CodeSigningConfigArn = &v
6980	return s
6981}
6982
6983// SetCodeSigningConfigId sets the CodeSigningConfigId field's value.
6984func (s *CodeSigningConfig) SetCodeSigningConfigId(v string) *CodeSigningConfig {
6985	s.CodeSigningConfigId = &v
6986	return s
6987}
6988
6989// SetCodeSigningPolicies sets the CodeSigningPolicies field's value.
6990func (s *CodeSigningConfig) SetCodeSigningPolicies(v *CodeSigningPolicies) *CodeSigningConfig {
6991	s.CodeSigningPolicies = v
6992	return s
6993}
6994
6995// SetDescription sets the Description field's value.
6996func (s *CodeSigningConfig) SetDescription(v string) *CodeSigningConfig {
6997	s.Description = &v
6998	return s
6999}
7000
7001// SetLastModified sets the LastModified field's value.
7002func (s *CodeSigningConfig) SetLastModified(v string) *CodeSigningConfig {
7003	s.LastModified = &v
7004	return s
7005}
7006
7007// The specified code signing configuration does not exist.
7008type CodeSigningConfigNotFoundException struct {
7009	_            struct{}                  `type:"structure"`
7010	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
7011
7012	Message_ *string `locationName:"Message" type:"string"`
7013
7014	Type *string `type:"string"`
7015}
7016
7017// String returns the string representation.
7018//
7019// API parameter values that are decorated as "sensitive" in the API will not
7020// be included in the string output. The member name will be present, but the
7021// value will be replaced with "sensitive".
7022func (s CodeSigningConfigNotFoundException) String() string {
7023	return awsutil.Prettify(s)
7024}
7025
7026// GoString returns the string representation.
7027//
7028// API parameter values that are decorated as "sensitive" in the API will not
7029// be included in the string output. The member name will be present, but the
7030// value will be replaced with "sensitive".
7031func (s CodeSigningConfigNotFoundException) GoString() string {
7032	return s.String()
7033}
7034
7035func newErrorCodeSigningConfigNotFoundException(v protocol.ResponseMetadata) error {
7036	return &CodeSigningConfigNotFoundException{
7037		RespMetadata: v,
7038	}
7039}
7040
7041// Code returns the exception type name.
7042func (s *CodeSigningConfigNotFoundException) Code() string {
7043	return "CodeSigningConfigNotFoundException"
7044}
7045
7046// Message returns the exception's message.
7047func (s *CodeSigningConfigNotFoundException) Message() string {
7048	if s.Message_ != nil {
7049		return *s.Message_
7050	}
7051	return ""
7052}
7053
7054// OrigErr always returns nil, satisfies awserr.Error interface.
7055func (s *CodeSigningConfigNotFoundException) OrigErr() error {
7056	return nil
7057}
7058
7059func (s *CodeSigningConfigNotFoundException) Error() string {
7060	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
7061}
7062
7063// Status code returns the HTTP status code for the request's response error.
7064func (s *CodeSigningConfigNotFoundException) StatusCode() int {
7065	return s.RespMetadata.StatusCode
7066}
7067
7068// RequestID returns the service's response RequestID for request.
7069func (s *CodeSigningConfigNotFoundException) RequestID() string {
7070	return s.RespMetadata.RequestID
7071}
7072
7073// Code signing configuration policies (https://docs.aws.amazon.com/lambda/latest/dg/configuration-codesigning.html#config-codesigning-policies)
7074// specify the validation failure action for signature mismatch or expiry.
7075type CodeSigningPolicies struct {
7076	_ struct{} `type:"structure"`
7077
7078	// Code signing configuration policy for deployment validation failure. If you
7079	// set the policy to Enforce, Lambda blocks the deployment request if signature
7080	// validation checks fail. If you set the policy to Warn, Lambda allows the
7081	// deployment and creates a CloudWatch log.
7082	//
7083	// Default value: Warn
7084	UntrustedArtifactOnDeployment *string `type:"string" enum:"CodeSigningPolicy"`
7085}
7086
7087// String returns the string representation.
7088//
7089// API parameter values that are decorated as "sensitive" in the API will not
7090// be included in the string output. The member name will be present, but the
7091// value will be replaced with "sensitive".
7092func (s CodeSigningPolicies) String() string {
7093	return awsutil.Prettify(s)
7094}
7095
7096// GoString returns the string representation.
7097//
7098// API parameter values that are decorated as "sensitive" in the API will not
7099// be included in the string output. The member name will be present, but the
7100// value will be replaced with "sensitive".
7101func (s CodeSigningPolicies) GoString() string {
7102	return s.String()
7103}
7104
7105// SetUntrustedArtifactOnDeployment sets the UntrustedArtifactOnDeployment field's value.
7106func (s *CodeSigningPolicies) SetUntrustedArtifactOnDeployment(v string) *CodeSigningPolicies {
7107	s.UntrustedArtifactOnDeployment = &v
7108	return s
7109}
7110
7111// You have exceeded your maximum total code size per account. Learn more (https://docs.aws.amazon.com/lambda/latest/dg/limits.html)
7112type CodeStorageExceededException struct {
7113	_            struct{}                  `type:"structure"`
7114	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
7115
7116	Message_ *string `locationName:"message" type:"string"`
7117
7118	// The exception type.
7119	Type *string `type:"string"`
7120}
7121
7122// String returns the string representation.
7123//
7124// API parameter values that are decorated as "sensitive" in the API will not
7125// be included in the string output. The member name will be present, but the
7126// value will be replaced with "sensitive".
7127func (s CodeStorageExceededException) String() string {
7128	return awsutil.Prettify(s)
7129}
7130
7131// GoString returns the string representation.
7132//
7133// API parameter values that are decorated as "sensitive" in the API will not
7134// be included in the string output. The member name will be present, but the
7135// value will be replaced with "sensitive".
7136func (s CodeStorageExceededException) GoString() string {
7137	return s.String()
7138}
7139
7140func newErrorCodeStorageExceededException(v protocol.ResponseMetadata) error {
7141	return &CodeStorageExceededException{
7142		RespMetadata: v,
7143	}
7144}
7145
7146// Code returns the exception type name.
7147func (s *CodeStorageExceededException) Code() string {
7148	return "CodeStorageExceededException"
7149}
7150
7151// Message returns the exception's message.
7152func (s *CodeStorageExceededException) Message() string {
7153	if s.Message_ != nil {
7154		return *s.Message_
7155	}
7156	return ""
7157}
7158
7159// OrigErr always returns nil, satisfies awserr.Error interface.
7160func (s *CodeStorageExceededException) OrigErr() error {
7161	return nil
7162}
7163
7164func (s *CodeStorageExceededException) Error() string {
7165	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
7166}
7167
7168// Status code returns the HTTP status code for the request's response error.
7169func (s *CodeStorageExceededException) StatusCode() int {
7170	return s.RespMetadata.StatusCode
7171}
7172
7173// RequestID returns the service's response RequestID for request.
7174func (s *CodeStorageExceededException) RequestID() string {
7175	return s.RespMetadata.RequestID
7176}
7177
7178// The code signature failed one or more of the validation checks for signature
7179// mismatch or expiry, and the code signing policy is set to ENFORCE. Lambda
7180// blocks the deployment.
7181type CodeVerificationFailedException struct {
7182	_            struct{}                  `type:"structure"`
7183	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
7184
7185	Message_ *string `locationName:"Message" type:"string"`
7186
7187	Type *string `type:"string"`
7188}
7189
7190// String returns the string representation.
7191//
7192// API parameter values that are decorated as "sensitive" in the API will not
7193// be included in the string output. The member name will be present, but the
7194// value will be replaced with "sensitive".
7195func (s CodeVerificationFailedException) String() string {
7196	return awsutil.Prettify(s)
7197}
7198
7199// GoString returns the string representation.
7200//
7201// API parameter values that are decorated as "sensitive" in the API will not
7202// be included in the string output. The member name will be present, but the
7203// value will be replaced with "sensitive".
7204func (s CodeVerificationFailedException) GoString() string {
7205	return s.String()
7206}
7207
7208func newErrorCodeVerificationFailedException(v protocol.ResponseMetadata) error {
7209	return &CodeVerificationFailedException{
7210		RespMetadata: v,
7211	}
7212}
7213
7214// Code returns the exception type name.
7215func (s *CodeVerificationFailedException) Code() string {
7216	return "CodeVerificationFailedException"
7217}
7218
7219// Message returns the exception's message.
7220func (s *CodeVerificationFailedException) Message() string {
7221	if s.Message_ != nil {
7222		return *s.Message_
7223	}
7224	return ""
7225}
7226
7227// OrigErr always returns nil, satisfies awserr.Error interface.
7228func (s *CodeVerificationFailedException) OrigErr() error {
7229	return nil
7230}
7231
7232func (s *CodeVerificationFailedException) Error() string {
7233	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
7234}
7235
7236// Status code returns the HTTP status code for the request's response error.
7237func (s *CodeVerificationFailedException) StatusCode() int {
7238	return s.RespMetadata.StatusCode
7239}
7240
7241// RequestID returns the service's response RequestID for request.
7242func (s *CodeVerificationFailedException) RequestID() string {
7243	return s.RespMetadata.RequestID
7244}
7245
7246type CreateAliasInput struct {
7247	_ struct{} `type:"structure"`
7248
7249	// A description of the alias.
7250	Description *string `type:"string"`
7251
7252	// The name of the Lambda function.
7253	//
7254	// Name formats
7255	//
7256	//    * Function name - MyFunction.
7257	//
7258	//    * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.
7259	//
7260	//    * Partial ARN - 123456789012:function:MyFunction.
7261	//
7262	// The length constraint applies only to the full ARN. If you specify only the
7263	// function name, it is limited to 64 characters in length.
7264	//
7265	// FunctionName is a required field
7266	FunctionName *string `location:"uri" locationName:"FunctionName" min:"1" type:"string" required:"true"`
7267
7268	// The function version that the alias invokes.
7269	//
7270	// FunctionVersion is a required field
7271	FunctionVersion *string `min:"1" type:"string" required:"true"`
7272
7273	// The name of the alias.
7274	//
7275	// Name is a required field
7276	Name *string `min:"1" type:"string" required:"true"`
7277
7278	// The routing configuration (https://docs.aws.amazon.com/lambda/latest/dg/configuration-aliases.html#configuring-alias-routing)
7279	// of the alias.
7280	RoutingConfig *AliasRoutingConfiguration `type:"structure"`
7281}
7282
7283// String returns the string representation.
7284//
7285// API parameter values that are decorated as "sensitive" in the API will not
7286// be included in the string output. The member name will be present, but the
7287// value will be replaced with "sensitive".
7288func (s CreateAliasInput) String() string {
7289	return awsutil.Prettify(s)
7290}
7291
7292// GoString returns the string representation.
7293//
7294// API parameter values that are decorated as "sensitive" in the API will not
7295// be included in the string output. The member name will be present, but the
7296// value will be replaced with "sensitive".
7297func (s CreateAliasInput) GoString() string {
7298	return s.String()
7299}
7300
7301// Validate inspects the fields of the type to determine if they are valid.
7302func (s *CreateAliasInput) Validate() error {
7303	invalidParams := request.ErrInvalidParams{Context: "CreateAliasInput"}
7304	if s.FunctionName == nil {
7305		invalidParams.Add(request.NewErrParamRequired("FunctionName"))
7306	}
7307	if s.FunctionName != nil && len(*s.FunctionName) < 1 {
7308		invalidParams.Add(request.NewErrParamMinLen("FunctionName", 1))
7309	}
7310	if s.FunctionVersion == nil {
7311		invalidParams.Add(request.NewErrParamRequired("FunctionVersion"))
7312	}
7313	if s.FunctionVersion != nil && len(*s.FunctionVersion) < 1 {
7314		invalidParams.Add(request.NewErrParamMinLen("FunctionVersion", 1))
7315	}
7316	if s.Name == nil {
7317		invalidParams.Add(request.NewErrParamRequired("Name"))
7318	}
7319	if s.Name != nil && len(*s.Name) < 1 {
7320		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
7321	}
7322
7323	if invalidParams.Len() > 0 {
7324		return invalidParams
7325	}
7326	return nil
7327}
7328
7329// SetDescription sets the Description field's value.
7330func (s *CreateAliasInput) SetDescription(v string) *CreateAliasInput {
7331	s.Description = &v
7332	return s
7333}
7334
7335// SetFunctionName sets the FunctionName field's value.
7336func (s *CreateAliasInput) SetFunctionName(v string) *CreateAliasInput {
7337	s.FunctionName = &v
7338	return s
7339}
7340
7341// SetFunctionVersion sets the FunctionVersion field's value.
7342func (s *CreateAliasInput) SetFunctionVersion(v string) *CreateAliasInput {
7343	s.FunctionVersion = &v
7344	return s
7345}
7346
7347// SetName sets the Name field's value.
7348func (s *CreateAliasInput) SetName(v string) *CreateAliasInput {
7349	s.Name = &v
7350	return s
7351}
7352
7353// SetRoutingConfig sets the RoutingConfig field's value.
7354func (s *CreateAliasInput) SetRoutingConfig(v *AliasRoutingConfiguration) *CreateAliasInput {
7355	s.RoutingConfig = v
7356	return s
7357}
7358
7359type CreateCodeSigningConfigInput struct {
7360	_ struct{} `type:"structure"`
7361
7362	// Signing profiles for this code signing configuration.
7363	//
7364	// AllowedPublishers is a required field
7365	AllowedPublishers *AllowedPublishers `type:"structure" required:"true"`
7366
7367	// The code signing policies define the actions to take if the validation checks
7368	// fail.
7369	CodeSigningPolicies *CodeSigningPolicies `type:"structure"`
7370
7371	// Descriptive name for this code signing configuration.
7372	Description *string `type:"string"`
7373}
7374
7375// String returns the string representation.
7376//
7377// API parameter values that are decorated as "sensitive" in the API will not
7378// be included in the string output. The member name will be present, but the
7379// value will be replaced with "sensitive".
7380func (s CreateCodeSigningConfigInput) String() string {
7381	return awsutil.Prettify(s)
7382}
7383
7384// GoString returns the string representation.
7385//
7386// API parameter values that are decorated as "sensitive" in the API will not
7387// be included in the string output. The member name will be present, but the
7388// value will be replaced with "sensitive".
7389func (s CreateCodeSigningConfigInput) GoString() string {
7390	return s.String()
7391}
7392
7393// Validate inspects the fields of the type to determine if they are valid.
7394func (s *CreateCodeSigningConfigInput) Validate() error {
7395	invalidParams := request.ErrInvalidParams{Context: "CreateCodeSigningConfigInput"}
7396	if s.AllowedPublishers == nil {
7397		invalidParams.Add(request.NewErrParamRequired("AllowedPublishers"))
7398	}
7399	if s.AllowedPublishers != nil {
7400		if err := s.AllowedPublishers.Validate(); err != nil {
7401			invalidParams.AddNested("AllowedPublishers", err.(request.ErrInvalidParams))
7402		}
7403	}
7404
7405	if invalidParams.Len() > 0 {
7406		return invalidParams
7407	}
7408	return nil
7409}
7410
7411// SetAllowedPublishers sets the AllowedPublishers field's value.
7412func (s *CreateCodeSigningConfigInput) SetAllowedPublishers(v *AllowedPublishers) *CreateCodeSigningConfigInput {
7413	s.AllowedPublishers = v
7414	return s
7415}
7416
7417// SetCodeSigningPolicies sets the CodeSigningPolicies field's value.
7418func (s *CreateCodeSigningConfigInput) SetCodeSigningPolicies(v *CodeSigningPolicies) *CreateCodeSigningConfigInput {
7419	s.CodeSigningPolicies = v
7420	return s
7421}
7422
7423// SetDescription sets the Description field's value.
7424func (s *CreateCodeSigningConfigInput) SetDescription(v string) *CreateCodeSigningConfigInput {
7425	s.Description = &v
7426	return s
7427}
7428
7429type CreateCodeSigningConfigOutput struct {
7430	_ struct{} `type:"structure"`
7431
7432	// The code signing configuration.
7433	//
7434	// CodeSigningConfig is a required field
7435	CodeSigningConfig *CodeSigningConfig `type:"structure" required:"true"`
7436}
7437
7438// String returns the string representation.
7439//
7440// API parameter values that are decorated as "sensitive" in the API will not
7441// be included in the string output. The member name will be present, but the
7442// value will be replaced with "sensitive".
7443func (s CreateCodeSigningConfigOutput) String() string {
7444	return awsutil.Prettify(s)
7445}
7446
7447// GoString returns the string representation.
7448//
7449// API parameter values that are decorated as "sensitive" in the API will not
7450// be included in the string output. The member name will be present, but the
7451// value will be replaced with "sensitive".
7452func (s CreateCodeSigningConfigOutput) GoString() string {
7453	return s.String()
7454}
7455
7456// SetCodeSigningConfig sets the CodeSigningConfig field's value.
7457func (s *CreateCodeSigningConfigOutput) SetCodeSigningConfig(v *CodeSigningConfig) *CreateCodeSigningConfigOutput {
7458	s.CodeSigningConfig = v
7459	return s
7460}
7461
7462type CreateEventSourceMappingInput struct {
7463	_ struct{} `type:"structure"`
7464
7465	// The maximum number of records in each batch that Lambda pulls from your stream
7466	// or queue and sends to your function. Lambda passes all of the records in
7467	// the batch to the function in a single call, up to the payload limit for synchronous
7468	// invocation (6 MB).
7469	//
7470	//    * Amazon Kinesis - Default 100. Max 10,000.
7471	//
7472	//    * Amazon DynamoDB Streams - Default 100. Max 1,000.
7473	//
7474	//    * Amazon Simple Queue Service - Default 10. For standard queues the max
7475	//    is 10,000. For FIFO queues the max is 10.
7476	//
7477	//    * Amazon Managed Streaming for Apache Kafka - Default 100. Max 10,000.
7478	//
7479	//    * Self-Managed Apache Kafka - Default 100. Max 10,000.
7480	BatchSize *int64 `min:"1" type:"integer"`
7481
7482	// (Streams only) If the function returns an error, split the batch in two and
7483	// retry.
7484	BisectBatchOnFunctionError *bool `type:"boolean"`
7485
7486	// (Streams only) An Amazon SQS queue or Amazon SNS topic destination for discarded
7487	// records.
7488	DestinationConfig *DestinationConfig `type:"structure"`
7489
7490	// When true, the event source mapping is active. When false, Lambda pauses
7491	// polling and invocation.
7492	//
7493	// Default: True
7494	Enabled *bool `type:"boolean"`
7495
7496	// The Amazon Resource Name (ARN) of the event source.
7497	//
7498	//    * Amazon Kinesis - The ARN of the data stream or a stream consumer.
7499	//
7500	//    * Amazon DynamoDB Streams - The ARN of the stream.
7501	//
7502	//    * Amazon Simple Queue Service - The ARN of the queue.
7503	//
7504	//    * Amazon Managed Streaming for Apache Kafka - The ARN of the cluster.
7505	EventSourceArn *string `type:"string"`
7506
7507	// The name of the Lambda function.
7508	//
7509	// Name formats
7510	//
7511	//    * Function name - MyFunction.
7512	//
7513	//    * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.
7514	//
7515	//    * Version or Alias ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction:PROD.
7516	//
7517	//    * Partial ARN - 123456789012:function:MyFunction.
7518	//
7519	// The length constraint applies only to the full ARN. If you specify only the
7520	// function name, it's limited to 64 characters in length.
7521	//
7522	// FunctionName is a required field
7523	FunctionName *string `min:"1" type:"string" required:"true"`
7524
7525	// (Streams only) A list of current response type enums applied to the event
7526	// source mapping.
7527	FunctionResponseTypes []*string `type:"list"`
7528
7529	// (Streams and Amazon SQS standard queues) The maximum amount of time, in seconds,
7530	// that Lambda spends gathering records before invoking the function.
7531	//
7532	// Default: 0
7533	//
7534	// Related setting: When you set BatchSize to a value greater than 10, you must
7535	// set MaximumBatchingWindowInSeconds to at least 1.
7536	MaximumBatchingWindowInSeconds *int64 `type:"integer"`
7537
7538	// (Streams only) Discard records older than the specified age. The default
7539	// value is infinite (-1).
7540	MaximumRecordAgeInSeconds *int64 `type:"integer"`
7541
7542	// (Streams only) Discard records after the specified number of retries. The
7543	// default value is infinite (-1). When set to infinite (-1), failed records
7544	// will be retried until the record expires.
7545	MaximumRetryAttempts *int64 `type:"integer"`
7546
7547	// (Streams only) The number of batches to process from each shard concurrently.
7548	ParallelizationFactor *int64 `min:"1" type:"integer"`
7549
7550	// (MQ) The name of the Amazon MQ broker destination queue to consume.
7551	Queues []*string `min:"1" type:"list"`
7552
7553	// The Self-Managed Apache Kafka cluster to send records.
7554	SelfManagedEventSource *SelfManagedEventSource `type:"structure"`
7555
7556	// An array of authentication protocols or VPC components required to secure
7557	// your event source.
7558	SourceAccessConfigurations []*SourceAccessConfiguration `type:"list"`
7559
7560	// The position in a stream from which to start reading. Required for Amazon
7561	// Kinesis, Amazon DynamoDB, and Amazon MSK Streams sources. AT_TIMESTAMP is
7562	// only supported for Amazon Kinesis streams.
7563	StartingPosition *string `type:"string" enum:"EventSourcePosition"`
7564
7565	// With StartingPosition set to AT_TIMESTAMP, the time from which to start reading.
7566	StartingPositionTimestamp *time.Time `type:"timestamp"`
7567
7568	// The name of the Kafka topic.
7569	Topics []*string `min:"1" type:"list"`
7570
7571	// (Streams only) The duration in seconds of a processing window. The range
7572	// is between 1 second up to 900 seconds.
7573	TumblingWindowInSeconds *int64 `type:"integer"`
7574}
7575
7576// String returns the string representation.
7577//
7578// API parameter values that are decorated as "sensitive" in the API will not
7579// be included in the string output. The member name will be present, but the
7580// value will be replaced with "sensitive".
7581func (s CreateEventSourceMappingInput) String() string {
7582	return awsutil.Prettify(s)
7583}
7584
7585// GoString returns the string representation.
7586//
7587// API parameter values that are decorated as "sensitive" in the API will not
7588// be included in the string output. The member name will be present, but the
7589// value will be replaced with "sensitive".
7590func (s CreateEventSourceMappingInput) GoString() string {
7591	return s.String()
7592}
7593
7594// Validate inspects the fields of the type to determine if they are valid.
7595func (s *CreateEventSourceMappingInput) Validate() error {
7596	invalidParams := request.ErrInvalidParams{Context: "CreateEventSourceMappingInput"}
7597	if s.BatchSize != nil && *s.BatchSize < 1 {
7598		invalidParams.Add(request.NewErrParamMinValue("BatchSize", 1))
7599	}
7600	if s.FunctionName == nil {
7601		invalidParams.Add(request.NewErrParamRequired("FunctionName"))
7602	}
7603	if s.FunctionName != nil && len(*s.FunctionName) < 1 {
7604		invalidParams.Add(request.NewErrParamMinLen("FunctionName", 1))
7605	}
7606	if s.MaximumRecordAgeInSeconds != nil && *s.MaximumRecordAgeInSeconds < -1 {
7607		invalidParams.Add(request.NewErrParamMinValue("MaximumRecordAgeInSeconds", -1))
7608	}
7609	if s.MaximumRetryAttempts != nil && *s.MaximumRetryAttempts < -1 {
7610		invalidParams.Add(request.NewErrParamMinValue("MaximumRetryAttempts", -1))
7611	}
7612	if s.ParallelizationFactor != nil && *s.ParallelizationFactor < 1 {
7613		invalidParams.Add(request.NewErrParamMinValue("ParallelizationFactor", 1))
7614	}
7615	if s.Queues != nil && len(s.Queues) < 1 {
7616		invalidParams.Add(request.NewErrParamMinLen("Queues", 1))
7617	}
7618	if s.Topics != nil && len(s.Topics) < 1 {
7619		invalidParams.Add(request.NewErrParamMinLen("Topics", 1))
7620	}
7621	if s.SelfManagedEventSource != nil {
7622		if err := s.SelfManagedEventSource.Validate(); err != nil {
7623			invalidParams.AddNested("SelfManagedEventSource", err.(request.ErrInvalidParams))
7624		}
7625	}
7626	if s.SourceAccessConfigurations != nil {
7627		for i, v := range s.SourceAccessConfigurations {
7628			if v == nil {
7629				continue
7630			}
7631			if err := v.Validate(); err != nil {
7632				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SourceAccessConfigurations", i), err.(request.ErrInvalidParams))
7633			}
7634		}
7635	}
7636
7637	if invalidParams.Len() > 0 {
7638		return invalidParams
7639	}
7640	return nil
7641}
7642
7643// SetBatchSize sets the BatchSize field's value.
7644func (s *CreateEventSourceMappingInput) SetBatchSize(v int64) *CreateEventSourceMappingInput {
7645	s.BatchSize = &v
7646	return s
7647}
7648
7649// SetBisectBatchOnFunctionError sets the BisectBatchOnFunctionError field's value.
7650func (s *CreateEventSourceMappingInput) SetBisectBatchOnFunctionError(v bool) *CreateEventSourceMappingInput {
7651	s.BisectBatchOnFunctionError = &v
7652	return s
7653}
7654
7655// SetDestinationConfig sets the DestinationConfig field's value.
7656func (s *CreateEventSourceMappingInput) SetDestinationConfig(v *DestinationConfig) *CreateEventSourceMappingInput {
7657	s.DestinationConfig = v
7658	return s
7659}
7660
7661// SetEnabled sets the Enabled field's value.
7662func (s *CreateEventSourceMappingInput) SetEnabled(v bool) *CreateEventSourceMappingInput {
7663	s.Enabled = &v
7664	return s
7665}
7666
7667// SetEventSourceArn sets the EventSourceArn field's value.
7668func (s *CreateEventSourceMappingInput) SetEventSourceArn(v string) *CreateEventSourceMappingInput {
7669	s.EventSourceArn = &v
7670	return s
7671}
7672
7673// SetFunctionName sets the FunctionName field's value.
7674func (s *CreateEventSourceMappingInput) SetFunctionName(v string) *CreateEventSourceMappingInput {
7675	s.FunctionName = &v
7676	return s
7677}
7678
7679// SetFunctionResponseTypes sets the FunctionResponseTypes field's value.
7680func (s *CreateEventSourceMappingInput) SetFunctionResponseTypes(v []*string) *CreateEventSourceMappingInput {
7681	s.FunctionResponseTypes = v
7682	return s
7683}
7684
7685// SetMaximumBatchingWindowInSeconds sets the MaximumBatchingWindowInSeconds field's value.
7686func (s *CreateEventSourceMappingInput) SetMaximumBatchingWindowInSeconds(v int64) *CreateEventSourceMappingInput {
7687	s.MaximumBatchingWindowInSeconds = &v
7688	return s
7689}
7690
7691// SetMaximumRecordAgeInSeconds sets the MaximumRecordAgeInSeconds field's value.
7692func (s *CreateEventSourceMappingInput) SetMaximumRecordAgeInSeconds(v int64) *CreateEventSourceMappingInput {
7693	s.MaximumRecordAgeInSeconds = &v
7694	return s
7695}
7696
7697// SetMaximumRetryAttempts sets the MaximumRetryAttempts field's value.
7698func (s *CreateEventSourceMappingInput) SetMaximumRetryAttempts(v int64) *CreateEventSourceMappingInput {
7699	s.MaximumRetryAttempts = &v
7700	return s
7701}
7702
7703// SetParallelizationFactor sets the ParallelizationFactor field's value.
7704func (s *CreateEventSourceMappingInput) SetParallelizationFactor(v int64) *CreateEventSourceMappingInput {
7705	s.ParallelizationFactor = &v
7706	return s
7707}
7708
7709// SetQueues sets the Queues field's value.
7710func (s *CreateEventSourceMappingInput) SetQueues(v []*string) *CreateEventSourceMappingInput {
7711	s.Queues = v
7712	return s
7713}
7714
7715// SetSelfManagedEventSource sets the SelfManagedEventSource field's value.
7716func (s *CreateEventSourceMappingInput) SetSelfManagedEventSource(v *SelfManagedEventSource) *CreateEventSourceMappingInput {
7717	s.SelfManagedEventSource = v
7718	return s
7719}
7720
7721// SetSourceAccessConfigurations sets the SourceAccessConfigurations field's value.
7722func (s *CreateEventSourceMappingInput) SetSourceAccessConfigurations(v []*SourceAccessConfiguration) *CreateEventSourceMappingInput {
7723	s.SourceAccessConfigurations = v
7724	return s
7725}
7726
7727// SetStartingPosition sets the StartingPosition field's value.
7728func (s *CreateEventSourceMappingInput) SetStartingPosition(v string) *CreateEventSourceMappingInput {
7729	s.StartingPosition = &v
7730	return s
7731}
7732
7733// SetStartingPositionTimestamp sets the StartingPositionTimestamp field's value.
7734func (s *CreateEventSourceMappingInput) SetStartingPositionTimestamp(v time.Time) *CreateEventSourceMappingInput {
7735	s.StartingPositionTimestamp = &v
7736	return s
7737}
7738
7739// SetTopics sets the Topics field's value.
7740func (s *CreateEventSourceMappingInput) SetTopics(v []*string) *CreateEventSourceMappingInput {
7741	s.Topics = v
7742	return s
7743}
7744
7745// SetTumblingWindowInSeconds sets the TumblingWindowInSeconds field's value.
7746func (s *CreateEventSourceMappingInput) SetTumblingWindowInSeconds(v int64) *CreateEventSourceMappingInput {
7747	s.TumblingWindowInSeconds = &v
7748	return s
7749}
7750
7751type CreateFunctionInput struct {
7752	_ struct{} `type:"structure"`
7753
7754	// The instruction set architecture that the function supports. Enter a string
7755	// array with one of the valid values. The default value is x86_64.
7756	Architectures []*string `min:"1" type:"list"`
7757
7758	// The code for the function.
7759	//
7760	// Code is a required field
7761	Code *FunctionCode `type:"structure" required:"true"`
7762
7763	// To enable code signing for this function, specify the ARN of a code-signing
7764	// configuration. A code-signing configuration includes a set of signing profiles,
7765	// which define the trusted publishers for this function.
7766	CodeSigningConfigArn *string `type:"string"`
7767
7768	// A dead letter queue configuration that specifies the queue or topic where
7769	// Lambda sends asynchronous events when they fail processing. For more information,
7770	// see Dead Letter Queues (https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#dlq).
7771	DeadLetterConfig *DeadLetterConfig `type:"structure"`
7772
7773	// A description of the function.
7774	Description *string `type:"string"`
7775
7776	// Environment variables that are accessible from function code during execution.
7777	Environment *Environment `type:"structure"`
7778
7779	// Connection settings for an Amazon EFS file system.
7780	FileSystemConfigs []*FileSystemConfig `type:"list"`
7781
7782	// The name of the Lambda function.
7783	//
7784	// Name formats
7785	//
7786	//    * Function name - my-function.
7787	//
7788	//    * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.
7789	//
7790	//    * Partial ARN - 123456789012:function:my-function.
7791	//
7792	// The length constraint applies only to the full ARN. If you specify only the
7793	// function name, it is limited to 64 characters in length.
7794	//
7795	// FunctionName is a required field
7796	FunctionName *string `min:"1" type:"string" required:"true"`
7797
7798	// The name of the method within your code that Lambda calls to execute your
7799	// function. The format includes the file name. It can also include namespaces
7800	// and other qualifiers, depending on the runtime. For more information, see
7801	// Programming Model (https://docs.aws.amazon.com/lambda/latest/dg/programming-model-v2.html).
7802	Handler *string `type:"string"`
7803
7804	// Container image configuration values (https://docs.aws.amazon.com/lambda/latest/dg/configuration-images.html#configuration-images-settings)
7805	// that override the values in the container image Dockerfile.
7806	ImageConfig *ImageConfig `type:"structure"`
7807
7808	// The ARN of the Amazon Web Services Key Management Service (KMS) key that's
7809	// used to encrypt your function's environment variables. If it's not provided,
7810	// Lambda uses a default service key.
7811	KMSKeyArn *string `type:"string"`
7812
7813	// A list of function layers (https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html)
7814	// to add to the function's execution environment. Specify each layer by its
7815	// ARN, including the version.
7816	Layers []*string `type:"list"`
7817
7818	// The amount of memory available to the function (https://docs.aws.amazon.com/lambda/latest/dg/configuration-memory.html)
7819	// at runtime. Increasing the function memory also increases its CPU allocation.
7820	// The default value is 128 MB. The value can be any multiple of 1 MB.
7821	MemorySize *int64 `min:"128" type:"integer"`
7822
7823	// The type of deployment package. Set to Image for container image and set
7824	// Zip for ZIP archive.
7825	PackageType *string `type:"string" enum:"PackageType"`
7826
7827	// Set to true to publish the first version of the function during creation.
7828	Publish *bool `type:"boolean"`
7829
7830	// The Amazon Resource Name (ARN) of the function's execution role.
7831	//
7832	// Role is a required field
7833	Role *string `type:"string" required:"true"`
7834
7835	// The identifier of the function's runtime (https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html).
7836	Runtime *string `type:"string" enum:"Runtime"`
7837
7838	// A list of tags (https://docs.aws.amazon.com/lambda/latest/dg/tagging.html)
7839	// to apply to the function.
7840	Tags map[string]*string `type:"map"`
7841
7842	// The amount of time that Lambda allows a function to run before stopping it.
7843	// The default is 3 seconds. The maximum allowed value is 900 seconds. For additional
7844	// information, see Lambda execution environment (https://docs.aws.amazon.com/lambda/latest/dg/runtimes-context.html).
7845	Timeout *int64 `min:"1" type:"integer"`
7846
7847	// Set Mode to Active to sample and trace a subset of incoming requests with
7848	// X-Ray (https://docs.aws.amazon.com/lambda/latest/dg/services-xray.html).
7849	TracingConfig *TracingConfig `type:"structure"`
7850
7851	// For network connectivity to Amazon Web Services resources in a VPC, specify
7852	// a list of security groups and subnets in the VPC. When you connect a function
7853	// to a VPC, it can only access resources and the internet through that VPC.
7854	// For more information, see VPC Settings (https://docs.aws.amazon.com/lambda/latest/dg/configuration-vpc.html).
7855	VpcConfig *VpcConfig `type:"structure"`
7856}
7857
7858// String returns the string representation.
7859//
7860// API parameter values that are decorated as "sensitive" in the API will not
7861// be included in the string output. The member name will be present, but the
7862// value will be replaced with "sensitive".
7863func (s CreateFunctionInput) String() string {
7864	return awsutil.Prettify(s)
7865}
7866
7867// GoString returns the string representation.
7868//
7869// API parameter values that are decorated as "sensitive" in the API will not
7870// be included in the string output. The member name will be present, but the
7871// value will be replaced with "sensitive".
7872func (s CreateFunctionInput) GoString() string {
7873	return s.String()
7874}
7875
7876// Validate inspects the fields of the type to determine if they are valid.
7877func (s *CreateFunctionInput) Validate() error {
7878	invalidParams := request.ErrInvalidParams{Context: "CreateFunctionInput"}
7879	if s.Architectures != nil && len(s.Architectures) < 1 {
7880		invalidParams.Add(request.NewErrParamMinLen("Architectures", 1))
7881	}
7882	if s.Code == nil {
7883		invalidParams.Add(request.NewErrParamRequired("Code"))
7884	}
7885	if s.FunctionName == nil {
7886		invalidParams.Add(request.NewErrParamRequired("FunctionName"))
7887	}
7888	if s.FunctionName != nil && len(*s.FunctionName) < 1 {
7889		invalidParams.Add(request.NewErrParamMinLen("FunctionName", 1))
7890	}
7891	if s.MemorySize != nil && *s.MemorySize < 128 {
7892		invalidParams.Add(request.NewErrParamMinValue("MemorySize", 128))
7893	}
7894	if s.Role == nil {
7895		invalidParams.Add(request.NewErrParamRequired("Role"))
7896	}
7897	if s.Timeout != nil && *s.Timeout < 1 {
7898		invalidParams.Add(request.NewErrParamMinValue("Timeout", 1))
7899	}
7900	if s.Code != nil {
7901		if err := s.Code.Validate(); err != nil {
7902			invalidParams.AddNested("Code", err.(request.ErrInvalidParams))
7903		}
7904	}
7905	if s.FileSystemConfigs != nil {
7906		for i, v := range s.FileSystemConfigs {
7907			if v == nil {
7908				continue
7909			}
7910			if err := v.Validate(); err != nil {
7911				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "FileSystemConfigs", i), err.(request.ErrInvalidParams))
7912			}
7913		}
7914	}
7915
7916	if invalidParams.Len() > 0 {
7917		return invalidParams
7918	}
7919	return nil
7920}
7921
7922// SetArchitectures sets the Architectures field's value.
7923func (s *CreateFunctionInput) SetArchitectures(v []*string) *CreateFunctionInput {
7924	s.Architectures = v
7925	return s
7926}
7927
7928// SetCode sets the Code field's value.
7929func (s *CreateFunctionInput) SetCode(v *FunctionCode) *CreateFunctionInput {
7930	s.Code = v
7931	return s
7932}
7933
7934// SetCodeSigningConfigArn sets the CodeSigningConfigArn field's value.
7935func (s *CreateFunctionInput) SetCodeSigningConfigArn(v string) *CreateFunctionInput {
7936	s.CodeSigningConfigArn = &v
7937	return s
7938}
7939
7940// SetDeadLetterConfig sets the DeadLetterConfig field's value.
7941func (s *CreateFunctionInput) SetDeadLetterConfig(v *DeadLetterConfig) *CreateFunctionInput {
7942	s.DeadLetterConfig = v
7943	return s
7944}
7945
7946// SetDescription sets the Description field's value.
7947func (s *CreateFunctionInput) SetDescription(v string) *CreateFunctionInput {
7948	s.Description = &v
7949	return s
7950}
7951
7952// SetEnvironment sets the Environment field's value.
7953func (s *CreateFunctionInput) SetEnvironment(v *Environment) *CreateFunctionInput {
7954	s.Environment = v
7955	return s
7956}
7957
7958// SetFileSystemConfigs sets the FileSystemConfigs field's value.
7959func (s *CreateFunctionInput) SetFileSystemConfigs(v []*FileSystemConfig) *CreateFunctionInput {
7960	s.FileSystemConfigs = v
7961	return s
7962}
7963
7964// SetFunctionName sets the FunctionName field's value.
7965func (s *CreateFunctionInput) SetFunctionName(v string) *CreateFunctionInput {
7966	s.FunctionName = &v
7967	return s
7968}
7969
7970// SetHandler sets the Handler field's value.
7971func (s *CreateFunctionInput) SetHandler(v string) *CreateFunctionInput {
7972	s.Handler = &v
7973	return s
7974}
7975
7976// SetImageConfig sets the ImageConfig field's value.
7977func (s *CreateFunctionInput) SetImageConfig(v *ImageConfig) *CreateFunctionInput {
7978	s.ImageConfig = v
7979	return s
7980}
7981
7982// SetKMSKeyArn sets the KMSKeyArn field's value.
7983func (s *CreateFunctionInput) SetKMSKeyArn(v string) *CreateFunctionInput {
7984	s.KMSKeyArn = &v
7985	return s
7986}
7987
7988// SetLayers sets the Layers field's value.
7989func (s *CreateFunctionInput) SetLayers(v []*string) *CreateFunctionInput {
7990	s.Layers = v
7991	return s
7992}
7993
7994// SetMemorySize sets the MemorySize field's value.
7995func (s *CreateFunctionInput) SetMemorySize(v int64) *CreateFunctionInput {
7996	s.MemorySize = &v
7997	return s
7998}
7999
8000// SetPackageType sets the PackageType field's value.
8001func (s *CreateFunctionInput) SetPackageType(v string) *CreateFunctionInput {
8002	s.PackageType = &v
8003	return s
8004}
8005
8006// SetPublish sets the Publish field's value.
8007func (s *CreateFunctionInput) SetPublish(v bool) *CreateFunctionInput {
8008	s.Publish = &v
8009	return s
8010}
8011
8012// SetRole sets the Role field's value.
8013func (s *CreateFunctionInput) SetRole(v string) *CreateFunctionInput {
8014	s.Role = &v
8015	return s
8016}
8017
8018// SetRuntime sets the Runtime field's value.
8019func (s *CreateFunctionInput) SetRuntime(v string) *CreateFunctionInput {
8020	s.Runtime = &v
8021	return s
8022}
8023
8024// SetTags sets the Tags field's value.
8025func (s *CreateFunctionInput) SetTags(v map[string]*string) *CreateFunctionInput {
8026	s.Tags = v
8027	return s
8028}
8029
8030// SetTimeout sets the Timeout field's value.
8031func (s *CreateFunctionInput) SetTimeout(v int64) *CreateFunctionInput {
8032	s.Timeout = &v
8033	return s
8034}
8035
8036// SetTracingConfig sets the TracingConfig field's value.
8037func (s *CreateFunctionInput) SetTracingConfig(v *TracingConfig) *CreateFunctionInput {
8038	s.TracingConfig = v
8039	return s
8040}
8041
8042// SetVpcConfig sets the VpcConfig field's value.
8043func (s *CreateFunctionInput) SetVpcConfig(v *VpcConfig) *CreateFunctionInput {
8044	s.VpcConfig = v
8045	return s
8046}
8047
8048// The dead-letter queue (https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#dlq)
8049// for failed asynchronous invocations.
8050type DeadLetterConfig struct {
8051	_ struct{} `type:"structure"`
8052
8053	// The Amazon Resource Name (ARN) of an Amazon SQS queue or Amazon SNS topic.
8054	TargetArn *string `type:"string"`
8055}
8056
8057// String returns the string representation.
8058//
8059// API parameter values that are decorated as "sensitive" in the API will not
8060// be included in the string output. The member name will be present, but the
8061// value will be replaced with "sensitive".
8062func (s DeadLetterConfig) String() string {
8063	return awsutil.Prettify(s)
8064}
8065
8066// GoString returns the string representation.
8067//
8068// API parameter values that are decorated as "sensitive" in the API will not
8069// be included in the string output. The member name will be present, but the
8070// value will be replaced with "sensitive".
8071func (s DeadLetterConfig) GoString() string {
8072	return s.String()
8073}
8074
8075// SetTargetArn sets the TargetArn field's value.
8076func (s *DeadLetterConfig) SetTargetArn(v string) *DeadLetterConfig {
8077	s.TargetArn = &v
8078	return s
8079}
8080
8081type DeleteAliasInput struct {
8082	_ struct{} `type:"structure" nopayload:"true"`
8083
8084	// The name of the Lambda function.
8085	//
8086	// Name formats
8087	//
8088	//    * Function name - MyFunction.
8089	//
8090	//    * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.
8091	//
8092	//    * Partial ARN - 123456789012:function:MyFunction.
8093	//
8094	// The length constraint applies only to the full ARN. If you specify only the
8095	// function name, it is limited to 64 characters in length.
8096	//
8097	// FunctionName is a required field
8098	FunctionName *string `location:"uri" locationName:"FunctionName" min:"1" type:"string" required:"true"`
8099
8100	// The name of the alias.
8101	//
8102	// Name is a required field
8103	Name *string `location:"uri" locationName:"Name" min:"1" type:"string" required:"true"`
8104}
8105
8106// String returns the string representation.
8107//
8108// API parameter values that are decorated as "sensitive" in the API will not
8109// be included in the string output. The member name will be present, but the
8110// value will be replaced with "sensitive".
8111func (s DeleteAliasInput) String() string {
8112	return awsutil.Prettify(s)
8113}
8114
8115// GoString returns the string representation.
8116//
8117// API parameter values that are decorated as "sensitive" in the API will not
8118// be included in the string output. The member name will be present, but the
8119// value will be replaced with "sensitive".
8120func (s DeleteAliasInput) GoString() string {
8121	return s.String()
8122}
8123
8124// Validate inspects the fields of the type to determine if they are valid.
8125func (s *DeleteAliasInput) Validate() error {
8126	invalidParams := request.ErrInvalidParams{Context: "DeleteAliasInput"}
8127	if s.FunctionName == nil {
8128		invalidParams.Add(request.NewErrParamRequired("FunctionName"))
8129	}
8130	if s.FunctionName != nil && len(*s.FunctionName) < 1 {
8131		invalidParams.Add(request.NewErrParamMinLen("FunctionName", 1))
8132	}
8133	if s.Name == nil {
8134		invalidParams.Add(request.NewErrParamRequired("Name"))
8135	}
8136	if s.Name != nil && len(*s.Name) < 1 {
8137		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
8138	}
8139
8140	if invalidParams.Len() > 0 {
8141		return invalidParams
8142	}
8143	return nil
8144}
8145
8146// SetFunctionName sets the FunctionName field's value.
8147func (s *DeleteAliasInput) SetFunctionName(v string) *DeleteAliasInput {
8148	s.FunctionName = &v
8149	return s
8150}
8151
8152// SetName sets the Name field's value.
8153func (s *DeleteAliasInput) SetName(v string) *DeleteAliasInput {
8154	s.Name = &v
8155	return s
8156}
8157
8158type DeleteAliasOutput struct {
8159	_ struct{} `type:"structure"`
8160}
8161
8162// String returns the string representation.
8163//
8164// API parameter values that are decorated as "sensitive" in the API will not
8165// be included in the string output. The member name will be present, but the
8166// value will be replaced with "sensitive".
8167func (s DeleteAliasOutput) String() string {
8168	return awsutil.Prettify(s)
8169}
8170
8171// GoString returns the string representation.
8172//
8173// API parameter values that are decorated as "sensitive" in the API will not
8174// be included in the string output. The member name will be present, but the
8175// value will be replaced with "sensitive".
8176func (s DeleteAliasOutput) GoString() string {
8177	return s.String()
8178}
8179
8180type DeleteCodeSigningConfigInput struct {
8181	_ struct{} `type:"structure" nopayload:"true"`
8182
8183	// The The Amazon Resource Name (ARN) of the code signing configuration.
8184	//
8185	// CodeSigningConfigArn is a required field
8186	CodeSigningConfigArn *string `location:"uri" locationName:"CodeSigningConfigArn" type:"string" required:"true"`
8187}
8188
8189// String returns the string representation.
8190//
8191// API parameter values that are decorated as "sensitive" in the API will not
8192// be included in the string output. The member name will be present, but the
8193// value will be replaced with "sensitive".
8194func (s DeleteCodeSigningConfigInput) String() string {
8195	return awsutil.Prettify(s)
8196}
8197
8198// GoString returns the string representation.
8199//
8200// API parameter values that are decorated as "sensitive" in the API will not
8201// be included in the string output. The member name will be present, but the
8202// value will be replaced with "sensitive".
8203func (s DeleteCodeSigningConfigInput) GoString() string {
8204	return s.String()
8205}
8206
8207// Validate inspects the fields of the type to determine if they are valid.
8208func (s *DeleteCodeSigningConfigInput) Validate() error {
8209	invalidParams := request.ErrInvalidParams{Context: "DeleteCodeSigningConfigInput"}
8210	if s.CodeSigningConfigArn == nil {
8211		invalidParams.Add(request.NewErrParamRequired("CodeSigningConfigArn"))
8212	}
8213	if s.CodeSigningConfigArn != nil && len(*s.CodeSigningConfigArn) < 1 {
8214		invalidParams.Add(request.NewErrParamMinLen("CodeSigningConfigArn", 1))
8215	}
8216
8217	if invalidParams.Len() > 0 {
8218		return invalidParams
8219	}
8220	return nil
8221}
8222
8223// SetCodeSigningConfigArn sets the CodeSigningConfigArn field's value.
8224func (s *DeleteCodeSigningConfigInput) SetCodeSigningConfigArn(v string) *DeleteCodeSigningConfigInput {
8225	s.CodeSigningConfigArn = &v
8226	return s
8227}
8228
8229type DeleteCodeSigningConfigOutput struct {
8230	_ struct{} `type:"structure"`
8231}
8232
8233// String returns the string representation.
8234//
8235// API parameter values that are decorated as "sensitive" in the API will not
8236// be included in the string output. The member name will be present, but the
8237// value will be replaced with "sensitive".
8238func (s DeleteCodeSigningConfigOutput) String() string {
8239	return awsutil.Prettify(s)
8240}
8241
8242// GoString returns the string representation.
8243//
8244// API parameter values that are decorated as "sensitive" in the API will not
8245// be included in the string output. The member name will be present, but the
8246// value will be replaced with "sensitive".
8247func (s DeleteCodeSigningConfigOutput) GoString() string {
8248	return s.String()
8249}
8250
8251type DeleteEventSourceMappingInput struct {
8252	_ struct{} `type:"structure" nopayload:"true"`
8253
8254	// The identifier of the event source mapping.
8255	//
8256	// UUID is a required field
8257	UUID *string `location:"uri" locationName:"UUID" type:"string" required:"true"`
8258}
8259
8260// String returns the string representation.
8261//
8262// API parameter values that are decorated as "sensitive" in the API will not
8263// be included in the string output. The member name will be present, but the
8264// value will be replaced with "sensitive".
8265func (s DeleteEventSourceMappingInput) String() string {
8266	return awsutil.Prettify(s)
8267}
8268
8269// GoString returns the string representation.
8270//
8271// API parameter values that are decorated as "sensitive" in the API will not
8272// be included in the string output. The member name will be present, but the
8273// value will be replaced with "sensitive".
8274func (s DeleteEventSourceMappingInput) GoString() string {
8275	return s.String()
8276}
8277
8278// Validate inspects the fields of the type to determine if they are valid.
8279func (s *DeleteEventSourceMappingInput) Validate() error {
8280	invalidParams := request.ErrInvalidParams{Context: "DeleteEventSourceMappingInput"}
8281	if s.UUID == nil {
8282		invalidParams.Add(request.NewErrParamRequired("UUID"))
8283	}
8284	if s.UUID != nil && len(*s.UUID) < 1 {
8285		invalidParams.Add(request.NewErrParamMinLen("UUID", 1))
8286	}
8287
8288	if invalidParams.Len() > 0 {
8289		return invalidParams
8290	}
8291	return nil
8292}
8293
8294// SetUUID sets the UUID field's value.
8295func (s *DeleteEventSourceMappingInput) SetUUID(v string) *DeleteEventSourceMappingInput {
8296	s.UUID = &v
8297	return s
8298}
8299
8300type DeleteFunctionCodeSigningConfigInput struct {
8301	_ struct{} `type:"structure" nopayload:"true"`
8302
8303	// The name of the Lambda function.
8304	//
8305	// Name formats
8306	//
8307	//    * Function name - MyFunction.
8308	//
8309	//    * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.
8310	//
8311	//    * Partial ARN - 123456789012:function:MyFunction.
8312	//
8313	// The length constraint applies only to the full ARN. If you specify only the
8314	// function name, it is limited to 64 characters in length.
8315	//
8316	// FunctionName is a required field
8317	FunctionName *string `location:"uri" locationName:"FunctionName" min:"1" type:"string" required:"true"`
8318}
8319
8320// String returns the string representation.
8321//
8322// API parameter values that are decorated as "sensitive" in the API will not
8323// be included in the string output. The member name will be present, but the
8324// value will be replaced with "sensitive".
8325func (s DeleteFunctionCodeSigningConfigInput) String() string {
8326	return awsutil.Prettify(s)
8327}
8328
8329// GoString returns the string representation.
8330//
8331// API parameter values that are decorated as "sensitive" in the API will not
8332// be included in the string output. The member name will be present, but the
8333// value will be replaced with "sensitive".
8334func (s DeleteFunctionCodeSigningConfigInput) GoString() string {
8335	return s.String()
8336}
8337
8338// Validate inspects the fields of the type to determine if they are valid.
8339func (s *DeleteFunctionCodeSigningConfigInput) Validate() error {
8340	invalidParams := request.ErrInvalidParams{Context: "DeleteFunctionCodeSigningConfigInput"}
8341	if s.FunctionName == nil {
8342		invalidParams.Add(request.NewErrParamRequired("FunctionName"))
8343	}
8344	if s.FunctionName != nil && len(*s.FunctionName) < 1 {
8345		invalidParams.Add(request.NewErrParamMinLen("FunctionName", 1))
8346	}
8347
8348	if invalidParams.Len() > 0 {
8349		return invalidParams
8350	}
8351	return nil
8352}
8353
8354// SetFunctionName sets the FunctionName field's value.
8355func (s *DeleteFunctionCodeSigningConfigInput) SetFunctionName(v string) *DeleteFunctionCodeSigningConfigInput {
8356	s.FunctionName = &v
8357	return s
8358}
8359
8360type DeleteFunctionCodeSigningConfigOutput struct {
8361	_ struct{} `type:"structure"`
8362}
8363
8364// String returns the string representation.
8365//
8366// API parameter values that are decorated as "sensitive" in the API will not
8367// be included in the string output. The member name will be present, but the
8368// value will be replaced with "sensitive".
8369func (s DeleteFunctionCodeSigningConfigOutput) String() string {
8370	return awsutil.Prettify(s)
8371}
8372
8373// GoString returns the string representation.
8374//
8375// API parameter values that are decorated as "sensitive" in the API will not
8376// be included in the string output. The member name will be present, but the
8377// value will be replaced with "sensitive".
8378func (s DeleteFunctionCodeSigningConfigOutput) GoString() string {
8379	return s.String()
8380}
8381
8382type DeleteFunctionConcurrencyInput struct {
8383	_ struct{} `type:"structure" nopayload:"true"`
8384
8385	// The name of the Lambda function.
8386	//
8387	// Name formats
8388	//
8389	//    * Function name - my-function.
8390	//
8391	//    * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.
8392	//
8393	//    * Partial ARN - 123456789012:function:my-function.
8394	//
8395	// The length constraint applies only to the full ARN. If you specify only the
8396	// function name, it is limited to 64 characters in length.
8397	//
8398	// FunctionName is a required field
8399	FunctionName *string `location:"uri" locationName:"FunctionName" min:"1" type:"string" required:"true"`
8400}
8401
8402// String returns the string representation.
8403//
8404// API parameter values that are decorated as "sensitive" in the API will not
8405// be included in the string output. The member name will be present, but the
8406// value will be replaced with "sensitive".
8407func (s DeleteFunctionConcurrencyInput) String() string {
8408	return awsutil.Prettify(s)
8409}
8410
8411// GoString returns the string representation.
8412//
8413// API parameter values that are decorated as "sensitive" in the API will not
8414// be included in the string output. The member name will be present, but the
8415// value will be replaced with "sensitive".
8416func (s DeleteFunctionConcurrencyInput) GoString() string {
8417	return s.String()
8418}
8419
8420// Validate inspects the fields of the type to determine if they are valid.
8421func (s *DeleteFunctionConcurrencyInput) Validate() error {
8422	invalidParams := request.ErrInvalidParams{Context: "DeleteFunctionConcurrencyInput"}
8423	if s.FunctionName == nil {
8424		invalidParams.Add(request.NewErrParamRequired("FunctionName"))
8425	}
8426	if s.FunctionName != nil && len(*s.FunctionName) < 1 {
8427		invalidParams.Add(request.NewErrParamMinLen("FunctionName", 1))
8428	}
8429
8430	if invalidParams.Len() > 0 {
8431		return invalidParams
8432	}
8433	return nil
8434}
8435
8436// SetFunctionName sets the FunctionName field's value.
8437func (s *DeleteFunctionConcurrencyInput) SetFunctionName(v string) *DeleteFunctionConcurrencyInput {
8438	s.FunctionName = &v
8439	return s
8440}
8441
8442type DeleteFunctionConcurrencyOutput struct {
8443	_ struct{} `type:"structure"`
8444}
8445
8446// String returns the string representation.
8447//
8448// API parameter values that are decorated as "sensitive" in the API will not
8449// be included in the string output. The member name will be present, but the
8450// value will be replaced with "sensitive".
8451func (s DeleteFunctionConcurrencyOutput) String() string {
8452	return awsutil.Prettify(s)
8453}
8454
8455// GoString returns the string representation.
8456//
8457// API parameter values that are decorated as "sensitive" in the API will not
8458// be included in the string output. The member name will be present, but the
8459// value will be replaced with "sensitive".
8460func (s DeleteFunctionConcurrencyOutput) GoString() string {
8461	return s.String()
8462}
8463
8464type DeleteFunctionEventInvokeConfigInput struct {
8465	_ struct{} `type:"structure" nopayload:"true"`
8466
8467	// The name of the Lambda function, version, or alias.
8468	//
8469	// Name formats
8470	//
8471	//    * Function name - my-function (name-only), my-function:v1 (with alias).
8472	//
8473	//    * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.
8474	//
8475	//    * Partial ARN - 123456789012:function:my-function.
8476	//
8477	// You can append a version number or alias to any of the formats. The length
8478	// constraint applies only to the full ARN. If you specify only the function
8479	// name, it is limited to 64 characters in length.
8480	//
8481	// FunctionName is a required field
8482	FunctionName *string `location:"uri" locationName:"FunctionName" min:"1" type:"string" required:"true"`
8483
8484	// A version number or alias name.
8485	Qualifier *string `location:"querystring" locationName:"Qualifier" min:"1" type:"string"`
8486}
8487
8488// String returns the string representation.
8489//
8490// API parameter values that are decorated as "sensitive" in the API will not
8491// be included in the string output. The member name will be present, but the
8492// value will be replaced with "sensitive".
8493func (s DeleteFunctionEventInvokeConfigInput) String() string {
8494	return awsutil.Prettify(s)
8495}
8496
8497// GoString returns the string representation.
8498//
8499// API parameter values that are decorated as "sensitive" in the API will not
8500// be included in the string output. The member name will be present, but the
8501// value will be replaced with "sensitive".
8502func (s DeleteFunctionEventInvokeConfigInput) GoString() string {
8503	return s.String()
8504}
8505
8506// Validate inspects the fields of the type to determine if they are valid.
8507func (s *DeleteFunctionEventInvokeConfigInput) Validate() error {
8508	invalidParams := request.ErrInvalidParams{Context: "DeleteFunctionEventInvokeConfigInput"}
8509	if s.FunctionName == nil {
8510		invalidParams.Add(request.NewErrParamRequired("FunctionName"))
8511	}
8512	if s.FunctionName != nil && len(*s.FunctionName) < 1 {
8513		invalidParams.Add(request.NewErrParamMinLen("FunctionName", 1))
8514	}
8515	if s.Qualifier != nil && len(*s.Qualifier) < 1 {
8516		invalidParams.Add(request.NewErrParamMinLen("Qualifier", 1))
8517	}
8518
8519	if invalidParams.Len() > 0 {
8520		return invalidParams
8521	}
8522	return nil
8523}
8524
8525// SetFunctionName sets the FunctionName field's value.
8526func (s *DeleteFunctionEventInvokeConfigInput) SetFunctionName(v string) *DeleteFunctionEventInvokeConfigInput {
8527	s.FunctionName = &v
8528	return s
8529}
8530
8531// SetQualifier sets the Qualifier field's value.
8532func (s *DeleteFunctionEventInvokeConfigInput) SetQualifier(v string) *DeleteFunctionEventInvokeConfigInput {
8533	s.Qualifier = &v
8534	return s
8535}
8536
8537type DeleteFunctionEventInvokeConfigOutput struct {
8538	_ struct{} `type:"structure"`
8539}
8540
8541// String returns the string representation.
8542//
8543// API parameter values that are decorated as "sensitive" in the API will not
8544// be included in the string output. The member name will be present, but the
8545// value will be replaced with "sensitive".
8546func (s DeleteFunctionEventInvokeConfigOutput) String() string {
8547	return awsutil.Prettify(s)
8548}
8549
8550// GoString returns the string representation.
8551//
8552// API parameter values that are decorated as "sensitive" in the API will not
8553// be included in the string output. The member name will be present, but the
8554// value will be replaced with "sensitive".
8555func (s DeleteFunctionEventInvokeConfigOutput) GoString() string {
8556	return s.String()
8557}
8558
8559type DeleteFunctionInput struct {
8560	_ struct{} `type:"structure" nopayload:"true"`
8561
8562	// The name of the Lambda function or version.
8563	//
8564	// Name formats
8565	//
8566	//    * Function name - my-function (name-only), my-function:1 (with version).
8567	//
8568	//    * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.
8569	//
8570	//    * Partial ARN - 123456789012:function:my-function.
8571	//
8572	// You can append a version number or alias to any of the formats. The length
8573	// constraint applies only to the full ARN. If you specify only the function
8574	// name, it is limited to 64 characters in length.
8575	//
8576	// FunctionName is a required field
8577	FunctionName *string `location:"uri" locationName:"FunctionName" min:"1" type:"string" required:"true"`
8578
8579	// Specify a version to delete. You can't delete a version that's referenced
8580	// by an alias.
8581	Qualifier *string `location:"querystring" locationName:"Qualifier" min:"1" type:"string"`
8582}
8583
8584// String returns the string representation.
8585//
8586// API parameter values that are decorated as "sensitive" in the API will not
8587// be included in the string output. The member name will be present, but the
8588// value will be replaced with "sensitive".
8589func (s DeleteFunctionInput) String() string {
8590	return awsutil.Prettify(s)
8591}
8592
8593// GoString returns the string representation.
8594//
8595// API parameter values that are decorated as "sensitive" in the API will not
8596// be included in the string output. The member name will be present, but the
8597// value will be replaced with "sensitive".
8598func (s DeleteFunctionInput) GoString() string {
8599	return s.String()
8600}
8601
8602// Validate inspects the fields of the type to determine if they are valid.
8603func (s *DeleteFunctionInput) Validate() error {
8604	invalidParams := request.ErrInvalidParams{Context: "DeleteFunctionInput"}
8605	if s.FunctionName == nil {
8606		invalidParams.Add(request.NewErrParamRequired("FunctionName"))
8607	}
8608	if s.FunctionName != nil && len(*s.FunctionName) < 1 {
8609		invalidParams.Add(request.NewErrParamMinLen("FunctionName", 1))
8610	}
8611	if s.Qualifier != nil && len(*s.Qualifier) < 1 {
8612		invalidParams.Add(request.NewErrParamMinLen("Qualifier", 1))
8613	}
8614
8615	if invalidParams.Len() > 0 {
8616		return invalidParams
8617	}
8618	return nil
8619}
8620
8621// SetFunctionName sets the FunctionName field's value.
8622func (s *DeleteFunctionInput) SetFunctionName(v string) *DeleteFunctionInput {
8623	s.FunctionName = &v
8624	return s
8625}
8626
8627// SetQualifier sets the Qualifier field's value.
8628func (s *DeleteFunctionInput) SetQualifier(v string) *DeleteFunctionInput {
8629	s.Qualifier = &v
8630	return s
8631}
8632
8633type DeleteFunctionOutput struct {
8634	_ struct{} `type:"structure"`
8635}
8636
8637// String returns the string representation.
8638//
8639// API parameter values that are decorated as "sensitive" in the API will not
8640// be included in the string output. The member name will be present, but the
8641// value will be replaced with "sensitive".
8642func (s DeleteFunctionOutput) String() string {
8643	return awsutil.Prettify(s)
8644}
8645
8646// GoString returns the string representation.
8647//
8648// API parameter values that are decorated as "sensitive" in the API will not
8649// be included in the string output. The member name will be present, but the
8650// value will be replaced with "sensitive".
8651func (s DeleteFunctionOutput) GoString() string {
8652	return s.String()
8653}
8654
8655type DeleteLayerVersionInput struct {
8656	_ struct{} `type:"structure" nopayload:"true"`
8657
8658	// The name or Amazon Resource Name (ARN) of the layer.
8659	//
8660	// LayerName is a required field
8661	LayerName *string `location:"uri" locationName:"LayerName" min:"1" type:"string" required:"true"`
8662
8663	// The version number.
8664	//
8665	// VersionNumber is a required field
8666	VersionNumber *int64 `location:"uri" locationName:"VersionNumber" type:"long" required:"true"`
8667}
8668
8669// String returns the string representation.
8670//
8671// API parameter values that are decorated as "sensitive" in the API will not
8672// be included in the string output. The member name will be present, but the
8673// value will be replaced with "sensitive".
8674func (s DeleteLayerVersionInput) String() string {
8675	return awsutil.Prettify(s)
8676}
8677
8678// GoString returns the string representation.
8679//
8680// API parameter values that are decorated as "sensitive" in the API will not
8681// be included in the string output. The member name will be present, but the
8682// value will be replaced with "sensitive".
8683func (s DeleteLayerVersionInput) GoString() string {
8684	return s.String()
8685}
8686
8687// Validate inspects the fields of the type to determine if they are valid.
8688func (s *DeleteLayerVersionInput) Validate() error {
8689	invalidParams := request.ErrInvalidParams{Context: "DeleteLayerVersionInput"}
8690	if s.LayerName == nil {
8691		invalidParams.Add(request.NewErrParamRequired("LayerName"))
8692	}
8693	if s.LayerName != nil && len(*s.LayerName) < 1 {
8694		invalidParams.Add(request.NewErrParamMinLen("LayerName", 1))
8695	}
8696	if s.VersionNumber == nil {
8697		invalidParams.Add(request.NewErrParamRequired("VersionNumber"))
8698	}
8699
8700	if invalidParams.Len() > 0 {
8701		return invalidParams
8702	}
8703	return nil
8704}
8705
8706// SetLayerName sets the LayerName field's value.
8707func (s *DeleteLayerVersionInput) SetLayerName(v string) *DeleteLayerVersionInput {
8708	s.LayerName = &v
8709	return s
8710}
8711
8712// SetVersionNumber sets the VersionNumber field's value.
8713func (s *DeleteLayerVersionInput) SetVersionNumber(v int64) *DeleteLayerVersionInput {
8714	s.VersionNumber = &v
8715	return s
8716}
8717
8718type DeleteLayerVersionOutput struct {
8719	_ struct{} `type:"structure"`
8720}
8721
8722// String returns the string representation.
8723//
8724// API parameter values that are decorated as "sensitive" in the API will not
8725// be included in the string output. The member name will be present, but the
8726// value will be replaced with "sensitive".
8727func (s DeleteLayerVersionOutput) String() string {
8728	return awsutil.Prettify(s)
8729}
8730
8731// GoString returns the string representation.
8732//
8733// API parameter values that are decorated as "sensitive" in the API will not
8734// be included in the string output. The member name will be present, but the
8735// value will be replaced with "sensitive".
8736func (s DeleteLayerVersionOutput) GoString() string {
8737	return s.String()
8738}
8739
8740type DeleteProvisionedConcurrencyConfigInput struct {
8741	_ struct{} `type:"structure" nopayload:"true"`
8742
8743	// The name of the Lambda function.
8744	//
8745	// Name formats
8746	//
8747	//    * Function name - my-function.
8748	//
8749	//    * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.
8750	//
8751	//    * Partial ARN - 123456789012:function:my-function.
8752	//
8753	// The length constraint applies only to the full ARN. If you specify only the
8754	// function name, it is limited to 64 characters in length.
8755	//
8756	// FunctionName is a required field
8757	FunctionName *string `location:"uri" locationName:"FunctionName" min:"1" type:"string" required:"true"`
8758
8759	// The version number or alias name.
8760	//
8761	// Qualifier is a required field
8762	Qualifier *string `location:"querystring" locationName:"Qualifier" min:"1" type:"string" required:"true"`
8763}
8764
8765// String returns the string representation.
8766//
8767// API parameter values that are decorated as "sensitive" in the API will not
8768// be included in the string output. The member name will be present, but the
8769// value will be replaced with "sensitive".
8770func (s DeleteProvisionedConcurrencyConfigInput) String() string {
8771	return awsutil.Prettify(s)
8772}
8773
8774// GoString returns the string representation.
8775//
8776// API parameter values that are decorated as "sensitive" in the API will not
8777// be included in the string output. The member name will be present, but the
8778// value will be replaced with "sensitive".
8779func (s DeleteProvisionedConcurrencyConfigInput) GoString() string {
8780	return s.String()
8781}
8782
8783// Validate inspects the fields of the type to determine if they are valid.
8784func (s *DeleteProvisionedConcurrencyConfigInput) Validate() error {
8785	invalidParams := request.ErrInvalidParams{Context: "DeleteProvisionedConcurrencyConfigInput"}
8786	if s.FunctionName == nil {
8787		invalidParams.Add(request.NewErrParamRequired("FunctionName"))
8788	}
8789	if s.FunctionName != nil && len(*s.FunctionName) < 1 {
8790		invalidParams.Add(request.NewErrParamMinLen("FunctionName", 1))
8791	}
8792	if s.Qualifier == nil {
8793		invalidParams.Add(request.NewErrParamRequired("Qualifier"))
8794	}
8795	if s.Qualifier != nil && len(*s.Qualifier) < 1 {
8796		invalidParams.Add(request.NewErrParamMinLen("Qualifier", 1))
8797	}
8798
8799	if invalidParams.Len() > 0 {
8800		return invalidParams
8801	}
8802	return nil
8803}
8804
8805// SetFunctionName sets the FunctionName field's value.
8806func (s *DeleteProvisionedConcurrencyConfigInput) SetFunctionName(v string) *DeleteProvisionedConcurrencyConfigInput {
8807	s.FunctionName = &v
8808	return s
8809}
8810
8811// SetQualifier sets the Qualifier field's value.
8812func (s *DeleteProvisionedConcurrencyConfigInput) SetQualifier(v string) *DeleteProvisionedConcurrencyConfigInput {
8813	s.Qualifier = &v
8814	return s
8815}
8816
8817type DeleteProvisionedConcurrencyConfigOutput struct {
8818	_ struct{} `type:"structure"`
8819}
8820
8821// String returns the string representation.
8822//
8823// API parameter values that are decorated as "sensitive" in the API will not
8824// be included in the string output. The member name will be present, but the
8825// value will be replaced with "sensitive".
8826func (s DeleteProvisionedConcurrencyConfigOutput) String() string {
8827	return awsutil.Prettify(s)
8828}
8829
8830// GoString returns the string representation.
8831//
8832// API parameter values that are decorated as "sensitive" in the API will not
8833// be included in the string output. The member name will be present, but the
8834// value will be replaced with "sensitive".
8835func (s DeleteProvisionedConcurrencyConfigOutput) GoString() string {
8836	return s.String()
8837}
8838
8839// A configuration object that specifies the destination of an event after Lambda
8840// processes it.
8841type DestinationConfig struct {
8842	_ struct{} `type:"structure"`
8843
8844	// The destination configuration for failed invocations.
8845	OnFailure *OnFailure `type:"structure"`
8846
8847	// The destination configuration for successful invocations.
8848	OnSuccess *OnSuccess `type:"structure"`
8849}
8850
8851// String returns the string representation.
8852//
8853// API parameter values that are decorated as "sensitive" in the API will not
8854// be included in the string output. The member name will be present, but the
8855// value will be replaced with "sensitive".
8856func (s DestinationConfig) String() string {
8857	return awsutil.Prettify(s)
8858}
8859
8860// GoString returns the string representation.
8861//
8862// API parameter values that are decorated as "sensitive" in the API will not
8863// be included in the string output. The member name will be present, but the
8864// value will be replaced with "sensitive".
8865func (s DestinationConfig) GoString() string {
8866	return s.String()
8867}
8868
8869// SetOnFailure sets the OnFailure field's value.
8870func (s *DestinationConfig) SetOnFailure(v *OnFailure) *DestinationConfig {
8871	s.OnFailure = v
8872	return s
8873}
8874
8875// SetOnSuccess sets the OnSuccess field's value.
8876func (s *DestinationConfig) SetOnSuccess(v *OnSuccess) *DestinationConfig {
8877	s.OnSuccess = v
8878	return s
8879}
8880
8881// Need additional permissions to configure VPC settings.
8882type EC2AccessDeniedException struct {
8883	_            struct{}                  `type:"structure"`
8884	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
8885
8886	Message_ *string `locationName:"Message" type:"string"`
8887
8888	Type *string `type:"string"`
8889}
8890
8891// String returns the string representation.
8892//
8893// API parameter values that are decorated as "sensitive" in the API will not
8894// be included in the string output. The member name will be present, but the
8895// value will be replaced with "sensitive".
8896func (s EC2AccessDeniedException) String() string {
8897	return awsutil.Prettify(s)
8898}
8899
8900// GoString returns the string representation.
8901//
8902// API parameter values that are decorated as "sensitive" in the API will not
8903// be included in the string output. The member name will be present, but the
8904// value will be replaced with "sensitive".
8905func (s EC2AccessDeniedException) GoString() string {
8906	return s.String()
8907}
8908
8909func newErrorEC2AccessDeniedException(v protocol.ResponseMetadata) error {
8910	return &EC2AccessDeniedException{
8911		RespMetadata: v,
8912	}
8913}
8914
8915// Code returns the exception type name.
8916func (s *EC2AccessDeniedException) Code() string {
8917	return "EC2AccessDeniedException"
8918}
8919
8920// Message returns the exception's message.
8921func (s *EC2AccessDeniedException) Message() string {
8922	if s.Message_ != nil {
8923		return *s.Message_
8924	}
8925	return ""
8926}
8927
8928// OrigErr always returns nil, satisfies awserr.Error interface.
8929func (s *EC2AccessDeniedException) OrigErr() error {
8930	return nil
8931}
8932
8933func (s *EC2AccessDeniedException) Error() string {
8934	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
8935}
8936
8937// Status code returns the HTTP status code for the request's response error.
8938func (s *EC2AccessDeniedException) StatusCode() int {
8939	return s.RespMetadata.StatusCode
8940}
8941
8942// RequestID returns the service's response RequestID for request.
8943func (s *EC2AccessDeniedException) RequestID() string {
8944	return s.RespMetadata.RequestID
8945}
8946
8947// Lambda was throttled by Amazon EC2 during Lambda function initialization
8948// using the execution role provided for the Lambda function.
8949type EC2ThrottledException struct {
8950	_            struct{}                  `type:"structure"`
8951	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
8952
8953	Message_ *string `locationName:"Message" type:"string"`
8954
8955	Type *string `type:"string"`
8956}
8957
8958// String returns the string representation.
8959//
8960// API parameter values that are decorated as "sensitive" in the API will not
8961// be included in the string output. The member name will be present, but the
8962// value will be replaced with "sensitive".
8963func (s EC2ThrottledException) String() string {
8964	return awsutil.Prettify(s)
8965}
8966
8967// GoString returns the string representation.
8968//
8969// API parameter values that are decorated as "sensitive" in the API will not
8970// be included in the string output. The member name will be present, but the
8971// value will be replaced with "sensitive".
8972func (s EC2ThrottledException) GoString() string {
8973	return s.String()
8974}
8975
8976func newErrorEC2ThrottledException(v protocol.ResponseMetadata) error {
8977	return &EC2ThrottledException{
8978		RespMetadata: v,
8979	}
8980}
8981
8982// Code returns the exception type name.
8983func (s *EC2ThrottledException) Code() string {
8984	return "EC2ThrottledException"
8985}
8986
8987// Message returns the exception's message.
8988func (s *EC2ThrottledException) Message() string {
8989	if s.Message_ != nil {
8990		return *s.Message_
8991	}
8992	return ""
8993}
8994
8995// OrigErr always returns nil, satisfies awserr.Error interface.
8996func (s *EC2ThrottledException) OrigErr() error {
8997	return nil
8998}
8999
9000func (s *EC2ThrottledException) Error() string {
9001	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
9002}
9003
9004// Status code returns the HTTP status code for the request's response error.
9005func (s *EC2ThrottledException) StatusCode() int {
9006	return s.RespMetadata.StatusCode
9007}
9008
9009// RequestID returns the service's response RequestID for request.
9010func (s *EC2ThrottledException) RequestID() string {
9011	return s.RespMetadata.RequestID
9012}
9013
9014// Lambda received an unexpected EC2 client exception while setting up for the
9015// Lambda function.
9016type EC2UnexpectedException struct {
9017	_            struct{}                  `type:"structure"`
9018	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
9019
9020	EC2ErrorCode *string `type:"string"`
9021
9022	Message_ *string `locationName:"Message" type:"string"`
9023
9024	Type *string `type:"string"`
9025}
9026
9027// String returns the string representation.
9028//
9029// API parameter values that are decorated as "sensitive" in the API will not
9030// be included in the string output. The member name will be present, but the
9031// value will be replaced with "sensitive".
9032func (s EC2UnexpectedException) String() string {
9033	return awsutil.Prettify(s)
9034}
9035
9036// GoString returns the string representation.
9037//
9038// API parameter values that are decorated as "sensitive" in the API will not
9039// be included in the string output. The member name will be present, but the
9040// value will be replaced with "sensitive".
9041func (s EC2UnexpectedException) GoString() string {
9042	return s.String()
9043}
9044
9045func newErrorEC2UnexpectedException(v protocol.ResponseMetadata) error {
9046	return &EC2UnexpectedException{
9047		RespMetadata: v,
9048	}
9049}
9050
9051// Code returns the exception type name.
9052func (s *EC2UnexpectedException) Code() string {
9053	return "EC2UnexpectedException"
9054}
9055
9056// Message returns the exception's message.
9057func (s *EC2UnexpectedException) Message() string {
9058	if s.Message_ != nil {
9059		return *s.Message_
9060	}
9061	return ""
9062}
9063
9064// OrigErr always returns nil, satisfies awserr.Error interface.
9065func (s *EC2UnexpectedException) OrigErr() error {
9066	return nil
9067}
9068
9069func (s *EC2UnexpectedException) Error() string {
9070	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
9071}
9072
9073// Status code returns the HTTP status code for the request's response error.
9074func (s *EC2UnexpectedException) StatusCode() int {
9075	return s.RespMetadata.StatusCode
9076}
9077
9078// RequestID returns the service's response RequestID for request.
9079func (s *EC2UnexpectedException) RequestID() string {
9080	return s.RespMetadata.RequestID
9081}
9082
9083// An error occurred when reading from or writing to a connected file system.
9084type EFSIOException struct {
9085	_            struct{}                  `type:"structure"`
9086	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
9087
9088	Message_ *string `locationName:"Message" type:"string"`
9089
9090	Type *string `type:"string"`
9091}
9092
9093// String returns the string representation.
9094//
9095// API parameter values that are decorated as "sensitive" in the API will not
9096// be included in the string output. The member name will be present, but the
9097// value will be replaced with "sensitive".
9098func (s EFSIOException) String() string {
9099	return awsutil.Prettify(s)
9100}
9101
9102// GoString returns the string representation.
9103//
9104// API parameter values that are decorated as "sensitive" in the API will not
9105// be included in the string output. The member name will be present, but the
9106// value will be replaced with "sensitive".
9107func (s EFSIOException) GoString() string {
9108	return s.String()
9109}
9110
9111func newErrorEFSIOException(v protocol.ResponseMetadata) error {
9112	return &EFSIOException{
9113		RespMetadata: v,
9114	}
9115}
9116
9117// Code returns the exception type name.
9118func (s *EFSIOException) Code() string {
9119	return "EFSIOException"
9120}
9121
9122// Message returns the exception's message.
9123func (s *EFSIOException) Message() string {
9124	if s.Message_ != nil {
9125		return *s.Message_
9126	}
9127	return ""
9128}
9129
9130// OrigErr always returns nil, satisfies awserr.Error interface.
9131func (s *EFSIOException) OrigErr() error {
9132	return nil
9133}
9134
9135func (s *EFSIOException) Error() string {
9136	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
9137}
9138
9139// Status code returns the HTTP status code for the request's response error.
9140func (s *EFSIOException) StatusCode() int {
9141	return s.RespMetadata.StatusCode
9142}
9143
9144// RequestID returns the service's response RequestID for request.
9145func (s *EFSIOException) RequestID() string {
9146	return s.RespMetadata.RequestID
9147}
9148
9149// The function couldn't make a network connection to the configured file system.
9150type EFSMountConnectivityException struct {
9151	_            struct{}                  `type:"structure"`
9152	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
9153
9154	Message_ *string `locationName:"Message" type:"string"`
9155
9156	Type *string `type:"string"`
9157}
9158
9159// String returns the string representation.
9160//
9161// API parameter values that are decorated as "sensitive" in the API will not
9162// be included in the string output. The member name will be present, but the
9163// value will be replaced with "sensitive".
9164func (s EFSMountConnectivityException) String() string {
9165	return awsutil.Prettify(s)
9166}
9167
9168// GoString returns the string representation.
9169//
9170// API parameter values that are decorated as "sensitive" in the API will not
9171// be included in the string output. The member name will be present, but the
9172// value will be replaced with "sensitive".
9173func (s EFSMountConnectivityException) GoString() string {
9174	return s.String()
9175}
9176
9177func newErrorEFSMountConnectivityException(v protocol.ResponseMetadata) error {
9178	return &EFSMountConnectivityException{
9179		RespMetadata: v,
9180	}
9181}
9182
9183// Code returns the exception type name.
9184func (s *EFSMountConnectivityException) Code() string {
9185	return "EFSMountConnectivityException"
9186}
9187
9188// Message returns the exception's message.
9189func (s *EFSMountConnectivityException) Message() string {
9190	if s.Message_ != nil {
9191		return *s.Message_
9192	}
9193	return ""
9194}
9195
9196// OrigErr always returns nil, satisfies awserr.Error interface.
9197func (s *EFSMountConnectivityException) OrigErr() error {
9198	return nil
9199}
9200
9201func (s *EFSMountConnectivityException) Error() string {
9202	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
9203}
9204
9205// Status code returns the HTTP status code for the request's response error.
9206func (s *EFSMountConnectivityException) StatusCode() int {
9207	return s.RespMetadata.StatusCode
9208}
9209
9210// RequestID returns the service's response RequestID for request.
9211func (s *EFSMountConnectivityException) RequestID() string {
9212	return s.RespMetadata.RequestID
9213}
9214
9215// The function couldn't mount the configured file system due to a permission
9216// or configuration issue.
9217type EFSMountFailureException struct {
9218	_            struct{}                  `type:"structure"`
9219	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
9220
9221	Message_ *string `locationName:"Message" type:"string"`
9222
9223	Type *string `type:"string"`
9224}
9225
9226// String returns the string representation.
9227//
9228// API parameter values that are decorated as "sensitive" in the API will not
9229// be included in the string output. The member name will be present, but the
9230// value will be replaced with "sensitive".
9231func (s EFSMountFailureException) String() string {
9232	return awsutil.Prettify(s)
9233}
9234
9235// GoString returns the string representation.
9236//
9237// API parameter values that are decorated as "sensitive" in the API will not
9238// be included in the string output. The member name will be present, but the
9239// value will be replaced with "sensitive".
9240func (s EFSMountFailureException) GoString() string {
9241	return s.String()
9242}
9243
9244func newErrorEFSMountFailureException(v protocol.ResponseMetadata) error {
9245	return &EFSMountFailureException{
9246		RespMetadata: v,
9247	}
9248}
9249
9250// Code returns the exception type name.
9251func (s *EFSMountFailureException) Code() string {
9252	return "EFSMountFailureException"
9253}
9254
9255// Message returns the exception's message.
9256func (s *EFSMountFailureException) Message() string {
9257	if s.Message_ != nil {
9258		return *s.Message_
9259	}
9260	return ""
9261}
9262
9263// OrigErr always returns nil, satisfies awserr.Error interface.
9264func (s *EFSMountFailureException) OrigErr() error {
9265	return nil
9266}
9267
9268func (s *EFSMountFailureException) Error() string {
9269	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
9270}
9271
9272// Status code returns the HTTP status code for the request's response error.
9273func (s *EFSMountFailureException) StatusCode() int {
9274	return s.RespMetadata.StatusCode
9275}
9276
9277// RequestID returns the service's response RequestID for request.
9278func (s *EFSMountFailureException) RequestID() string {
9279	return s.RespMetadata.RequestID
9280}
9281
9282// The function was able to make a network connection to the configured file
9283// system, but the mount operation timed out.
9284type EFSMountTimeoutException struct {
9285	_            struct{}                  `type:"structure"`
9286	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
9287
9288	Message_ *string `locationName:"Message" type:"string"`
9289
9290	Type *string `type:"string"`
9291}
9292
9293// String returns the string representation.
9294//
9295// API parameter values that are decorated as "sensitive" in the API will not
9296// be included in the string output. The member name will be present, but the
9297// value will be replaced with "sensitive".
9298func (s EFSMountTimeoutException) String() string {
9299	return awsutil.Prettify(s)
9300}
9301
9302// GoString returns the string representation.
9303//
9304// API parameter values that are decorated as "sensitive" in the API will not
9305// be included in the string output. The member name will be present, but the
9306// value will be replaced with "sensitive".
9307func (s EFSMountTimeoutException) GoString() string {
9308	return s.String()
9309}
9310
9311func newErrorEFSMountTimeoutException(v protocol.ResponseMetadata) error {
9312	return &EFSMountTimeoutException{
9313		RespMetadata: v,
9314	}
9315}
9316
9317// Code returns the exception type name.
9318func (s *EFSMountTimeoutException) Code() string {
9319	return "EFSMountTimeoutException"
9320}
9321
9322// Message returns the exception's message.
9323func (s *EFSMountTimeoutException) Message() string {
9324	if s.Message_ != nil {
9325		return *s.Message_
9326	}
9327	return ""
9328}
9329
9330// OrigErr always returns nil, satisfies awserr.Error interface.
9331func (s *EFSMountTimeoutException) OrigErr() error {
9332	return nil
9333}
9334
9335func (s *EFSMountTimeoutException) Error() string {
9336	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
9337}
9338
9339// Status code returns the HTTP status code for the request's response error.
9340func (s *EFSMountTimeoutException) StatusCode() int {
9341	return s.RespMetadata.StatusCode
9342}
9343
9344// RequestID returns the service's response RequestID for request.
9345func (s *EFSMountTimeoutException) RequestID() string {
9346	return s.RespMetadata.RequestID
9347}
9348
9349// Lambda was not able to create an elastic network interface in the VPC, specified
9350// as part of Lambda function configuration, because the limit for network interfaces
9351// has been reached.
9352type ENILimitReachedException struct {
9353	_            struct{}                  `type:"structure"`
9354	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
9355
9356	Message_ *string `locationName:"Message" type:"string"`
9357
9358	Type *string `type:"string"`
9359}
9360
9361// String returns the string representation.
9362//
9363// API parameter values that are decorated as "sensitive" in the API will not
9364// be included in the string output. The member name will be present, but the
9365// value will be replaced with "sensitive".
9366func (s ENILimitReachedException) String() string {
9367	return awsutil.Prettify(s)
9368}
9369
9370// GoString returns the string representation.
9371//
9372// API parameter values that are decorated as "sensitive" in the API will not
9373// be included in the string output. The member name will be present, but the
9374// value will be replaced with "sensitive".
9375func (s ENILimitReachedException) GoString() string {
9376	return s.String()
9377}
9378
9379func newErrorENILimitReachedException(v protocol.ResponseMetadata) error {
9380	return &ENILimitReachedException{
9381		RespMetadata: v,
9382	}
9383}
9384
9385// Code returns the exception type name.
9386func (s *ENILimitReachedException) Code() string {
9387	return "ENILimitReachedException"
9388}
9389
9390// Message returns the exception's message.
9391func (s *ENILimitReachedException) Message() string {
9392	if s.Message_ != nil {
9393		return *s.Message_
9394	}
9395	return ""
9396}
9397
9398// OrigErr always returns nil, satisfies awserr.Error interface.
9399func (s *ENILimitReachedException) OrigErr() error {
9400	return nil
9401}
9402
9403func (s *ENILimitReachedException) Error() string {
9404	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
9405}
9406
9407// Status code returns the HTTP status code for the request's response error.
9408func (s *ENILimitReachedException) StatusCode() int {
9409	return s.RespMetadata.StatusCode
9410}
9411
9412// RequestID returns the service's response RequestID for request.
9413func (s *ENILimitReachedException) RequestID() string {
9414	return s.RespMetadata.RequestID
9415}
9416
9417// A function's environment variable settings. You can use environment variables
9418// to adjust your function's behavior without updating code. An environment
9419// variable is a pair of strings that are stored in a function's version-specific
9420// configuration.
9421type Environment struct {
9422	_ struct{} `type:"structure"`
9423
9424	// Environment variable key-value pairs. For more information, see Using Lambda
9425	// environment variables (https://docs.aws.amazon.com/lambda/latest/dg/configuration-envvars.html).
9426	//
9427	// Variables is a sensitive parameter and its value will be
9428	// replaced with "sensitive" in string returned by Environment's
9429	// String and GoString methods.
9430	Variables map[string]*string `type:"map" sensitive:"true"`
9431}
9432
9433// String returns the string representation.
9434//
9435// API parameter values that are decorated as "sensitive" in the API will not
9436// be included in the string output. The member name will be present, but the
9437// value will be replaced with "sensitive".
9438func (s Environment) String() string {
9439	return awsutil.Prettify(s)
9440}
9441
9442// GoString returns the string representation.
9443//
9444// API parameter values that are decorated as "sensitive" in the API will not
9445// be included in the string output. The member name will be present, but the
9446// value will be replaced with "sensitive".
9447func (s Environment) GoString() string {
9448	return s.String()
9449}
9450
9451// SetVariables sets the Variables field's value.
9452func (s *Environment) SetVariables(v map[string]*string) *Environment {
9453	s.Variables = v
9454	return s
9455}
9456
9457// Error messages for environment variables that couldn't be applied.
9458type EnvironmentError struct {
9459	_ struct{} `type:"structure"`
9460
9461	// The error code.
9462	ErrorCode *string `type:"string"`
9463
9464	// The error message.
9465	//
9466	// Message is a sensitive parameter and its value will be
9467	// replaced with "sensitive" in string returned by EnvironmentError's
9468	// String and GoString methods.
9469	Message *string `type:"string" sensitive:"true"`
9470}
9471
9472// String returns the string representation.
9473//
9474// API parameter values that are decorated as "sensitive" in the API will not
9475// be included in the string output. The member name will be present, but the
9476// value will be replaced with "sensitive".
9477func (s EnvironmentError) String() string {
9478	return awsutil.Prettify(s)
9479}
9480
9481// GoString returns the string representation.
9482//
9483// API parameter values that are decorated as "sensitive" in the API will not
9484// be included in the string output. The member name will be present, but the
9485// value will be replaced with "sensitive".
9486func (s EnvironmentError) GoString() string {
9487	return s.String()
9488}
9489
9490// SetErrorCode sets the ErrorCode field's value.
9491func (s *EnvironmentError) SetErrorCode(v string) *EnvironmentError {
9492	s.ErrorCode = &v
9493	return s
9494}
9495
9496// SetMessage sets the Message field's value.
9497func (s *EnvironmentError) SetMessage(v string) *EnvironmentError {
9498	s.Message = &v
9499	return s
9500}
9501
9502// The results of an operation to update or read environment variables. If the
9503// operation is successful, the response contains the environment variables.
9504// If it failed, the response contains details about the error.
9505type EnvironmentResponse struct {
9506	_ struct{} `type:"structure"`
9507
9508	// Error messages for environment variables that couldn't be applied.
9509	Error *EnvironmentError `type:"structure"`
9510
9511	// Environment variable key-value pairs.
9512	//
9513	// Variables is a sensitive parameter and its value will be
9514	// replaced with "sensitive" in string returned by EnvironmentResponse's
9515	// String and GoString methods.
9516	Variables map[string]*string `type:"map" sensitive:"true"`
9517}
9518
9519// String returns the string representation.
9520//
9521// API parameter values that are decorated as "sensitive" in the API will not
9522// be included in the string output. The member name will be present, but the
9523// value will be replaced with "sensitive".
9524func (s EnvironmentResponse) String() string {
9525	return awsutil.Prettify(s)
9526}
9527
9528// GoString returns the string representation.
9529//
9530// API parameter values that are decorated as "sensitive" in the API will not
9531// be included in the string output. The member name will be present, but the
9532// value will be replaced with "sensitive".
9533func (s EnvironmentResponse) GoString() string {
9534	return s.String()
9535}
9536
9537// SetError sets the Error field's value.
9538func (s *EnvironmentResponse) SetError(v *EnvironmentError) *EnvironmentResponse {
9539	s.Error = v
9540	return s
9541}
9542
9543// SetVariables sets the Variables field's value.
9544func (s *EnvironmentResponse) SetVariables(v map[string]*string) *EnvironmentResponse {
9545	s.Variables = v
9546	return s
9547}
9548
9549// A mapping between an Amazon Web Services resource and a Lambda function.
9550// For details, see CreateEventSourceMapping.
9551type EventSourceMappingConfiguration struct {
9552	_ struct{} `type:"structure"`
9553
9554	// The maximum number of records in each batch that Lambda pulls from your stream
9555	// or queue and sends to your function. Lambda passes all of the records in
9556	// the batch to the function in a single call, up to the payload limit for synchronous
9557	// invocation (6 MB).
9558	//
9559	// Default value: Varies by service. For Amazon SQS, the default is 10. For
9560	// all other services, the default is 100.
9561	//
9562	// Related setting: When you set BatchSize to a value greater than 10, you must
9563	// set MaximumBatchingWindowInSeconds to at least 1.
9564	BatchSize *int64 `min:"1" type:"integer"`
9565
9566	// (Streams only) If the function returns an error, split the batch in two and
9567	// retry. The default value is false.
9568	BisectBatchOnFunctionError *bool `type:"boolean"`
9569
9570	// (Streams only) An Amazon SQS queue or Amazon SNS topic destination for discarded
9571	// records.
9572	DestinationConfig *DestinationConfig `type:"structure"`
9573
9574	// The Amazon Resource Name (ARN) of the event source.
9575	EventSourceArn *string `type:"string"`
9576
9577	// The ARN of the Lambda function.
9578	FunctionArn *string `type:"string"`
9579
9580	// (Streams only) A list of current response type enums applied to the event
9581	// source mapping.
9582	FunctionResponseTypes []*string `type:"list"`
9583
9584	// The date that the event source mapping was last updated or that its state
9585	// changed.
9586	LastModified *time.Time `type:"timestamp"`
9587
9588	// The result of the last Lambda invocation of your function.
9589	LastProcessingResult *string `type:"string"`
9590
9591	// (Streams and Amazon SQS standard queues) The maximum amount of time, in seconds,
9592	// that Lambda spends gathering records before invoking the function.
9593	//
9594	// Default: 0
9595	//
9596	// Related setting: When you set BatchSize to a value greater than 10, you must
9597	// set MaximumBatchingWindowInSeconds to at least 1.
9598	MaximumBatchingWindowInSeconds *int64 `type:"integer"`
9599
9600	// (Streams only) Discard records older than the specified age. The default
9601	// value is -1, which sets the maximum age to infinite. When the value is set
9602	// to infinite, Lambda never discards old records.
9603	MaximumRecordAgeInSeconds *int64 `type:"integer"`
9604
9605	// (Streams only) Discard records after the specified number of retries. The
9606	// default value is -1, which sets the maximum number of retries to infinite.
9607	// When MaximumRetryAttempts is infinite, Lambda retries failed records until
9608	// the record expires in the event source.
9609	MaximumRetryAttempts *int64 `type:"integer"`
9610
9611	// (Streams only) The number of batches to process concurrently from each shard.
9612	// The default value is 1.
9613	ParallelizationFactor *int64 `min:"1" type:"integer"`
9614
9615	// (Amazon MQ) The name of the Amazon MQ broker destination queue to consume.
9616	Queues []*string `min:"1" type:"list"`
9617
9618	// The self-managed Apache Kafka cluster for your event source.
9619	SelfManagedEventSource *SelfManagedEventSource `type:"structure"`
9620
9621	// An array of the authentication protocol, VPC components, or virtual host
9622	// to secure and define your event source.
9623	SourceAccessConfigurations []*SourceAccessConfiguration `type:"list"`
9624
9625	// The position in a stream from which to start reading. Required for Amazon
9626	// Kinesis, Amazon DynamoDB, and Amazon MSK stream sources. AT_TIMESTAMP is
9627	// supported only for Amazon Kinesis streams.
9628	StartingPosition *string `type:"string" enum:"EventSourcePosition"`
9629
9630	// With StartingPosition set to AT_TIMESTAMP, the time from which to start reading.
9631	StartingPositionTimestamp *time.Time `type:"timestamp"`
9632
9633	// The state of the event source mapping. It can be one of the following: Creating,
9634	// Enabling, Enabled, Disabling, Disabled, Updating, or Deleting.
9635	State *string `type:"string"`
9636
9637	// Indicates whether a user or Lambda made the last change to the event source
9638	// mapping.
9639	StateTransitionReason *string `type:"string"`
9640
9641	// The name of the Kafka topic.
9642	Topics []*string `min:"1" type:"list"`
9643
9644	// (Streams only) The duration in seconds of a processing window. The range
9645	// is 1–900 seconds.
9646	TumblingWindowInSeconds *int64 `type:"integer"`
9647
9648	// The identifier of the event source mapping.
9649	UUID *string `type:"string"`
9650}
9651
9652// String returns the string representation.
9653//
9654// API parameter values that are decorated as "sensitive" in the API will not
9655// be included in the string output. The member name will be present, but the
9656// value will be replaced with "sensitive".
9657func (s EventSourceMappingConfiguration) String() string {
9658	return awsutil.Prettify(s)
9659}
9660
9661// GoString returns the string representation.
9662//
9663// API parameter values that are decorated as "sensitive" in the API will not
9664// be included in the string output. The member name will be present, but the
9665// value will be replaced with "sensitive".
9666func (s EventSourceMappingConfiguration) GoString() string {
9667	return s.String()
9668}
9669
9670// SetBatchSize sets the BatchSize field's value.
9671func (s *EventSourceMappingConfiguration) SetBatchSize(v int64) *EventSourceMappingConfiguration {
9672	s.BatchSize = &v
9673	return s
9674}
9675
9676// SetBisectBatchOnFunctionError sets the BisectBatchOnFunctionError field's value.
9677func (s *EventSourceMappingConfiguration) SetBisectBatchOnFunctionError(v bool) *EventSourceMappingConfiguration {
9678	s.BisectBatchOnFunctionError = &v
9679	return s
9680}
9681
9682// SetDestinationConfig sets the DestinationConfig field's value.
9683func (s *EventSourceMappingConfiguration) SetDestinationConfig(v *DestinationConfig) *EventSourceMappingConfiguration {
9684	s.DestinationConfig = v
9685	return s
9686}
9687
9688// SetEventSourceArn sets the EventSourceArn field's value.
9689func (s *EventSourceMappingConfiguration) SetEventSourceArn(v string) *EventSourceMappingConfiguration {
9690	s.EventSourceArn = &v
9691	return s
9692}
9693
9694// SetFunctionArn sets the FunctionArn field's value.
9695func (s *EventSourceMappingConfiguration) SetFunctionArn(v string) *EventSourceMappingConfiguration {
9696	s.FunctionArn = &v
9697	return s
9698}
9699
9700// SetFunctionResponseTypes sets the FunctionResponseTypes field's value.
9701func (s *EventSourceMappingConfiguration) SetFunctionResponseTypes(v []*string) *EventSourceMappingConfiguration {
9702	s.FunctionResponseTypes = v
9703	return s
9704}
9705
9706// SetLastModified sets the LastModified field's value.
9707func (s *EventSourceMappingConfiguration) SetLastModified(v time.Time) *EventSourceMappingConfiguration {
9708	s.LastModified = &v
9709	return s
9710}
9711
9712// SetLastProcessingResult sets the LastProcessingResult field's value.
9713func (s *EventSourceMappingConfiguration) SetLastProcessingResult(v string) *EventSourceMappingConfiguration {
9714	s.LastProcessingResult = &v
9715	return s
9716}
9717
9718// SetMaximumBatchingWindowInSeconds sets the MaximumBatchingWindowInSeconds field's value.
9719func (s *EventSourceMappingConfiguration) SetMaximumBatchingWindowInSeconds(v int64) *EventSourceMappingConfiguration {
9720	s.MaximumBatchingWindowInSeconds = &v
9721	return s
9722}
9723
9724// SetMaximumRecordAgeInSeconds sets the MaximumRecordAgeInSeconds field's value.
9725func (s *EventSourceMappingConfiguration) SetMaximumRecordAgeInSeconds(v int64) *EventSourceMappingConfiguration {
9726	s.MaximumRecordAgeInSeconds = &v
9727	return s
9728}
9729
9730// SetMaximumRetryAttempts sets the MaximumRetryAttempts field's value.
9731func (s *EventSourceMappingConfiguration) SetMaximumRetryAttempts(v int64) *EventSourceMappingConfiguration {
9732	s.MaximumRetryAttempts = &v
9733	return s
9734}
9735
9736// SetParallelizationFactor sets the ParallelizationFactor field's value.
9737func (s *EventSourceMappingConfiguration) SetParallelizationFactor(v int64) *EventSourceMappingConfiguration {
9738	s.ParallelizationFactor = &v
9739	return s
9740}
9741
9742// SetQueues sets the Queues field's value.
9743func (s *EventSourceMappingConfiguration) SetQueues(v []*string) *EventSourceMappingConfiguration {
9744	s.Queues = v
9745	return s
9746}
9747
9748// SetSelfManagedEventSource sets the SelfManagedEventSource field's value.
9749func (s *EventSourceMappingConfiguration) SetSelfManagedEventSource(v *SelfManagedEventSource) *EventSourceMappingConfiguration {
9750	s.SelfManagedEventSource = v
9751	return s
9752}
9753
9754// SetSourceAccessConfigurations sets the SourceAccessConfigurations field's value.
9755func (s *EventSourceMappingConfiguration) SetSourceAccessConfigurations(v []*SourceAccessConfiguration) *EventSourceMappingConfiguration {
9756	s.SourceAccessConfigurations = v
9757	return s
9758}
9759
9760// SetStartingPosition sets the StartingPosition field's value.
9761func (s *EventSourceMappingConfiguration) SetStartingPosition(v string) *EventSourceMappingConfiguration {
9762	s.StartingPosition = &v
9763	return s
9764}
9765
9766// SetStartingPositionTimestamp sets the StartingPositionTimestamp field's value.
9767func (s *EventSourceMappingConfiguration) SetStartingPositionTimestamp(v time.Time) *EventSourceMappingConfiguration {
9768	s.StartingPositionTimestamp = &v
9769	return s
9770}
9771
9772// SetState sets the State field's value.
9773func (s *EventSourceMappingConfiguration) SetState(v string) *EventSourceMappingConfiguration {
9774	s.State = &v
9775	return s
9776}
9777
9778// SetStateTransitionReason sets the StateTransitionReason field's value.
9779func (s *EventSourceMappingConfiguration) SetStateTransitionReason(v string) *EventSourceMappingConfiguration {
9780	s.StateTransitionReason = &v
9781	return s
9782}
9783
9784// SetTopics sets the Topics field's value.
9785func (s *EventSourceMappingConfiguration) SetTopics(v []*string) *EventSourceMappingConfiguration {
9786	s.Topics = v
9787	return s
9788}
9789
9790// SetTumblingWindowInSeconds sets the TumblingWindowInSeconds field's value.
9791func (s *EventSourceMappingConfiguration) SetTumblingWindowInSeconds(v int64) *EventSourceMappingConfiguration {
9792	s.TumblingWindowInSeconds = &v
9793	return s
9794}
9795
9796// SetUUID sets the UUID field's value.
9797func (s *EventSourceMappingConfiguration) SetUUID(v string) *EventSourceMappingConfiguration {
9798	s.UUID = &v
9799	return s
9800}
9801
9802// Details about the connection between a Lambda function and an Amazon EFS
9803// file system (https://docs.aws.amazon.com/lambda/latest/dg/configuration-filesystem.html).
9804type FileSystemConfig struct {
9805	_ struct{} `type:"structure"`
9806
9807	// The Amazon Resource Name (ARN) of the Amazon EFS access point that provides
9808	// access to the file system.
9809	//
9810	// Arn is a required field
9811	Arn *string `type:"string" required:"true"`
9812
9813	// The path where the function can access the file system, starting with /mnt/.
9814	//
9815	// LocalMountPath is a required field
9816	LocalMountPath *string `type:"string" required:"true"`
9817}
9818
9819// String returns the string representation.
9820//
9821// API parameter values that are decorated as "sensitive" in the API will not
9822// be included in the string output. The member name will be present, but the
9823// value will be replaced with "sensitive".
9824func (s FileSystemConfig) String() string {
9825	return awsutil.Prettify(s)
9826}
9827
9828// GoString returns the string representation.
9829//
9830// API parameter values that are decorated as "sensitive" in the API will not
9831// be included in the string output. The member name will be present, but the
9832// value will be replaced with "sensitive".
9833func (s FileSystemConfig) GoString() string {
9834	return s.String()
9835}
9836
9837// Validate inspects the fields of the type to determine if they are valid.
9838func (s *FileSystemConfig) Validate() error {
9839	invalidParams := request.ErrInvalidParams{Context: "FileSystemConfig"}
9840	if s.Arn == nil {
9841		invalidParams.Add(request.NewErrParamRequired("Arn"))
9842	}
9843	if s.LocalMountPath == nil {
9844		invalidParams.Add(request.NewErrParamRequired("LocalMountPath"))
9845	}
9846
9847	if invalidParams.Len() > 0 {
9848		return invalidParams
9849	}
9850	return nil
9851}
9852
9853// SetArn sets the Arn field's value.
9854func (s *FileSystemConfig) SetArn(v string) *FileSystemConfig {
9855	s.Arn = &v
9856	return s
9857}
9858
9859// SetLocalMountPath sets the LocalMountPath field's value.
9860func (s *FileSystemConfig) SetLocalMountPath(v string) *FileSystemConfig {
9861	s.LocalMountPath = &v
9862	return s
9863}
9864
9865// The code for the Lambda function. You can specify either an object in Amazon
9866// S3, upload a .zip file archive deployment package directly, or specify the
9867// URI of a container image.
9868type FunctionCode struct {
9869	_ struct{} `type:"structure"`
9870
9871	// URI of a container image (https://docs.aws.amazon.com/lambda/latest/dg/lambda-images.html)
9872	// in the Amazon ECR registry.
9873	ImageUri *string `type:"string"`
9874
9875	// An Amazon S3 bucket in the same Amazon Web Services Region as your function.
9876	// The bucket can be in a different Amazon Web Services account.
9877	S3Bucket *string `min:"3" type:"string"`
9878
9879	// The Amazon S3 key of the deployment package.
9880	S3Key *string `min:"1" type:"string"`
9881
9882	// For versioned objects, the version of the deployment package object to use.
9883	S3ObjectVersion *string `min:"1" type:"string"`
9884
9885	// The base64-encoded contents of the deployment package. Amazon Web Services
9886	// SDK and Amazon Web Services CLI clients handle the encoding for you.
9887	//
9888	// ZipFile is a sensitive parameter and its value will be
9889	// replaced with "sensitive" in string returned by FunctionCode's
9890	// String and GoString methods.
9891	//
9892	// ZipFile is automatically base64 encoded/decoded by the SDK.
9893	ZipFile []byte `type:"blob" sensitive:"true"`
9894}
9895
9896// String returns the string representation.
9897//
9898// API parameter values that are decorated as "sensitive" in the API will not
9899// be included in the string output. The member name will be present, but the
9900// value will be replaced with "sensitive".
9901func (s FunctionCode) String() string {
9902	return awsutil.Prettify(s)
9903}
9904
9905// GoString returns the string representation.
9906//
9907// API parameter values that are decorated as "sensitive" in the API will not
9908// be included in the string output. The member name will be present, but the
9909// value will be replaced with "sensitive".
9910func (s FunctionCode) GoString() string {
9911	return s.String()
9912}
9913
9914// Validate inspects the fields of the type to determine if they are valid.
9915func (s *FunctionCode) Validate() error {
9916	invalidParams := request.ErrInvalidParams{Context: "FunctionCode"}
9917	if s.S3Bucket != nil && len(*s.S3Bucket) < 3 {
9918		invalidParams.Add(request.NewErrParamMinLen("S3Bucket", 3))
9919	}
9920	if s.S3Key != nil && len(*s.S3Key) < 1 {
9921		invalidParams.Add(request.NewErrParamMinLen("S3Key", 1))
9922	}
9923	if s.S3ObjectVersion != nil && len(*s.S3ObjectVersion) < 1 {
9924		invalidParams.Add(request.NewErrParamMinLen("S3ObjectVersion", 1))
9925	}
9926
9927	if invalidParams.Len() > 0 {
9928		return invalidParams
9929	}
9930	return nil
9931}
9932
9933// SetImageUri sets the ImageUri field's value.
9934func (s *FunctionCode) SetImageUri(v string) *FunctionCode {
9935	s.ImageUri = &v
9936	return s
9937}
9938
9939// SetS3Bucket sets the S3Bucket field's value.
9940func (s *FunctionCode) SetS3Bucket(v string) *FunctionCode {
9941	s.S3Bucket = &v
9942	return s
9943}
9944
9945// SetS3Key sets the S3Key field's value.
9946func (s *FunctionCode) SetS3Key(v string) *FunctionCode {
9947	s.S3Key = &v
9948	return s
9949}
9950
9951// SetS3ObjectVersion sets the S3ObjectVersion field's value.
9952func (s *FunctionCode) SetS3ObjectVersion(v string) *FunctionCode {
9953	s.S3ObjectVersion = &v
9954	return s
9955}
9956
9957// SetZipFile sets the ZipFile field's value.
9958func (s *FunctionCode) SetZipFile(v []byte) *FunctionCode {
9959	s.ZipFile = v
9960	return s
9961}
9962
9963// Details about a function's deployment package.
9964type FunctionCodeLocation struct {
9965	_ struct{} `type:"structure"`
9966
9967	// URI of a container image in the Amazon ECR registry.
9968	ImageUri *string `type:"string"`
9969
9970	// A presigned URL that you can use to download the deployment package.
9971	Location *string `type:"string"`
9972
9973	// The service that's hosting the file.
9974	RepositoryType *string `type:"string"`
9975
9976	// The resolved URI for the image.
9977	ResolvedImageUri *string `type:"string"`
9978}
9979
9980// String returns the string representation.
9981//
9982// API parameter values that are decorated as "sensitive" in the API will not
9983// be included in the string output. The member name will be present, but the
9984// value will be replaced with "sensitive".
9985func (s FunctionCodeLocation) String() string {
9986	return awsutil.Prettify(s)
9987}
9988
9989// GoString returns the string representation.
9990//
9991// API parameter values that are decorated as "sensitive" in the API will not
9992// be included in the string output. The member name will be present, but the
9993// value will be replaced with "sensitive".
9994func (s FunctionCodeLocation) GoString() string {
9995	return s.String()
9996}
9997
9998// SetImageUri sets the ImageUri field's value.
9999func (s *FunctionCodeLocation) SetImageUri(v string) *FunctionCodeLocation {
10000	s.ImageUri = &v
10001	return s
10002}
10003
10004// SetLocation sets the Location field's value.
10005func (s *FunctionCodeLocation) SetLocation(v string) *FunctionCodeLocation {
10006	s.Location = &v
10007	return s
10008}
10009
10010// SetRepositoryType sets the RepositoryType field's value.
10011func (s *FunctionCodeLocation) SetRepositoryType(v string) *FunctionCodeLocation {
10012	s.RepositoryType = &v
10013	return s
10014}
10015
10016// SetResolvedImageUri sets the ResolvedImageUri field's value.
10017func (s *FunctionCodeLocation) SetResolvedImageUri(v string) *FunctionCodeLocation {
10018	s.ResolvedImageUri = &v
10019	return s
10020}
10021
10022// Details about a function's configuration.
10023type FunctionConfiguration struct {
10024	_ struct{} `type:"structure"`
10025
10026	// The instruction set architecture that the function supports. Architecture
10027	// is a string array with one of the valid values. The default architecture
10028	// value is x86_64.
10029	Architectures []*string `min:"1" type:"list"`
10030
10031	// The SHA256 hash of the function's deployment package.
10032	CodeSha256 *string `type:"string"`
10033
10034	// The size of the function's deployment package, in bytes.
10035	CodeSize *int64 `type:"long"`
10036
10037	// The function's dead letter queue.
10038	DeadLetterConfig *DeadLetterConfig `type:"structure"`
10039
10040	// The function's description.
10041	Description *string `type:"string"`
10042
10043	// The function's environment variables (https://docs.aws.amazon.com/lambda/latest/dg/configuration-envvars.html).
10044	Environment *EnvironmentResponse `type:"structure"`
10045
10046	// Connection settings for an Amazon EFS file system (https://docs.aws.amazon.com/lambda/latest/dg/configuration-filesystem.html).
10047	FileSystemConfigs []*FileSystemConfig `type:"list"`
10048
10049	// The function's Amazon Resource Name (ARN).
10050	FunctionArn *string `type:"string"`
10051
10052	// The name of the function.
10053	FunctionName *string `min:"1" type:"string"`
10054
10055	// The function that Lambda calls to begin executing your function.
10056	Handler *string `type:"string"`
10057
10058	// The function's image configuration values.
10059	ImageConfigResponse *ImageConfigResponse `type:"structure"`
10060
10061	// The KMS key that's used to encrypt the function's environment variables.
10062	// This key is only returned if you've configured a customer managed CMK.
10063	KMSKeyArn *string `type:"string"`
10064
10065	// The date and time that the function was last updated, in ISO-8601 format
10066	// (https://www.w3.org/TR/NOTE-datetime) (YYYY-MM-DDThh:mm:ss.sTZD).
10067	LastModified *string `type:"string"`
10068
10069	// The status of the last update that was performed on the function. This is
10070	// first set to Successful after function creation completes.
10071	LastUpdateStatus *string `type:"string" enum:"LastUpdateStatus"`
10072
10073	// The reason for the last update that was performed on the function.
10074	LastUpdateStatusReason *string `type:"string"`
10075
10076	// The reason code for the last update that was performed on the function.
10077	LastUpdateStatusReasonCode *string `type:"string" enum:"LastUpdateStatusReasonCode"`
10078
10079	// The function's layers (https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html).
10080	Layers []*Layer `type:"list"`
10081
10082	// For Lambda@Edge functions, the ARN of the master function.
10083	MasterArn *string `type:"string"`
10084
10085	// The amount of memory available to the function at runtime.
10086	MemorySize *int64 `min:"128" type:"integer"`
10087
10088	// The type of deployment package. Set to Image for container image and set
10089	// Zip for .zip file archive.
10090	PackageType *string `type:"string" enum:"PackageType"`
10091
10092	// The latest updated revision of the function or alias.
10093	RevisionId *string `type:"string"`
10094
10095	// The function's execution role.
10096	Role *string `type:"string"`
10097
10098	// The runtime environment for the Lambda function.
10099	Runtime *string `type:"string" enum:"Runtime"`
10100
10101	// The ARN of the signing job.
10102	SigningJobArn *string `type:"string"`
10103
10104	// The ARN of the signing profile version.
10105	SigningProfileVersionArn *string `type:"string"`
10106
10107	// The current state of the function. When the state is Inactive, you can reactivate
10108	// the function by invoking it.
10109	State *string `type:"string" enum:"State"`
10110
10111	// The reason for the function's current state.
10112	StateReason *string `type:"string"`
10113
10114	// The reason code for the function's current state. When the code is Creating,
10115	// you can't invoke or modify the function.
10116	StateReasonCode *string `type:"string" enum:"StateReasonCode"`
10117
10118	// The amount of time in seconds that Lambda allows a function to run before
10119	// stopping it.
10120	Timeout *int64 `min:"1" type:"integer"`
10121
10122	// The function's X-Ray tracing configuration.
10123	TracingConfig *TracingConfigResponse `type:"structure"`
10124
10125	// The version of the Lambda function.
10126	Version *string `min:"1" type:"string"`
10127
10128	// The function's networking configuration.
10129	VpcConfig *VpcConfigResponse `type:"structure"`
10130}
10131
10132// String returns the string representation.
10133//
10134// API parameter values that are decorated as "sensitive" in the API will not
10135// be included in the string output. The member name will be present, but the
10136// value will be replaced with "sensitive".
10137func (s FunctionConfiguration) String() string {
10138	return awsutil.Prettify(s)
10139}
10140
10141// GoString returns the string representation.
10142//
10143// API parameter values that are decorated as "sensitive" in the API will not
10144// be included in the string output. The member name will be present, but the
10145// value will be replaced with "sensitive".
10146func (s FunctionConfiguration) GoString() string {
10147	return s.String()
10148}
10149
10150// SetArchitectures sets the Architectures field's value.
10151func (s *FunctionConfiguration) SetArchitectures(v []*string) *FunctionConfiguration {
10152	s.Architectures = v
10153	return s
10154}
10155
10156// SetCodeSha256 sets the CodeSha256 field's value.
10157func (s *FunctionConfiguration) SetCodeSha256(v string) *FunctionConfiguration {
10158	s.CodeSha256 = &v
10159	return s
10160}
10161
10162// SetCodeSize sets the CodeSize field's value.
10163func (s *FunctionConfiguration) SetCodeSize(v int64) *FunctionConfiguration {
10164	s.CodeSize = &v
10165	return s
10166}
10167
10168// SetDeadLetterConfig sets the DeadLetterConfig field's value.
10169func (s *FunctionConfiguration) SetDeadLetterConfig(v *DeadLetterConfig) *FunctionConfiguration {
10170	s.DeadLetterConfig = v
10171	return s
10172}
10173
10174// SetDescription sets the Description field's value.
10175func (s *FunctionConfiguration) SetDescription(v string) *FunctionConfiguration {
10176	s.Description = &v
10177	return s
10178}
10179
10180// SetEnvironment sets the Environment field's value.
10181func (s *FunctionConfiguration) SetEnvironment(v *EnvironmentResponse) *FunctionConfiguration {
10182	s.Environment = v
10183	return s
10184}
10185
10186// SetFileSystemConfigs sets the FileSystemConfigs field's value.
10187func (s *FunctionConfiguration) SetFileSystemConfigs(v []*FileSystemConfig) *FunctionConfiguration {
10188	s.FileSystemConfigs = v
10189	return s
10190}
10191
10192// SetFunctionArn sets the FunctionArn field's value.
10193func (s *FunctionConfiguration) SetFunctionArn(v string) *FunctionConfiguration {
10194	s.FunctionArn = &v
10195	return s
10196}
10197
10198// SetFunctionName sets the FunctionName field's value.
10199func (s *FunctionConfiguration) SetFunctionName(v string) *FunctionConfiguration {
10200	s.FunctionName = &v
10201	return s
10202}
10203
10204// SetHandler sets the Handler field's value.
10205func (s *FunctionConfiguration) SetHandler(v string) *FunctionConfiguration {
10206	s.Handler = &v
10207	return s
10208}
10209
10210// SetImageConfigResponse sets the ImageConfigResponse field's value.
10211func (s *FunctionConfiguration) SetImageConfigResponse(v *ImageConfigResponse) *FunctionConfiguration {
10212	s.ImageConfigResponse = v
10213	return s
10214}
10215
10216// SetKMSKeyArn sets the KMSKeyArn field's value.
10217func (s *FunctionConfiguration) SetKMSKeyArn(v string) *FunctionConfiguration {
10218	s.KMSKeyArn = &v
10219	return s
10220}
10221
10222// SetLastModified sets the LastModified field's value.
10223func (s *FunctionConfiguration) SetLastModified(v string) *FunctionConfiguration {
10224	s.LastModified = &v
10225	return s
10226}
10227
10228// SetLastUpdateStatus sets the LastUpdateStatus field's value.
10229func (s *FunctionConfiguration) SetLastUpdateStatus(v string) *FunctionConfiguration {
10230	s.LastUpdateStatus = &v
10231	return s
10232}
10233
10234// SetLastUpdateStatusReason sets the LastUpdateStatusReason field's value.
10235func (s *FunctionConfiguration) SetLastUpdateStatusReason(v string) *FunctionConfiguration {
10236	s.LastUpdateStatusReason = &v
10237	return s
10238}
10239
10240// SetLastUpdateStatusReasonCode sets the LastUpdateStatusReasonCode field's value.
10241func (s *FunctionConfiguration) SetLastUpdateStatusReasonCode(v string) *FunctionConfiguration {
10242	s.LastUpdateStatusReasonCode = &v
10243	return s
10244}
10245
10246// SetLayers sets the Layers field's value.
10247func (s *FunctionConfiguration) SetLayers(v []*Layer) *FunctionConfiguration {
10248	s.Layers = v
10249	return s
10250}
10251
10252// SetMasterArn sets the MasterArn field's value.
10253func (s *FunctionConfiguration) SetMasterArn(v string) *FunctionConfiguration {
10254	s.MasterArn = &v
10255	return s
10256}
10257
10258// SetMemorySize sets the MemorySize field's value.
10259func (s *FunctionConfiguration) SetMemorySize(v int64) *FunctionConfiguration {
10260	s.MemorySize = &v
10261	return s
10262}
10263
10264// SetPackageType sets the PackageType field's value.
10265func (s *FunctionConfiguration) SetPackageType(v string) *FunctionConfiguration {
10266	s.PackageType = &v
10267	return s
10268}
10269
10270// SetRevisionId sets the RevisionId field's value.
10271func (s *FunctionConfiguration) SetRevisionId(v string) *FunctionConfiguration {
10272	s.RevisionId = &v
10273	return s
10274}
10275
10276// SetRole sets the Role field's value.
10277func (s *FunctionConfiguration) SetRole(v string) *FunctionConfiguration {
10278	s.Role = &v
10279	return s
10280}
10281
10282// SetRuntime sets the Runtime field's value.
10283func (s *FunctionConfiguration) SetRuntime(v string) *FunctionConfiguration {
10284	s.Runtime = &v
10285	return s
10286}
10287
10288// SetSigningJobArn sets the SigningJobArn field's value.
10289func (s *FunctionConfiguration) SetSigningJobArn(v string) *FunctionConfiguration {
10290	s.SigningJobArn = &v
10291	return s
10292}
10293
10294// SetSigningProfileVersionArn sets the SigningProfileVersionArn field's value.
10295func (s *FunctionConfiguration) SetSigningProfileVersionArn(v string) *FunctionConfiguration {
10296	s.SigningProfileVersionArn = &v
10297	return s
10298}
10299
10300// SetState sets the State field's value.
10301func (s *FunctionConfiguration) SetState(v string) *FunctionConfiguration {
10302	s.State = &v
10303	return s
10304}
10305
10306// SetStateReason sets the StateReason field's value.
10307func (s *FunctionConfiguration) SetStateReason(v string) *FunctionConfiguration {
10308	s.StateReason = &v
10309	return s
10310}
10311
10312// SetStateReasonCode sets the StateReasonCode field's value.
10313func (s *FunctionConfiguration) SetStateReasonCode(v string) *FunctionConfiguration {
10314	s.StateReasonCode = &v
10315	return s
10316}
10317
10318// SetTimeout sets the Timeout field's value.
10319func (s *FunctionConfiguration) SetTimeout(v int64) *FunctionConfiguration {
10320	s.Timeout = &v
10321	return s
10322}
10323
10324// SetTracingConfig sets the TracingConfig field's value.
10325func (s *FunctionConfiguration) SetTracingConfig(v *TracingConfigResponse) *FunctionConfiguration {
10326	s.TracingConfig = v
10327	return s
10328}
10329
10330// SetVersion sets the Version field's value.
10331func (s *FunctionConfiguration) SetVersion(v string) *FunctionConfiguration {
10332	s.Version = &v
10333	return s
10334}
10335
10336// SetVpcConfig sets the VpcConfig field's value.
10337func (s *FunctionConfiguration) SetVpcConfig(v *VpcConfigResponse) *FunctionConfiguration {
10338	s.VpcConfig = v
10339	return s
10340}
10341
10342type FunctionEventInvokeConfig struct {
10343	_ struct{} `type:"structure"`
10344
10345	// A destination for events after they have been sent to a function for processing.
10346	//
10347	// Destinations
10348	//
10349	//    * Function - The Amazon Resource Name (ARN) of a Lambda function.
10350	//
10351	//    * Queue - The ARN of an SQS queue.
10352	//
10353	//    * Topic - The ARN of an SNS topic.
10354	//
10355	//    * Event Bus - The ARN of an Amazon EventBridge event bus.
10356	DestinationConfig *DestinationConfig `type:"structure"`
10357
10358	// The Amazon Resource Name (ARN) of the function.
10359	FunctionArn *string `type:"string"`
10360
10361	// The date and time that the configuration was last updated.
10362	LastModified *time.Time `type:"timestamp"`
10363
10364	// The maximum age of a request that Lambda sends to a function for processing.
10365	MaximumEventAgeInSeconds *int64 `min:"60" type:"integer"`
10366
10367	// The maximum number of times to retry when the function returns an error.
10368	MaximumRetryAttempts *int64 `type:"integer"`
10369}
10370
10371// String returns the string representation.
10372//
10373// API parameter values that are decorated as "sensitive" in the API will not
10374// be included in the string output. The member name will be present, but the
10375// value will be replaced with "sensitive".
10376func (s FunctionEventInvokeConfig) String() string {
10377	return awsutil.Prettify(s)
10378}
10379
10380// GoString returns the string representation.
10381//
10382// API parameter values that are decorated as "sensitive" in the API will not
10383// be included in the string output. The member name will be present, but the
10384// value will be replaced with "sensitive".
10385func (s FunctionEventInvokeConfig) GoString() string {
10386	return s.String()
10387}
10388
10389// SetDestinationConfig sets the DestinationConfig field's value.
10390func (s *FunctionEventInvokeConfig) SetDestinationConfig(v *DestinationConfig) *FunctionEventInvokeConfig {
10391	s.DestinationConfig = v
10392	return s
10393}
10394
10395// SetFunctionArn sets the FunctionArn field's value.
10396func (s *FunctionEventInvokeConfig) SetFunctionArn(v string) *FunctionEventInvokeConfig {
10397	s.FunctionArn = &v
10398	return s
10399}
10400
10401// SetLastModified sets the LastModified field's value.
10402func (s *FunctionEventInvokeConfig) SetLastModified(v time.Time) *FunctionEventInvokeConfig {
10403	s.LastModified = &v
10404	return s
10405}
10406
10407// SetMaximumEventAgeInSeconds sets the MaximumEventAgeInSeconds field's value.
10408func (s *FunctionEventInvokeConfig) SetMaximumEventAgeInSeconds(v int64) *FunctionEventInvokeConfig {
10409	s.MaximumEventAgeInSeconds = &v
10410	return s
10411}
10412
10413// SetMaximumRetryAttempts sets the MaximumRetryAttempts field's value.
10414func (s *FunctionEventInvokeConfig) SetMaximumRetryAttempts(v int64) *FunctionEventInvokeConfig {
10415	s.MaximumRetryAttempts = &v
10416	return s
10417}
10418
10419type GetAccountSettingsInput struct {
10420	_ struct{} `type:"structure" nopayload:"true"`
10421}
10422
10423// String returns the string representation.
10424//
10425// API parameter values that are decorated as "sensitive" in the API will not
10426// be included in the string output. The member name will be present, but the
10427// value will be replaced with "sensitive".
10428func (s GetAccountSettingsInput) String() string {
10429	return awsutil.Prettify(s)
10430}
10431
10432// GoString returns the string representation.
10433//
10434// API parameter values that are decorated as "sensitive" in the API will not
10435// be included in the string output. The member name will be present, but the
10436// value will be replaced with "sensitive".
10437func (s GetAccountSettingsInput) GoString() string {
10438	return s.String()
10439}
10440
10441type GetAccountSettingsOutput struct {
10442	_ struct{} `type:"structure"`
10443
10444	// Limits that are related to concurrency and code storage.
10445	AccountLimit *AccountLimit `type:"structure"`
10446
10447	// The number of functions and amount of storage in use.
10448	AccountUsage *AccountUsage `type:"structure"`
10449}
10450
10451// String returns the string representation.
10452//
10453// API parameter values that are decorated as "sensitive" in the API will not
10454// be included in the string output. The member name will be present, but the
10455// value will be replaced with "sensitive".
10456func (s GetAccountSettingsOutput) String() string {
10457	return awsutil.Prettify(s)
10458}
10459
10460// GoString returns the string representation.
10461//
10462// API parameter values that are decorated as "sensitive" in the API will not
10463// be included in the string output. The member name will be present, but the
10464// value will be replaced with "sensitive".
10465func (s GetAccountSettingsOutput) GoString() string {
10466	return s.String()
10467}
10468
10469// SetAccountLimit sets the AccountLimit field's value.
10470func (s *GetAccountSettingsOutput) SetAccountLimit(v *AccountLimit) *GetAccountSettingsOutput {
10471	s.AccountLimit = v
10472	return s
10473}
10474
10475// SetAccountUsage sets the AccountUsage field's value.
10476func (s *GetAccountSettingsOutput) SetAccountUsage(v *AccountUsage) *GetAccountSettingsOutput {
10477	s.AccountUsage = v
10478	return s
10479}
10480
10481type GetAliasInput struct {
10482	_ struct{} `type:"structure" nopayload:"true"`
10483
10484	// The name of the Lambda function.
10485	//
10486	// Name formats
10487	//
10488	//    * Function name - MyFunction.
10489	//
10490	//    * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.
10491	//
10492	//    * Partial ARN - 123456789012:function:MyFunction.
10493	//
10494	// The length constraint applies only to the full ARN. If you specify only the
10495	// function name, it is limited to 64 characters in length.
10496	//
10497	// FunctionName is a required field
10498	FunctionName *string `location:"uri" locationName:"FunctionName" min:"1" type:"string" required:"true"`
10499
10500	// The name of the alias.
10501	//
10502	// Name is a required field
10503	Name *string `location:"uri" locationName:"Name" min:"1" type:"string" required:"true"`
10504}
10505
10506// String returns the string representation.
10507//
10508// API parameter values that are decorated as "sensitive" in the API will not
10509// be included in the string output. The member name will be present, but the
10510// value will be replaced with "sensitive".
10511func (s GetAliasInput) String() string {
10512	return awsutil.Prettify(s)
10513}
10514
10515// GoString returns the string representation.
10516//
10517// API parameter values that are decorated as "sensitive" in the API will not
10518// be included in the string output. The member name will be present, but the
10519// value will be replaced with "sensitive".
10520func (s GetAliasInput) GoString() string {
10521	return s.String()
10522}
10523
10524// Validate inspects the fields of the type to determine if they are valid.
10525func (s *GetAliasInput) Validate() error {
10526	invalidParams := request.ErrInvalidParams{Context: "GetAliasInput"}
10527	if s.FunctionName == nil {
10528		invalidParams.Add(request.NewErrParamRequired("FunctionName"))
10529	}
10530	if s.FunctionName != nil && len(*s.FunctionName) < 1 {
10531		invalidParams.Add(request.NewErrParamMinLen("FunctionName", 1))
10532	}
10533	if s.Name == nil {
10534		invalidParams.Add(request.NewErrParamRequired("Name"))
10535	}
10536	if s.Name != nil && len(*s.Name) < 1 {
10537		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
10538	}
10539
10540	if invalidParams.Len() > 0 {
10541		return invalidParams
10542	}
10543	return nil
10544}
10545
10546// SetFunctionName sets the FunctionName field's value.
10547func (s *GetAliasInput) SetFunctionName(v string) *GetAliasInput {
10548	s.FunctionName = &v
10549	return s
10550}
10551
10552// SetName sets the Name field's value.
10553func (s *GetAliasInput) SetName(v string) *GetAliasInput {
10554	s.Name = &v
10555	return s
10556}
10557
10558type GetCodeSigningConfigInput struct {
10559	_ struct{} `type:"structure" nopayload:"true"`
10560
10561	// The The Amazon Resource Name (ARN) of the code signing configuration.
10562	//
10563	// CodeSigningConfigArn is a required field
10564	CodeSigningConfigArn *string `location:"uri" locationName:"CodeSigningConfigArn" type:"string" required:"true"`
10565}
10566
10567// String returns the string representation.
10568//
10569// API parameter values that are decorated as "sensitive" in the API will not
10570// be included in the string output. The member name will be present, but the
10571// value will be replaced with "sensitive".
10572func (s GetCodeSigningConfigInput) String() string {
10573	return awsutil.Prettify(s)
10574}
10575
10576// GoString returns the string representation.
10577//
10578// API parameter values that are decorated as "sensitive" in the API will not
10579// be included in the string output. The member name will be present, but the
10580// value will be replaced with "sensitive".
10581func (s GetCodeSigningConfigInput) GoString() string {
10582	return s.String()
10583}
10584
10585// Validate inspects the fields of the type to determine if they are valid.
10586func (s *GetCodeSigningConfigInput) Validate() error {
10587	invalidParams := request.ErrInvalidParams{Context: "GetCodeSigningConfigInput"}
10588	if s.CodeSigningConfigArn == nil {
10589		invalidParams.Add(request.NewErrParamRequired("CodeSigningConfigArn"))
10590	}
10591	if s.CodeSigningConfigArn != nil && len(*s.CodeSigningConfigArn) < 1 {
10592		invalidParams.Add(request.NewErrParamMinLen("CodeSigningConfigArn", 1))
10593	}
10594
10595	if invalidParams.Len() > 0 {
10596		return invalidParams
10597	}
10598	return nil
10599}
10600
10601// SetCodeSigningConfigArn sets the CodeSigningConfigArn field's value.
10602func (s *GetCodeSigningConfigInput) SetCodeSigningConfigArn(v string) *GetCodeSigningConfigInput {
10603	s.CodeSigningConfigArn = &v
10604	return s
10605}
10606
10607type GetCodeSigningConfigOutput struct {
10608	_ struct{} `type:"structure"`
10609
10610	// The code signing configuration
10611	//
10612	// CodeSigningConfig is a required field
10613	CodeSigningConfig *CodeSigningConfig `type:"structure" required:"true"`
10614}
10615
10616// String returns the string representation.
10617//
10618// API parameter values that are decorated as "sensitive" in the API will not
10619// be included in the string output. The member name will be present, but the
10620// value will be replaced with "sensitive".
10621func (s GetCodeSigningConfigOutput) String() string {
10622	return awsutil.Prettify(s)
10623}
10624
10625// GoString returns the string representation.
10626//
10627// API parameter values that are decorated as "sensitive" in the API will not
10628// be included in the string output. The member name will be present, but the
10629// value will be replaced with "sensitive".
10630func (s GetCodeSigningConfigOutput) GoString() string {
10631	return s.String()
10632}
10633
10634// SetCodeSigningConfig sets the CodeSigningConfig field's value.
10635func (s *GetCodeSigningConfigOutput) SetCodeSigningConfig(v *CodeSigningConfig) *GetCodeSigningConfigOutput {
10636	s.CodeSigningConfig = v
10637	return s
10638}
10639
10640type GetEventSourceMappingInput struct {
10641	_ struct{} `type:"structure" nopayload:"true"`
10642
10643	// The identifier of the event source mapping.
10644	//
10645	// UUID is a required field
10646	UUID *string `location:"uri" locationName:"UUID" type:"string" required:"true"`
10647}
10648
10649// String returns the string representation.
10650//
10651// API parameter values that are decorated as "sensitive" in the API will not
10652// be included in the string output. The member name will be present, but the
10653// value will be replaced with "sensitive".
10654func (s GetEventSourceMappingInput) String() string {
10655	return awsutil.Prettify(s)
10656}
10657
10658// GoString returns the string representation.
10659//
10660// API parameter values that are decorated as "sensitive" in the API will not
10661// be included in the string output. The member name will be present, but the
10662// value will be replaced with "sensitive".
10663func (s GetEventSourceMappingInput) GoString() string {
10664	return s.String()
10665}
10666
10667// Validate inspects the fields of the type to determine if they are valid.
10668func (s *GetEventSourceMappingInput) Validate() error {
10669	invalidParams := request.ErrInvalidParams{Context: "GetEventSourceMappingInput"}
10670	if s.UUID == nil {
10671		invalidParams.Add(request.NewErrParamRequired("UUID"))
10672	}
10673	if s.UUID != nil && len(*s.UUID) < 1 {
10674		invalidParams.Add(request.NewErrParamMinLen("UUID", 1))
10675	}
10676
10677	if invalidParams.Len() > 0 {
10678		return invalidParams
10679	}
10680	return nil
10681}
10682
10683// SetUUID sets the UUID field's value.
10684func (s *GetEventSourceMappingInput) SetUUID(v string) *GetEventSourceMappingInput {
10685	s.UUID = &v
10686	return s
10687}
10688
10689type GetFunctionCodeSigningConfigInput struct {
10690	_ struct{} `type:"structure" nopayload:"true"`
10691
10692	// The name of the Lambda function.
10693	//
10694	// Name formats
10695	//
10696	//    * Function name - MyFunction.
10697	//
10698	//    * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.
10699	//
10700	//    * Partial ARN - 123456789012:function:MyFunction.
10701	//
10702	// The length constraint applies only to the full ARN. If you specify only the
10703	// function name, it is limited to 64 characters in length.
10704	//
10705	// FunctionName is a required field
10706	FunctionName *string `location:"uri" locationName:"FunctionName" min:"1" type:"string" required:"true"`
10707}
10708
10709// String returns the string representation.
10710//
10711// API parameter values that are decorated as "sensitive" in the API will not
10712// be included in the string output. The member name will be present, but the
10713// value will be replaced with "sensitive".
10714func (s GetFunctionCodeSigningConfigInput) String() string {
10715	return awsutil.Prettify(s)
10716}
10717
10718// GoString returns the string representation.
10719//
10720// API parameter values that are decorated as "sensitive" in the API will not
10721// be included in the string output. The member name will be present, but the
10722// value will be replaced with "sensitive".
10723func (s GetFunctionCodeSigningConfigInput) GoString() string {
10724	return s.String()
10725}
10726
10727// Validate inspects the fields of the type to determine if they are valid.
10728func (s *GetFunctionCodeSigningConfigInput) Validate() error {
10729	invalidParams := request.ErrInvalidParams{Context: "GetFunctionCodeSigningConfigInput"}
10730	if s.FunctionName == nil {
10731		invalidParams.Add(request.NewErrParamRequired("FunctionName"))
10732	}
10733	if s.FunctionName != nil && len(*s.FunctionName) < 1 {
10734		invalidParams.Add(request.NewErrParamMinLen("FunctionName", 1))
10735	}
10736
10737	if invalidParams.Len() > 0 {
10738		return invalidParams
10739	}
10740	return nil
10741}
10742
10743// SetFunctionName sets the FunctionName field's value.
10744func (s *GetFunctionCodeSigningConfigInput) SetFunctionName(v string) *GetFunctionCodeSigningConfigInput {
10745	s.FunctionName = &v
10746	return s
10747}
10748
10749type GetFunctionCodeSigningConfigOutput struct {
10750	_ struct{} `type:"structure"`
10751
10752	// The The Amazon Resource Name (ARN) of the code signing configuration.
10753	//
10754	// CodeSigningConfigArn is a required field
10755	CodeSigningConfigArn *string `type:"string" required:"true"`
10756
10757	// The name of the Lambda function.
10758	//
10759	// Name formats
10760	//
10761	//    * Function name - MyFunction.
10762	//
10763	//    * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.
10764	//
10765	//    * Partial ARN - 123456789012:function:MyFunction.
10766	//
10767	// The length constraint applies only to the full ARN. If you specify only the
10768	// function name, it is limited to 64 characters in length.
10769	//
10770	// FunctionName is a required field
10771	FunctionName *string `min:"1" type:"string" required:"true"`
10772}
10773
10774// String returns the string representation.
10775//
10776// API parameter values that are decorated as "sensitive" in the API will not
10777// be included in the string output. The member name will be present, but the
10778// value will be replaced with "sensitive".
10779func (s GetFunctionCodeSigningConfigOutput) String() string {
10780	return awsutil.Prettify(s)
10781}
10782
10783// GoString returns the string representation.
10784//
10785// API parameter values that are decorated as "sensitive" in the API will not
10786// be included in the string output. The member name will be present, but the
10787// value will be replaced with "sensitive".
10788func (s GetFunctionCodeSigningConfigOutput) GoString() string {
10789	return s.String()
10790}
10791
10792// SetCodeSigningConfigArn sets the CodeSigningConfigArn field's value.
10793func (s *GetFunctionCodeSigningConfigOutput) SetCodeSigningConfigArn(v string) *GetFunctionCodeSigningConfigOutput {
10794	s.CodeSigningConfigArn = &v
10795	return s
10796}
10797
10798// SetFunctionName sets the FunctionName field's value.
10799func (s *GetFunctionCodeSigningConfigOutput) SetFunctionName(v string) *GetFunctionCodeSigningConfigOutput {
10800	s.FunctionName = &v
10801	return s
10802}
10803
10804type GetFunctionConcurrencyInput struct {
10805	_ struct{} `type:"structure" nopayload:"true"`
10806
10807	// The name of the Lambda function.
10808	//
10809	// Name formats
10810	//
10811	//    * Function name - my-function.
10812	//
10813	//    * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.
10814	//
10815	//    * Partial ARN - 123456789012:function:my-function.
10816	//
10817	// The length constraint applies only to the full ARN. If you specify only the
10818	// function name, it is limited to 64 characters in length.
10819	//
10820	// FunctionName is a required field
10821	FunctionName *string `location:"uri" locationName:"FunctionName" min:"1" type:"string" required:"true"`
10822}
10823
10824// String returns the string representation.
10825//
10826// API parameter values that are decorated as "sensitive" in the API will not
10827// be included in the string output. The member name will be present, but the
10828// value will be replaced with "sensitive".
10829func (s GetFunctionConcurrencyInput) String() string {
10830	return awsutil.Prettify(s)
10831}
10832
10833// GoString returns the string representation.
10834//
10835// API parameter values that are decorated as "sensitive" in the API will not
10836// be included in the string output. The member name will be present, but the
10837// value will be replaced with "sensitive".
10838func (s GetFunctionConcurrencyInput) GoString() string {
10839	return s.String()
10840}
10841
10842// Validate inspects the fields of the type to determine if they are valid.
10843func (s *GetFunctionConcurrencyInput) Validate() error {
10844	invalidParams := request.ErrInvalidParams{Context: "GetFunctionConcurrencyInput"}
10845	if s.FunctionName == nil {
10846		invalidParams.Add(request.NewErrParamRequired("FunctionName"))
10847	}
10848	if s.FunctionName != nil && len(*s.FunctionName) < 1 {
10849		invalidParams.Add(request.NewErrParamMinLen("FunctionName", 1))
10850	}
10851
10852	if invalidParams.Len() > 0 {
10853		return invalidParams
10854	}
10855	return nil
10856}
10857
10858// SetFunctionName sets the FunctionName field's value.
10859func (s *GetFunctionConcurrencyInput) SetFunctionName(v string) *GetFunctionConcurrencyInput {
10860	s.FunctionName = &v
10861	return s
10862}
10863
10864type GetFunctionConcurrencyOutput struct {
10865	_ struct{} `type:"structure"`
10866
10867	// The number of simultaneous executions that are reserved for the function.
10868	ReservedConcurrentExecutions *int64 `type:"integer"`
10869}
10870
10871// String returns the string representation.
10872//
10873// API parameter values that are decorated as "sensitive" in the API will not
10874// be included in the string output. The member name will be present, but the
10875// value will be replaced with "sensitive".
10876func (s GetFunctionConcurrencyOutput) String() string {
10877	return awsutil.Prettify(s)
10878}
10879
10880// GoString returns the string representation.
10881//
10882// API parameter values that are decorated as "sensitive" in the API will not
10883// be included in the string output. The member name will be present, but the
10884// value will be replaced with "sensitive".
10885func (s GetFunctionConcurrencyOutput) GoString() string {
10886	return s.String()
10887}
10888
10889// SetReservedConcurrentExecutions sets the ReservedConcurrentExecutions field's value.
10890func (s *GetFunctionConcurrencyOutput) SetReservedConcurrentExecutions(v int64) *GetFunctionConcurrencyOutput {
10891	s.ReservedConcurrentExecutions = &v
10892	return s
10893}
10894
10895type GetFunctionConfigurationInput struct {
10896	_ struct{} `type:"structure" nopayload:"true"`
10897
10898	// The name of the Lambda function, version, or alias.
10899	//
10900	// Name formats
10901	//
10902	//    * Function name - my-function (name-only), my-function:v1 (with alias).
10903	//
10904	//    * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.
10905	//
10906	//    * Partial ARN - 123456789012:function:my-function.
10907	//
10908	// You can append a version number or alias to any of the formats. The length
10909	// constraint applies only to the full ARN. If you specify only the function
10910	// name, it is limited to 64 characters in length.
10911	//
10912	// FunctionName is a required field
10913	FunctionName *string `location:"uri" locationName:"FunctionName" min:"1" type:"string" required:"true"`
10914
10915	// Specify a version or alias to get details about a published version of the
10916	// function.
10917	Qualifier *string `location:"querystring" locationName:"Qualifier" min:"1" type:"string"`
10918}
10919
10920// String returns the string representation.
10921//
10922// API parameter values that are decorated as "sensitive" in the API will not
10923// be included in the string output. The member name will be present, but the
10924// value will be replaced with "sensitive".
10925func (s GetFunctionConfigurationInput) String() string {
10926	return awsutil.Prettify(s)
10927}
10928
10929// GoString returns the string representation.
10930//
10931// API parameter values that are decorated as "sensitive" in the API will not
10932// be included in the string output. The member name will be present, but the
10933// value will be replaced with "sensitive".
10934func (s GetFunctionConfigurationInput) GoString() string {
10935	return s.String()
10936}
10937
10938// Validate inspects the fields of the type to determine if they are valid.
10939func (s *GetFunctionConfigurationInput) Validate() error {
10940	invalidParams := request.ErrInvalidParams{Context: "GetFunctionConfigurationInput"}
10941	if s.FunctionName == nil {
10942		invalidParams.Add(request.NewErrParamRequired("FunctionName"))
10943	}
10944	if s.FunctionName != nil && len(*s.FunctionName) < 1 {
10945		invalidParams.Add(request.NewErrParamMinLen("FunctionName", 1))
10946	}
10947	if s.Qualifier != nil && len(*s.Qualifier) < 1 {
10948		invalidParams.Add(request.NewErrParamMinLen("Qualifier", 1))
10949	}
10950
10951	if invalidParams.Len() > 0 {
10952		return invalidParams
10953	}
10954	return nil
10955}
10956
10957// SetFunctionName sets the FunctionName field's value.
10958func (s *GetFunctionConfigurationInput) SetFunctionName(v string) *GetFunctionConfigurationInput {
10959	s.FunctionName = &v
10960	return s
10961}
10962
10963// SetQualifier sets the Qualifier field's value.
10964func (s *GetFunctionConfigurationInput) SetQualifier(v string) *GetFunctionConfigurationInput {
10965	s.Qualifier = &v
10966	return s
10967}
10968
10969type GetFunctionEventInvokeConfigInput struct {
10970	_ struct{} `type:"structure" nopayload:"true"`
10971
10972	// The name of the Lambda function, version, or alias.
10973	//
10974	// Name formats
10975	//
10976	//    * Function name - my-function (name-only), my-function:v1 (with alias).
10977	//
10978	//    * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.
10979	//
10980	//    * Partial ARN - 123456789012:function:my-function.
10981	//
10982	// You can append a version number or alias to any of the formats. The length
10983	// constraint applies only to the full ARN. If you specify only the function
10984	// name, it is limited to 64 characters in length.
10985	//
10986	// FunctionName is a required field
10987	FunctionName *string `location:"uri" locationName:"FunctionName" min:"1" type:"string" required:"true"`
10988
10989	// A version number or alias name.
10990	Qualifier *string `location:"querystring" locationName:"Qualifier" min:"1" type:"string"`
10991}
10992
10993// String returns the string representation.
10994//
10995// API parameter values that are decorated as "sensitive" in the API will not
10996// be included in the string output. The member name will be present, but the
10997// value will be replaced with "sensitive".
10998func (s GetFunctionEventInvokeConfigInput) String() string {
10999	return awsutil.Prettify(s)
11000}
11001
11002// GoString returns the string representation.
11003//
11004// API parameter values that are decorated as "sensitive" in the API will not
11005// be included in the string output. The member name will be present, but the
11006// value will be replaced with "sensitive".
11007func (s GetFunctionEventInvokeConfigInput) GoString() string {
11008	return s.String()
11009}
11010
11011// Validate inspects the fields of the type to determine if they are valid.
11012func (s *GetFunctionEventInvokeConfigInput) Validate() error {
11013	invalidParams := request.ErrInvalidParams{Context: "GetFunctionEventInvokeConfigInput"}
11014	if s.FunctionName == nil {
11015		invalidParams.Add(request.NewErrParamRequired("FunctionName"))
11016	}
11017	if s.FunctionName != nil && len(*s.FunctionName) < 1 {
11018		invalidParams.Add(request.NewErrParamMinLen("FunctionName", 1))
11019	}
11020	if s.Qualifier != nil && len(*s.Qualifier) < 1 {
11021		invalidParams.Add(request.NewErrParamMinLen("Qualifier", 1))
11022	}
11023
11024	if invalidParams.Len() > 0 {
11025		return invalidParams
11026	}
11027	return nil
11028}
11029
11030// SetFunctionName sets the FunctionName field's value.
11031func (s *GetFunctionEventInvokeConfigInput) SetFunctionName(v string) *GetFunctionEventInvokeConfigInput {
11032	s.FunctionName = &v
11033	return s
11034}
11035
11036// SetQualifier sets the Qualifier field's value.
11037func (s *GetFunctionEventInvokeConfigInput) SetQualifier(v string) *GetFunctionEventInvokeConfigInput {
11038	s.Qualifier = &v
11039	return s
11040}
11041
11042type GetFunctionEventInvokeConfigOutput struct {
11043	_ struct{} `type:"structure"`
11044
11045	// A destination for events after they have been sent to a function for processing.
11046	//
11047	// Destinations
11048	//
11049	//    * Function - The Amazon Resource Name (ARN) of a Lambda function.
11050	//
11051	//    * Queue - The ARN of an SQS queue.
11052	//
11053	//    * Topic - The ARN of an SNS topic.
11054	//
11055	//    * Event Bus - The ARN of an Amazon EventBridge event bus.
11056	DestinationConfig *DestinationConfig `type:"structure"`
11057
11058	// The Amazon Resource Name (ARN) of the function.
11059	FunctionArn *string `type:"string"`
11060
11061	// The date and time that the configuration was last updated.
11062	LastModified *time.Time `type:"timestamp"`
11063
11064	// The maximum age of a request that Lambda sends to a function for processing.
11065	MaximumEventAgeInSeconds *int64 `min:"60" type:"integer"`
11066
11067	// The maximum number of times to retry when the function returns an error.
11068	MaximumRetryAttempts *int64 `type:"integer"`
11069}
11070
11071// String returns the string representation.
11072//
11073// API parameter values that are decorated as "sensitive" in the API will not
11074// be included in the string output. The member name will be present, but the
11075// value will be replaced with "sensitive".
11076func (s GetFunctionEventInvokeConfigOutput) String() string {
11077	return awsutil.Prettify(s)
11078}
11079
11080// GoString returns the string representation.
11081//
11082// API parameter values that are decorated as "sensitive" in the API will not
11083// be included in the string output. The member name will be present, but the
11084// value will be replaced with "sensitive".
11085func (s GetFunctionEventInvokeConfigOutput) GoString() string {
11086	return s.String()
11087}
11088
11089// SetDestinationConfig sets the DestinationConfig field's value.
11090func (s *GetFunctionEventInvokeConfigOutput) SetDestinationConfig(v *DestinationConfig) *GetFunctionEventInvokeConfigOutput {
11091	s.DestinationConfig = v
11092	return s
11093}
11094
11095// SetFunctionArn sets the FunctionArn field's value.
11096func (s *GetFunctionEventInvokeConfigOutput) SetFunctionArn(v string) *GetFunctionEventInvokeConfigOutput {
11097	s.FunctionArn = &v
11098	return s
11099}
11100
11101// SetLastModified sets the LastModified field's value.
11102func (s *GetFunctionEventInvokeConfigOutput) SetLastModified(v time.Time) *GetFunctionEventInvokeConfigOutput {
11103	s.LastModified = &v
11104	return s
11105}
11106
11107// SetMaximumEventAgeInSeconds sets the MaximumEventAgeInSeconds field's value.
11108func (s *GetFunctionEventInvokeConfigOutput) SetMaximumEventAgeInSeconds(v int64) *GetFunctionEventInvokeConfigOutput {
11109	s.MaximumEventAgeInSeconds = &v
11110	return s
11111}
11112
11113// SetMaximumRetryAttempts sets the MaximumRetryAttempts field's value.
11114func (s *GetFunctionEventInvokeConfigOutput) SetMaximumRetryAttempts(v int64) *GetFunctionEventInvokeConfigOutput {
11115	s.MaximumRetryAttempts = &v
11116	return s
11117}
11118
11119type GetFunctionInput struct {
11120	_ struct{} `type:"structure" nopayload:"true"`
11121
11122	// The name of the Lambda function, version, or alias.
11123	//
11124	// Name formats
11125	//
11126	//    * Function name - my-function (name-only), my-function:v1 (with alias).
11127	//
11128	//    * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.
11129	//
11130	//    * Partial ARN - 123456789012:function:my-function.
11131	//
11132	// You can append a version number or alias to any of the formats. The length
11133	// constraint applies only to the full ARN. If you specify only the function
11134	// name, it is limited to 64 characters in length.
11135	//
11136	// FunctionName is a required field
11137	FunctionName *string `location:"uri" locationName:"FunctionName" min:"1" type:"string" required:"true"`
11138
11139	// Specify a version or alias to get details about a published version of the
11140	// function.
11141	Qualifier *string `location:"querystring" locationName:"Qualifier" min:"1" type:"string"`
11142}
11143
11144// String returns the string representation.
11145//
11146// API parameter values that are decorated as "sensitive" in the API will not
11147// be included in the string output. The member name will be present, but the
11148// value will be replaced with "sensitive".
11149func (s GetFunctionInput) String() string {
11150	return awsutil.Prettify(s)
11151}
11152
11153// GoString returns the string representation.
11154//
11155// API parameter values that are decorated as "sensitive" in the API will not
11156// be included in the string output. The member name will be present, but the
11157// value will be replaced with "sensitive".
11158func (s GetFunctionInput) GoString() string {
11159	return s.String()
11160}
11161
11162// Validate inspects the fields of the type to determine if they are valid.
11163func (s *GetFunctionInput) Validate() error {
11164	invalidParams := request.ErrInvalidParams{Context: "GetFunctionInput"}
11165	if s.FunctionName == nil {
11166		invalidParams.Add(request.NewErrParamRequired("FunctionName"))
11167	}
11168	if s.FunctionName != nil && len(*s.FunctionName) < 1 {
11169		invalidParams.Add(request.NewErrParamMinLen("FunctionName", 1))
11170	}
11171	if s.Qualifier != nil && len(*s.Qualifier) < 1 {
11172		invalidParams.Add(request.NewErrParamMinLen("Qualifier", 1))
11173	}
11174
11175	if invalidParams.Len() > 0 {
11176		return invalidParams
11177	}
11178	return nil
11179}
11180
11181// SetFunctionName sets the FunctionName field's value.
11182func (s *GetFunctionInput) SetFunctionName(v string) *GetFunctionInput {
11183	s.FunctionName = &v
11184	return s
11185}
11186
11187// SetQualifier sets the Qualifier field's value.
11188func (s *GetFunctionInput) SetQualifier(v string) *GetFunctionInput {
11189	s.Qualifier = &v
11190	return s
11191}
11192
11193type GetFunctionOutput struct {
11194	_ struct{} `type:"structure"`
11195
11196	// The deployment package of the function or version.
11197	Code *FunctionCodeLocation `type:"structure"`
11198
11199	// The function's reserved concurrency (https://docs.aws.amazon.com/lambda/latest/dg/concurrent-executions.html).
11200	Concurrency *PutFunctionConcurrencyOutput `type:"structure"`
11201
11202	// The configuration of the function or version.
11203	Configuration *FunctionConfiguration `type:"structure"`
11204
11205	// The function's tags (https://docs.aws.amazon.com/lambda/latest/dg/tagging.html).
11206	Tags map[string]*string `type:"map"`
11207}
11208
11209// String returns the string representation.
11210//
11211// API parameter values that are decorated as "sensitive" in the API will not
11212// be included in the string output. The member name will be present, but the
11213// value will be replaced with "sensitive".
11214func (s GetFunctionOutput) String() string {
11215	return awsutil.Prettify(s)
11216}
11217
11218// GoString returns the string representation.
11219//
11220// API parameter values that are decorated as "sensitive" in the API will not
11221// be included in the string output. The member name will be present, but the
11222// value will be replaced with "sensitive".
11223func (s GetFunctionOutput) GoString() string {
11224	return s.String()
11225}
11226
11227// SetCode sets the Code field's value.
11228func (s *GetFunctionOutput) SetCode(v *FunctionCodeLocation) *GetFunctionOutput {
11229	s.Code = v
11230	return s
11231}
11232
11233// SetConcurrency sets the Concurrency field's value.
11234func (s *GetFunctionOutput) SetConcurrency(v *PutFunctionConcurrencyOutput) *GetFunctionOutput {
11235	s.Concurrency = v
11236	return s
11237}
11238
11239// SetConfiguration sets the Configuration field's value.
11240func (s *GetFunctionOutput) SetConfiguration(v *FunctionConfiguration) *GetFunctionOutput {
11241	s.Configuration = v
11242	return s
11243}
11244
11245// SetTags sets the Tags field's value.
11246func (s *GetFunctionOutput) SetTags(v map[string]*string) *GetFunctionOutput {
11247	s.Tags = v
11248	return s
11249}
11250
11251type GetLayerVersionByArnInput struct {
11252	_ struct{} `type:"structure" nopayload:"true"`
11253
11254	// The ARN of the layer version.
11255	//
11256	// Arn is a required field
11257	Arn *string `location:"querystring" locationName:"Arn" min:"1" type:"string" required:"true"`
11258}
11259
11260// String returns the string representation.
11261//
11262// API parameter values that are decorated as "sensitive" in the API will not
11263// be included in the string output. The member name will be present, but the
11264// value will be replaced with "sensitive".
11265func (s GetLayerVersionByArnInput) String() string {
11266	return awsutil.Prettify(s)
11267}
11268
11269// GoString returns the string representation.
11270//
11271// API parameter values that are decorated as "sensitive" in the API will not
11272// be included in the string output. The member name will be present, but the
11273// value will be replaced with "sensitive".
11274func (s GetLayerVersionByArnInput) GoString() string {
11275	return s.String()
11276}
11277
11278// Validate inspects the fields of the type to determine if they are valid.
11279func (s *GetLayerVersionByArnInput) Validate() error {
11280	invalidParams := request.ErrInvalidParams{Context: "GetLayerVersionByArnInput"}
11281	if s.Arn == nil {
11282		invalidParams.Add(request.NewErrParamRequired("Arn"))
11283	}
11284	if s.Arn != nil && len(*s.Arn) < 1 {
11285		invalidParams.Add(request.NewErrParamMinLen("Arn", 1))
11286	}
11287
11288	if invalidParams.Len() > 0 {
11289		return invalidParams
11290	}
11291	return nil
11292}
11293
11294// SetArn sets the Arn field's value.
11295func (s *GetLayerVersionByArnInput) SetArn(v string) *GetLayerVersionByArnInput {
11296	s.Arn = &v
11297	return s
11298}
11299
11300type GetLayerVersionByArnOutput struct {
11301	_ struct{} `type:"structure"`
11302
11303	// A list of compatible instruction set architectures (https://docs.aws.amazon.com/lambda/latest/dg/foundation-arch.html).
11304	CompatibleArchitectures []*string `type:"list"`
11305
11306	// The layer's compatible runtimes.
11307	CompatibleRuntimes []*string `type:"list"`
11308
11309	// Details about the layer version.
11310	Content *LayerVersionContentOutput `type:"structure"`
11311
11312	// The date that the layer version was created, in ISO-8601 format (https://www.w3.org/TR/NOTE-datetime)
11313	// (YYYY-MM-DDThh:mm:ss.sTZD).
11314	CreatedDate *string `type:"string"`
11315
11316	// The description of the version.
11317	Description *string `type:"string"`
11318
11319	// The ARN of the layer.
11320	LayerArn *string `min:"1" type:"string"`
11321
11322	// The ARN of the layer version.
11323	LayerVersionArn *string `min:"1" type:"string"`
11324
11325	// The layer's software license.
11326	LicenseInfo *string `type:"string"`
11327
11328	// The version number.
11329	Version *int64 `type:"long"`
11330}
11331
11332// String returns the string representation.
11333//
11334// API parameter values that are decorated as "sensitive" in the API will not
11335// be included in the string output. The member name will be present, but the
11336// value will be replaced with "sensitive".
11337func (s GetLayerVersionByArnOutput) String() string {
11338	return awsutil.Prettify(s)
11339}
11340
11341// GoString returns the string representation.
11342//
11343// API parameter values that are decorated as "sensitive" in the API will not
11344// be included in the string output. The member name will be present, but the
11345// value will be replaced with "sensitive".
11346func (s GetLayerVersionByArnOutput) GoString() string {
11347	return s.String()
11348}
11349
11350// SetCompatibleArchitectures sets the CompatibleArchitectures field's value.
11351func (s *GetLayerVersionByArnOutput) SetCompatibleArchitectures(v []*string) *GetLayerVersionByArnOutput {
11352	s.CompatibleArchitectures = v
11353	return s
11354}
11355
11356// SetCompatibleRuntimes sets the CompatibleRuntimes field's value.
11357func (s *GetLayerVersionByArnOutput) SetCompatibleRuntimes(v []*string) *GetLayerVersionByArnOutput {
11358	s.CompatibleRuntimes = v
11359	return s
11360}
11361
11362// SetContent sets the Content field's value.
11363func (s *GetLayerVersionByArnOutput) SetContent(v *LayerVersionContentOutput) *GetLayerVersionByArnOutput {
11364	s.Content = v
11365	return s
11366}
11367
11368// SetCreatedDate sets the CreatedDate field's value.
11369func (s *GetLayerVersionByArnOutput) SetCreatedDate(v string) *GetLayerVersionByArnOutput {
11370	s.CreatedDate = &v
11371	return s
11372}
11373
11374// SetDescription sets the Description field's value.
11375func (s *GetLayerVersionByArnOutput) SetDescription(v string) *GetLayerVersionByArnOutput {
11376	s.Description = &v
11377	return s
11378}
11379
11380// SetLayerArn sets the LayerArn field's value.
11381func (s *GetLayerVersionByArnOutput) SetLayerArn(v string) *GetLayerVersionByArnOutput {
11382	s.LayerArn = &v
11383	return s
11384}
11385
11386// SetLayerVersionArn sets the LayerVersionArn field's value.
11387func (s *GetLayerVersionByArnOutput) SetLayerVersionArn(v string) *GetLayerVersionByArnOutput {
11388	s.LayerVersionArn = &v
11389	return s
11390}
11391
11392// SetLicenseInfo sets the LicenseInfo field's value.
11393func (s *GetLayerVersionByArnOutput) SetLicenseInfo(v string) *GetLayerVersionByArnOutput {
11394	s.LicenseInfo = &v
11395	return s
11396}
11397
11398// SetVersion sets the Version field's value.
11399func (s *GetLayerVersionByArnOutput) SetVersion(v int64) *GetLayerVersionByArnOutput {
11400	s.Version = &v
11401	return s
11402}
11403
11404type GetLayerVersionInput struct {
11405	_ struct{} `type:"structure" nopayload:"true"`
11406
11407	// The name or Amazon Resource Name (ARN) of the layer.
11408	//
11409	// LayerName is a required field
11410	LayerName *string `location:"uri" locationName:"LayerName" min:"1" type:"string" required:"true"`
11411
11412	// The version number.
11413	//
11414	// VersionNumber is a required field
11415	VersionNumber *int64 `location:"uri" locationName:"VersionNumber" type:"long" required:"true"`
11416}
11417
11418// String returns the string representation.
11419//
11420// API parameter values that are decorated as "sensitive" in the API will not
11421// be included in the string output. The member name will be present, but the
11422// value will be replaced with "sensitive".
11423func (s GetLayerVersionInput) String() string {
11424	return awsutil.Prettify(s)
11425}
11426
11427// GoString returns the string representation.
11428//
11429// API parameter values that are decorated as "sensitive" in the API will not
11430// be included in the string output. The member name will be present, but the
11431// value will be replaced with "sensitive".
11432func (s GetLayerVersionInput) GoString() string {
11433	return s.String()
11434}
11435
11436// Validate inspects the fields of the type to determine if they are valid.
11437func (s *GetLayerVersionInput) Validate() error {
11438	invalidParams := request.ErrInvalidParams{Context: "GetLayerVersionInput"}
11439	if s.LayerName == nil {
11440		invalidParams.Add(request.NewErrParamRequired("LayerName"))
11441	}
11442	if s.LayerName != nil && len(*s.LayerName) < 1 {
11443		invalidParams.Add(request.NewErrParamMinLen("LayerName", 1))
11444	}
11445	if s.VersionNumber == nil {
11446		invalidParams.Add(request.NewErrParamRequired("VersionNumber"))
11447	}
11448
11449	if invalidParams.Len() > 0 {
11450		return invalidParams
11451	}
11452	return nil
11453}
11454
11455// SetLayerName sets the LayerName field's value.
11456func (s *GetLayerVersionInput) SetLayerName(v string) *GetLayerVersionInput {
11457	s.LayerName = &v
11458	return s
11459}
11460
11461// SetVersionNumber sets the VersionNumber field's value.
11462func (s *GetLayerVersionInput) SetVersionNumber(v int64) *GetLayerVersionInput {
11463	s.VersionNumber = &v
11464	return s
11465}
11466
11467type GetLayerVersionOutput struct {
11468	_ struct{} `type:"structure"`
11469
11470	// A list of compatible instruction set architectures (https://docs.aws.amazon.com/lambda/latest/dg/foundation-arch.html).
11471	CompatibleArchitectures []*string `type:"list"`
11472
11473	// The layer's compatible runtimes.
11474	CompatibleRuntimes []*string `type:"list"`
11475
11476	// Details about the layer version.
11477	Content *LayerVersionContentOutput `type:"structure"`
11478
11479	// The date that the layer version was created, in ISO-8601 format (https://www.w3.org/TR/NOTE-datetime)
11480	// (YYYY-MM-DDThh:mm:ss.sTZD).
11481	CreatedDate *string `type:"string"`
11482
11483	// The description of the version.
11484	Description *string `type:"string"`
11485
11486	// The ARN of the layer.
11487	LayerArn *string `min:"1" type:"string"`
11488
11489	// The ARN of the layer version.
11490	LayerVersionArn *string `min:"1" type:"string"`
11491
11492	// The layer's software license.
11493	LicenseInfo *string `type:"string"`
11494
11495	// The version number.
11496	Version *int64 `type:"long"`
11497}
11498
11499// String returns the string representation.
11500//
11501// API parameter values that are decorated as "sensitive" in the API will not
11502// be included in the string output. The member name will be present, but the
11503// value will be replaced with "sensitive".
11504func (s GetLayerVersionOutput) String() string {
11505	return awsutil.Prettify(s)
11506}
11507
11508// GoString returns the string representation.
11509//
11510// API parameter values that are decorated as "sensitive" in the API will not
11511// be included in the string output. The member name will be present, but the
11512// value will be replaced with "sensitive".
11513func (s GetLayerVersionOutput) GoString() string {
11514	return s.String()
11515}
11516
11517// SetCompatibleArchitectures sets the CompatibleArchitectures field's value.
11518func (s *GetLayerVersionOutput) SetCompatibleArchitectures(v []*string) *GetLayerVersionOutput {
11519	s.CompatibleArchitectures = v
11520	return s
11521}
11522
11523// SetCompatibleRuntimes sets the CompatibleRuntimes field's value.
11524func (s *GetLayerVersionOutput) SetCompatibleRuntimes(v []*string) *GetLayerVersionOutput {
11525	s.CompatibleRuntimes = v
11526	return s
11527}
11528
11529// SetContent sets the Content field's value.
11530func (s *GetLayerVersionOutput) SetContent(v *LayerVersionContentOutput) *GetLayerVersionOutput {
11531	s.Content = v
11532	return s
11533}
11534
11535// SetCreatedDate sets the CreatedDate field's value.
11536func (s *GetLayerVersionOutput) SetCreatedDate(v string) *GetLayerVersionOutput {
11537	s.CreatedDate = &v
11538	return s
11539}
11540
11541// SetDescription sets the Description field's value.
11542func (s *GetLayerVersionOutput) SetDescription(v string) *GetLayerVersionOutput {
11543	s.Description = &v
11544	return s
11545}
11546
11547// SetLayerArn sets the LayerArn field's value.
11548func (s *GetLayerVersionOutput) SetLayerArn(v string) *GetLayerVersionOutput {
11549	s.LayerArn = &v
11550	return s
11551}
11552
11553// SetLayerVersionArn sets the LayerVersionArn field's value.
11554func (s *GetLayerVersionOutput) SetLayerVersionArn(v string) *GetLayerVersionOutput {
11555	s.LayerVersionArn = &v
11556	return s
11557}
11558
11559// SetLicenseInfo sets the LicenseInfo field's value.
11560func (s *GetLayerVersionOutput) SetLicenseInfo(v string) *GetLayerVersionOutput {
11561	s.LicenseInfo = &v
11562	return s
11563}
11564
11565// SetVersion sets the Version field's value.
11566func (s *GetLayerVersionOutput) SetVersion(v int64) *GetLayerVersionOutput {
11567	s.Version = &v
11568	return s
11569}
11570
11571type GetLayerVersionPolicyInput struct {
11572	_ struct{} `type:"structure" nopayload:"true"`
11573
11574	// The name or Amazon Resource Name (ARN) of the layer.
11575	//
11576	// LayerName is a required field
11577	LayerName *string `location:"uri" locationName:"LayerName" min:"1" type:"string" required:"true"`
11578
11579	// The version number.
11580	//
11581	// VersionNumber is a required field
11582	VersionNumber *int64 `location:"uri" locationName:"VersionNumber" type:"long" required:"true"`
11583}
11584
11585// String returns the string representation.
11586//
11587// API parameter values that are decorated as "sensitive" in the API will not
11588// be included in the string output. The member name will be present, but the
11589// value will be replaced with "sensitive".
11590func (s GetLayerVersionPolicyInput) String() string {
11591	return awsutil.Prettify(s)
11592}
11593
11594// GoString returns the string representation.
11595//
11596// API parameter values that are decorated as "sensitive" in the API will not
11597// be included in the string output. The member name will be present, but the
11598// value will be replaced with "sensitive".
11599func (s GetLayerVersionPolicyInput) GoString() string {
11600	return s.String()
11601}
11602
11603// Validate inspects the fields of the type to determine if they are valid.
11604func (s *GetLayerVersionPolicyInput) Validate() error {
11605	invalidParams := request.ErrInvalidParams{Context: "GetLayerVersionPolicyInput"}
11606	if s.LayerName == nil {
11607		invalidParams.Add(request.NewErrParamRequired("LayerName"))
11608	}
11609	if s.LayerName != nil && len(*s.LayerName) < 1 {
11610		invalidParams.Add(request.NewErrParamMinLen("LayerName", 1))
11611	}
11612	if s.VersionNumber == nil {
11613		invalidParams.Add(request.NewErrParamRequired("VersionNumber"))
11614	}
11615
11616	if invalidParams.Len() > 0 {
11617		return invalidParams
11618	}
11619	return nil
11620}
11621
11622// SetLayerName sets the LayerName field's value.
11623func (s *GetLayerVersionPolicyInput) SetLayerName(v string) *GetLayerVersionPolicyInput {
11624	s.LayerName = &v
11625	return s
11626}
11627
11628// SetVersionNumber sets the VersionNumber field's value.
11629func (s *GetLayerVersionPolicyInput) SetVersionNumber(v int64) *GetLayerVersionPolicyInput {
11630	s.VersionNumber = &v
11631	return s
11632}
11633
11634type GetLayerVersionPolicyOutput struct {
11635	_ struct{} `type:"structure"`
11636
11637	// The policy document.
11638	Policy *string `type:"string"`
11639
11640	// A unique identifier for the current revision of the policy.
11641	RevisionId *string `type:"string"`
11642}
11643
11644// String returns the string representation.
11645//
11646// API parameter values that are decorated as "sensitive" in the API will not
11647// be included in the string output. The member name will be present, but the
11648// value will be replaced with "sensitive".
11649func (s GetLayerVersionPolicyOutput) String() string {
11650	return awsutil.Prettify(s)
11651}
11652
11653// GoString returns the string representation.
11654//
11655// API parameter values that are decorated as "sensitive" in the API will not
11656// be included in the string output. The member name will be present, but the
11657// value will be replaced with "sensitive".
11658func (s GetLayerVersionPolicyOutput) GoString() string {
11659	return s.String()
11660}
11661
11662// SetPolicy sets the Policy field's value.
11663func (s *GetLayerVersionPolicyOutput) SetPolicy(v string) *GetLayerVersionPolicyOutput {
11664	s.Policy = &v
11665	return s
11666}
11667
11668// SetRevisionId sets the RevisionId field's value.
11669func (s *GetLayerVersionPolicyOutput) SetRevisionId(v string) *GetLayerVersionPolicyOutput {
11670	s.RevisionId = &v
11671	return s
11672}
11673
11674type GetPolicyInput struct {
11675	_ struct{} `type:"structure" nopayload:"true"`
11676
11677	// The name of the Lambda function, version, or alias.
11678	//
11679	// Name formats
11680	//
11681	//    * Function name - my-function (name-only), my-function:v1 (with alias).
11682	//
11683	//    * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.
11684	//
11685	//    * Partial ARN - 123456789012:function:my-function.
11686	//
11687	// You can append a version number or alias to any of the formats. The length
11688	// constraint applies only to the full ARN. If you specify only the function
11689	// name, it is limited to 64 characters in length.
11690	//
11691	// FunctionName is a required field
11692	FunctionName *string `location:"uri" locationName:"FunctionName" min:"1" type:"string" required:"true"`
11693
11694	// Specify a version or alias to get the policy for that resource.
11695	Qualifier *string `location:"querystring" locationName:"Qualifier" min:"1" type:"string"`
11696}
11697
11698// String returns the string representation.
11699//
11700// API parameter values that are decorated as "sensitive" in the API will not
11701// be included in the string output. The member name will be present, but the
11702// value will be replaced with "sensitive".
11703func (s GetPolicyInput) String() string {
11704	return awsutil.Prettify(s)
11705}
11706
11707// GoString returns the string representation.
11708//
11709// API parameter values that are decorated as "sensitive" in the API will not
11710// be included in the string output. The member name will be present, but the
11711// value will be replaced with "sensitive".
11712func (s GetPolicyInput) GoString() string {
11713	return s.String()
11714}
11715
11716// Validate inspects the fields of the type to determine if they are valid.
11717func (s *GetPolicyInput) Validate() error {
11718	invalidParams := request.ErrInvalidParams{Context: "GetPolicyInput"}
11719	if s.FunctionName == nil {
11720		invalidParams.Add(request.NewErrParamRequired("FunctionName"))
11721	}
11722	if s.FunctionName != nil && len(*s.FunctionName) < 1 {
11723		invalidParams.Add(request.NewErrParamMinLen("FunctionName", 1))
11724	}
11725	if s.Qualifier != nil && len(*s.Qualifier) < 1 {
11726		invalidParams.Add(request.NewErrParamMinLen("Qualifier", 1))
11727	}
11728
11729	if invalidParams.Len() > 0 {
11730		return invalidParams
11731	}
11732	return nil
11733}
11734
11735// SetFunctionName sets the FunctionName field's value.
11736func (s *GetPolicyInput) SetFunctionName(v string) *GetPolicyInput {
11737	s.FunctionName = &v
11738	return s
11739}
11740
11741// SetQualifier sets the Qualifier field's value.
11742func (s *GetPolicyInput) SetQualifier(v string) *GetPolicyInput {
11743	s.Qualifier = &v
11744	return s
11745}
11746
11747type GetPolicyOutput struct {
11748	_ struct{} `type:"structure"`
11749
11750	// The resource-based policy.
11751	Policy *string `type:"string"`
11752
11753	// A unique identifier for the current revision of the policy.
11754	RevisionId *string `type:"string"`
11755}
11756
11757// String returns the string representation.
11758//
11759// API parameter values that are decorated as "sensitive" in the API will not
11760// be included in the string output. The member name will be present, but the
11761// value will be replaced with "sensitive".
11762func (s GetPolicyOutput) String() string {
11763	return awsutil.Prettify(s)
11764}
11765
11766// GoString returns the string representation.
11767//
11768// API parameter values that are decorated as "sensitive" in the API will not
11769// be included in the string output. The member name will be present, but the
11770// value will be replaced with "sensitive".
11771func (s GetPolicyOutput) GoString() string {
11772	return s.String()
11773}
11774
11775// SetPolicy sets the Policy field's value.
11776func (s *GetPolicyOutput) SetPolicy(v string) *GetPolicyOutput {
11777	s.Policy = &v
11778	return s
11779}
11780
11781// SetRevisionId sets the RevisionId field's value.
11782func (s *GetPolicyOutput) SetRevisionId(v string) *GetPolicyOutput {
11783	s.RevisionId = &v
11784	return s
11785}
11786
11787type GetProvisionedConcurrencyConfigInput struct {
11788	_ struct{} `type:"structure" nopayload:"true"`
11789
11790	// The name of the Lambda function.
11791	//
11792	// Name formats
11793	//
11794	//    * Function name - my-function.
11795	//
11796	//    * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.
11797	//
11798	//    * Partial ARN - 123456789012:function:my-function.
11799	//
11800	// The length constraint applies only to the full ARN. If you specify only the
11801	// function name, it is limited to 64 characters in length.
11802	//
11803	// FunctionName is a required field
11804	FunctionName *string `location:"uri" locationName:"FunctionName" min:"1" type:"string" required:"true"`
11805
11806	// The version number or alias name.
11807	//
11808	// Qualifier is a required field
11809	Qualifier *string `location:"querystring" locationName:"Qualifier" min:"1" type:"string" required:"true"`
11810}
11811
11812// String returns the string representation.
11813//
11814// API parameter values that are decorated as "sensitive" in the API will not
11815// be included in the string output. The member name will be present, but the
11816// value will be replaced with "sensitive".
11817func (s GetProvisionedConcurrencyConfigInput) String() string {
11818	return awsutil.Prettify(s)
11819}
11820
11821// GoString returns the string representation.
11822//
11823// API parameter values that are decorated as "sensitive" in the API will not
11824// be included in the string output. The member name will be present, but the
11825// value will be replaced with "sensitive".
11826func (s GetProvisionedConcurrencyConfigInput) GoString() string {
11827	return s.String()
11828}
11829
11830// Validate inspects the fields of the type to determine if they are valid.
11831func (s *GetProvisionedConcurrencyConfigInput) Validate() error {
11832	invalidParams := request.ErrInvalidParams{Context: "GetProvisionedConcurrencyConfigInput"}
11833	if s.FunctionName == nil {
11834		invalidParams.Add(request.NewErrParamRequired("FunctionName"))
11835	}
11836	if s.FunctionName != nil && len(*s.FunctionName) < 1 {
11837		invalidParams.Add(request.NewErrParamMinLen("FunctionName", 1))
11838	}
11839	if s.Qualifier == nil {
11840		invalidParams.Add(request.NewErrParamRequired("Qualifier"))
11841	}
11842	if s.Qualifier != nil && len(*s.Qualifier) < 1 {
11843		invalidParams.Add(request.NewErrParamMinLen("Qualifier", 1))
11844	}
11845
11846	if invalidParams.Len() > 0 {
11847		return invalidParams
11848	}
11849	return nil
11850}
11851
11852// SetFunctionName sets the FunctionName field's value.
11853func (s *GetProvisionedConcurrencyConfigInput) SetFunctionName(v string) *GetProvisionedConcurrencyConfigInput {
11854	s.FunctionName = &v
11855	return s
11856}
11857
11858// SetQualifier sets the Qualifier field's value.
11859func (s *GetProvisionedConcurrencyConfigInput) SetQualifier(v string) *GetProvisionedConcurrencyConfigInput {
11860	s.Qualifier = &v
11861	return s
11862}
11863
11864type GetProvisionedConcurrencyConfigOutput struct {
11865	_ struct{} `type:"structure"`
11866
11867	// The amount of provisioned concurrency allocated.
11868	AllocatedProvisionedConcurrentExecutions *int64 `type:"integer"`
11869
11870	// The amount of provisioned concurrency available.
11871	AvailableProvisionedConcurrentExecutions *int64 `type:"integer"`
11872
11873	// The date and time that a user last updated the configuration, in ISO 8601
11874	// format (https://www.iso.org/iso-8601-date-and-time-format.html).
11875	LastModified *string `type:"string"`
11876
11877	// The amount of provisioned concurrency requested.
11878	RequestedProvisionedConcurrentExecutions *int64 `min:"1" type:"integer"`
11879
11880	// The status of the allocation process.
11881	Status *string `type:"string" enum:"ProvisionedConcurrencyStatusEnum"`
11882
11883	// For failed allocations, the reason that provisioned concurrency could not
11884	// be allocated.
11885	StatusReason *string `type:"string"`
11886}
11887
11888// String returns the string representation.
11889//
11890// API parameter values that are decorated as "sensitive" in the API will not
11891// be included in the string output. The member name will be present, but the
11892// value will be replaced with "sensitive".
11893func (s GetProvisionedConcurrencyConfigOutput) String() string {
11894	return awsutil.Prettify(s)
11895}
11896
11897// GoString returns the string representation.
11898//
11899// API parameter values that are decorated as "sensitive" in the API will not
11900// be included in the string output. The member name will be present, but the
11901// value will be replaced with "sensitive".
11902func (s GetProvisionedConcurrencyConfigOutput) GoString() string {
11903	return s.String()
11904}
11905
11906// SetAllocatedProvisionedConcurrentExecutions sets the AllocatedProvisionedConcurrentExecutions field's value.
11907func (s *GetProvisionedConcurrencyConfigOutput) SetAllocatedProvisionedConcurrentExecutions(v int64) *GetProvisionedConcurrencyConfigOutput {
11908	s.AllocatedProvisionedConcurrentExecutions = &v
11909	return s
11910}
11911
11912// SetAvailableProvisionedConcurrentExecutions sets the AvailableProvisionedConcurrentExecutions field's value.
11913func (s *GetProvisionedConcurrencyConfigOutput) SetAvailableProvisionedConcurrentExecutions(v int64) *GetProvisionedConcurrencyConfigOutput {
11914	s.AvailableProvisionedConcurrentExecutions = &v
11915	return s
11916}
11917
11918// SetLastModified sets the LastModified field's value.
11919func (s *GetProvisionedConcurrencyConfigOutput) SetLastModified(v string) *GetProvisionedConcurrencyConfigOutput {
11920	s.LastModified = &v
11921	return s
11922}
11923
11924// SetRequestedProvisionedConcurrentExecutions sets the RequestedProvisionedConcurrentExecutions field's value.
11925func (s *GetProvisionedConcurrencyConfigOutput) SetRequestedProvisionedConcurrentExecutions(v int64) *GetProvisionedConcurrencyConfigOutput {
11926	s.RequestedProvisionedConcurrentExecutions = &v
11927	return s
11928}
11929
11930// SetStatus sets the Status field's value.
11931func (s *GetProvisionedConcurrencyConfigOutput) SetStatus(v string) *GetProvisionedConcurrencyConfigOutput {
11932	s.Status = &v
11933	return s
11934}
11935
11936// SetStatusReason sets the StatusReason field's value.
11937func (s *GetProvisionedConcurrencyConfigOutput) SetStatusReason(v string) *GetProvisionedConcurrencyConfigOutput {
11938	s.StatusReason = &v
11939	return s
11940}
11941
11942// Configuration values that override the container image Dockerfile settings.
11943// See Container settings (https://docs.aws.amazon.com/lambda/latest/dg/images-create.html#images-parms).
11944type ImageConfig struct {
11945	_ struct{} `type:"structure"`
11946
11947	// Specifies parameters that you want to pass in with ENTRYPOINT.
11948	Command []*string `type:"list"`
11949
11950	// Specifies the entry point to their application, which is typically the location
11951	// of the runtime executable.
11952	EntryPoint []*string `type:"list"`
11953
11954	// Specifies the working directory.
11955	WorkingDirectory *string `type:"string"`
11956}
11957
11958// String returns the string representation.
11959//
11960// API parameter values that are decorated as "sensitive" in the API will not
11961// be included in the string output. The member name will be present, but the
11962// value will be replaced with "sensitive".
11963func (s ImageConfig) String() string {
11964	return awsutil.Prettify(s)
11965}
11966
11967// GoString returns the string representation.
11968//
11969// API parameter values that are decorated as "sensitive" in the API will not
11970// be included in the string output. The member name will be present, but the
11971// value will be replaced with "sensitive".
11972func (s ImageConfig) GoString() string {
11973	return s.String()
11974}
11975
11976// SetCommand sets the Command field's value.
11977func (s *ImageConfig) SetCommand(v []*string) *ImageConfig {
11978	s.Command = v
11979	return s
11980}
11981
11982// SetEntryPoint sets the EntryPoint field's value.
11983func (s *ImageConfig) SetEntryPoint(v []*string) *ImageConfig {
11984	s.EntryPoint = v
11985	return s
11986}
11987
11988// SetWorkingDirectory sets the WorkingDirectory field's value.
11989func (s *ImageConfig) SetWorkingDirectory(v string) *ImageConfig {
11990	s.WorkingDirectory = &v
11991	return s
11992}
11993
11994// Error response to GetFunctionConfiguration.
11995type ImageConfigError struct {
11996	_ struct{} `type:"structure"`
11997
11998	// Error code.
11999	ErrorCode *string `type:"string"`
12000
12001	// Error message.
12002	//
12003	// Message is a sensitive parameter and its value will be
12004	// replaced with "sensitive" in string returned by ImageConfigError's
12005	// String and GoString methods.
12006	Message *string `type:"string" sensitive:"true"`
12007}
12008
12009// String returns the string representation.
12010//
12011// API parameter values that are decorated as "sensitive" in the API will not
12012// be included in the string output. The member name will be present, but the
12013// value will be replaced with "sensitive".
12014func (s ImageConfigError) String() string {
12015	return awsutil.Prettify(s)
12016}
12017
12018// GoString returns the string representation.
12019//
12020// API parameter values that are decorated as "sensitive" in the API will not
12021// be included in the string output. The member name will be present, but the
12022// value will be replaced with "sensitive".
12023func (s ImageConfigError) GoString() string {
12024	return s.String()
12025}
12026
12027// SetErrorCode sets the ErrorCode field's value.
12028func (s *ImageConfigError) SetErrorCode(v string) *ImageConfigError {
12029	s.ErrorCode = &v
12030	return s
12031}
12032
12033// SetMessage sets the Message field's value.
12034func (s *ImageConfigError) SetMessage(v string) *ImageConfigError {
12035	s.Message = &v
12036	return s
12037}
12038
12039// Response to GetFunctionConfiguration request.
12040type ImageConfigResponse struct {
12041	_ struct{} `type:"structure"`
12042
12043	// Error response to GetFunctionConfiguration.
12044	Error *ImageConfigError `type:"structure"`
12045
12046	// Configuration values that override the container image Dockerfile.
12047	ImageConfig *ImageConfig `type:"structure"`
12048}
12049
12050// String returns the string representation.
12051//
12052// API parameter values that are decorated as "sensitive" in the API will not
12053// be included in the string output. The member name will be present, but the
12054// value will be replaced with "sensitive".
12055func (s ImageConfigResponse) String() string {
12056	return awsutil.Prettify(s)
12057}
12058
12059// GoString returns the string representation.
12060//
12061// API parameter values that are decorated as "sensitive" in the API will not
12062// be included in the string output. The member name will be present, but the
12063// value will be replaced with "sensitive".
12064func (s ImageConfigResponse) GoString() string {
12065	return s.String()
12066}
12067
12068// SetError sets the Error field's value.
12069func (s *ImageConfigResponse) SetError(v *ImageConfigError) *ImageConfigResponse {
12070	s.Error = v
12071	return s
12072}
12073
12074// SetImageConfig sets the ImageConfig field's value.
12075func (s *ImageConfigResponse) SetImageConfig(v *ImageConfig) *ImageConfigResponse {
12076	s.ImageConfig = v
12077	return s
12078}
12079
12080// The code signature failed the integrity check. Lambda always blocks deployment
12081// if the integrity check fails, even if code signing policy is set to WARN.
12082type InvalidCodeSignatureException struct {
12083	_            struct{}                  `type:"structure"`
12084	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
12085
12086	Message_ *string `locationName:"Message" type:"string"`
12087
12088	Type *string `type:"string"`
12089}
12090
12091// String returns the string representation.
12092//
12093// API parameter values that are decorated as "sensitive" in the API will not
12094// be included in the string output. The member name will be present, but the
12095// value will be replaced with "sensitive".
12096func (s InvalidCodeSignatureException) String() string {
12097	return awsutil.Prettify(s)
12098}
12099
12100// GoString returns the string representation.
12101//
12102// API parameter values that are decorated as "sensitive" in the API will not
12103// be included in the string output. The member name will be present, but the
12104// value will be replaced with "sensitive".
12105func (s InvalidCodeSignatureException) GoString() string {
12106	return s.String()
12107}
12108
12109func newErrorInvalidCodeSignatureException(v protocol.ResponseMetadata) error {
12110	return &InvalidCodeSignatureException{
12111		RespMetadata: v,
12112	}
12113}
12114
12115// Code returns the exception type name.
12116func (s *InvalidCodeSignatureException) Code() string {
12117	return "InvalidCodeSignatureException"
12118}
12119
12120// Message returns the exception's message.
12121func (s *InvalidCodeSignatureException) Message() string {
12122	if s.Message_ != nil {
12123		return *s.Message_
12124	}
12125	return ""
12126}
12127
12128// OrigErr always returns nil, satisfies awserr.Error interface.
12129func (s *InvalidCodeSignatureException) OrigErr() error {
12130	return nil
12131}
12132
12133func (s *InvalidCodeSignatureException) Error() string {
12134	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
12135}
12136
12137// Status code returns the HTTP status code for the request's response error.
12138func (s *InvalidCodeSignatureException) StatusCode() int {
12139	return s.RespMetadata.StatusCode
12140}
12141
12142// RequestID returns the service's response RequestID for request.
12143func (s *InvalidCodeSignatureException) RequestID() string {
12144	return s.RespMetadata.RequestID
12145}
12146
12147// One of the parameters in the request is invalid.
12148type InvalidParameterValueException struct {
12149	_            struct{}                  `type:"structure"`
12150	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
12151
12152	// The exception message.
12153	Message_ *string `locationName:"message" type:"string"`
12154
12155	// The exception type.
12156	Type *string `type:"string"`
12157}
12158
12159// String returns the string representation.
12160//
12161// API parameter values that are decorated as "sensitive" in the API will not
12162// be included in the string output. The member name will be present, but the
12163// value will be replaced with "sensitive".
12164func (s InvalidParameterValueException) String() string {
12165	return awsutil.Prettify(s)
12166}
12167
12168// GoString returns the string representation.
12169//
12170// API parameter values that are decorated as "sensitive" in the API will not
12171// be included in the string output. The member name will be present, but the
12172// value will be replaced with "sensitive".
12173func (s InvalidParameterValueException) GoString() string {
12174	return s.String()
12175}
12176
12177func newErrorInvalidParameterValueException(v protocol.ResponseMetadata) error {
12178	return &InvalidParameterValueException{
12179		RespMetadata: v,
12180	}
12181}
12182
12183// Code returns the exception type name.
12184func (s *InvalidParameterValueException) Code() string {
12185	return "InvalidParameterValueException"
12186}
12187
12188// Message returns the exception's message.
12189func (s *InvalidParameterValueException) Message() string {
12190	if s.Message_ != nil {
12191		return *s.Message_
12192	}
12193	return ""
12194}
12195
12196// OrigErr always returns nil, satisfies awserr.Error interface.
12197func (s *InvalidParameterValueException) OrigErr() error {
12198	return nil
12199}
12200
12201func (s *InvalidParameterValueException) Error() string {
12202	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
12203}
12204
12205// Status code returns the HTTP status code for the request's response error.
12206func (s *InvalidParameterValueException) StatusCode() int {
12207	return s.RespMetadata.StatusCode
12208}
12209
12210// RequestID returns the service's response RequestID for request.
12211func (s *InvalidParameterValueException) RequestID() string {
12212	return s.RespMetadata.RequestID
12213}
12214
12215// The request body could not be parsed as JSON.
12216type InvalidRequestContentException struct {
12217	_            struct{}                  `type:"structure"`
12218	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
12219
12220	// The exception message.
12221	Message_ *string `locationName:"message" type:"string"`
12222
12223	// The exception type.
12224	Type *string `type:"string"`
12225}
12226
12227// String returns the string representation.
12228//
12229// API parameter values that are decorated as "sensitive" in the API will not
12230// be included in the string output. The member name will be present, but the
12231// value will be replaced with "sensitive".
12232func (s InvalidRequestContentException) String() string {
12233	return awsutil.Prettify(s)
12234}
12235
12236// GoString returns the string representation.
12237//
12238// API parameter values that are decorated as "sensitive" in the API will not
12239// be included in the string output. The member name will be present, but the
12240// value will be replaced with "sensitive".
12241func (s InvalidRequestContentException) GoString() string {
12242	return s.String()
12243}
12244
12245func newErrorInvalidRequestContentException(v protocol.ResponseMetadata) error {
12246	return &InvalidRequestContentException{
12247		RespMetadata: v,
12248	}
12249}
12250
12251// Code returns the exception type name.
12252func (s *InvalidRequestContentException) Code() string {
12253	return "InvalidRequestContentException"
12254}
12255
12256// Message returns the exception's message.
12257func (s *InvalidRequestContentException) Message() string {
12258	if s.Message_ != nil {
12259		return *s.Message_
12260	}
12261	return ""
12262}
12263
12264// OrigErr always returns nil, satisfies awserr.Error interface.
12265func (s *InvalidRequestContentException) OrigErr() error {
12266	return nil
12267}
12268
12269func (s *InvalidRequestContentException) Error() string {
12270	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
12271}
12272
12273// Status code returns the HTTP status code for the request's response error.
12274func (s *InvalidRequestContentException) StatusCode() int {
12275	return s.RespMetadata.StatusCode
12276}
12277
12278// RequestID returns the service's response RequestID for request.
12279func (s *InvalidRequestContentException) RequestID() string {
12280	return s.RespMetadata.RequestID
12281}
12282
12283// The runtime or runtime version specified is not supported.
12284type InvalidRuntimeException struct {
12285	_            struct{}                  `type:"structure"`
12286	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
12287
12288	Message_ *string `locationName:"Message" type:"string"`
12289
12290	Type *string `type:"string"`
12291}
12292
12293// String returns the string representation.
12294//
12295// API parameter values that are decorated as "sensitive" in the API will not
12296// be included in the string output. The member name will be present, but the
12297// value will be replaced with "sensitive".
12298func (s InvalidRuntimeException) String() string {
12299	return awsutil.Prettify(s)
12300}
12301
12302// GoString returns the string representation.
12303//
12304// API parameter values that are decorated as "sensitive" in the API will not
12305// be included in the string output. The member name will be present, but the
12306// value will be replaced with "sensitive".
12307func (s InvalidRuntimeException) GoString() string {
12308	return s.String()
12309}
12310
12311func newErrorInvalidRuntimeException(v protocol.ResponseMetadata) error {
12312	return &InvalidRuntimeException{
12313		RespMetadata: v,
12314	}
12315}
12316
12317// Code returns the exception type name.
12318func (s *InvalidRuntimeException) Code() string {
12319	return "InvalidRuntimeException"
12320}
12321
12322// Message returns the exception's message.
12323func (s *InvalidRuntimeException) Message() string {
12324	if s.Message_ != nil {
12325		return *s.Message_
12326	}
12327	return ""
12328}
12329
12330// OrigErr always returns nil, satisfies awserr.Error interface.
12331func (s *InvalidRuntimeException) OrigErr() error {
12332	return nil
12333}
12334
12335func (s *InvalidRuntimeException) Error() string {
12336	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
12337}
12338
12339// Status code returns the HTTP status code for the request's response error.
12340func (s *InvalidRuntimeException) StatusCode() int {
12341	return s.RespMetadata.StatusCode
12342}
12343
12344// RequestID returns the service's response RequestID for request.
12345func (s *InvalidRuntimeException) RequestID() string {
12346	return s.RespMetadata.RequestID
12347}
12348
12349// The Security Group ID provided in the Lambda function VPC configuration is
12350// invalid.
12351type InvalidSecurityGroupIDException struct {
12352	_            struct{}                  `type:"structure"`
12353	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
12354
12355	Message_ *string `locationName:"Message" type:"string"`
12356
12357	Type *string `type:"string"`
12358}
12359
12360// String returns the string representation.
12361//
12362// API parameter values that are decorated as "sensitive" in the API will not
12363// be included in the string output. The member name will be present, but the
12364// value will be replaced with "sensitive".
12365func (s InvalidSecurityGroupIDException) String() string {
12366	return awsutil.Prettify(s)
12367}
12368
12369// GoString returns the string representation.
12370//
12371// API parameter values that are decorated as "sensitive" in the API will not
12372// be included in the string output. The member name will be present, but the
12373// value will be replaced with "sensitive".
12374func (s InvalidSecurityGroupIDException) GoString() string {
12375	return s.String()
12376}
12377
12378func newErrorInvalidSecurityGroupIDException(v protocol.ResponseMetadata) error {
12379	return &InvalidSecurityGroupIDException{
12380		RespMetadata: v,
12381	}
12382}
12383
12384// Code returns the exception type name.
12385func (s *InvalidSecurityGroupIDException) Code() string {
12386	return "InvalidSecurityGroupIDException"
12387}
12388
12389// Message returns the exception's message.
12390func (s *InvalidSecurityGroupIDException) Message() string {
12391	if s.Message_ != nil {
12392		return *s.Message_
12393	}
12394	return ""
12395}
12396
12397// OrigErr always returns nil, satisfies awserr.Error interface.
12398func (s *InvalidSecurityGroupIDException) OrigErr() error {
12399	return nil
12400}
12401
12402func (s *InvalidSecurityGroupIDException) Error() string {
12403	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
12404}
12405
12406// Status code returns the HTTP status code for the request's response error.
12407func (s *InvalidSecurityGroupIDException) StatusCode() int {
12408	return s.RespMetadata.StatusCode
12409}
12410
12411// RequestID returns the service's response RequestID for request.
12412func (s *InvalidSecurityGroupIDException) RequestID() string {
12413	return s.RespMetadata.RequestID
12414}
12415
12416// The Subnet ID provided in the Lambda function VPC configuration is invalid.
12417type InvalidSubnetIDException struct {
12418	_            struct{}                  `type:"structure"`
12419	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
12420
12421	Message_ *string `locationName:"Message" type:"string"`
12422
12423	Type *string `type:"string"`
12424}
12425
12426// String returns the string representation.
12427//
12428// API parameter values that are decorated as "sensitive" in the API will not
12429// be included in the string output. The member name will be present, but the
12430// value will be replaced with "sensitive".
12431func (s InvalidSubnetIDException) String() string {
12432	return awsutil.Prettify(s)
12433}
12434
12435// GoString returns the string representation.
12436//
12437// API parameter values that are decorated as "sensitive" in the API will not
12438// be included in the string output. The member name will be present, but the
12439// value will be replaced with "sensitive".
12440func (s InvalidSubnetIDException) GoString() string {
12441	return s.String()
12442}
12443
12444func newErrorInvalidSubnetIDException(v protocol.ResponseMetadata) error {
12445	return &InvalidSubnetIDException{
12446		RespMetadata: v,
12447	}
12448}
12449
12450// Code returns the exception type name.
12451func (s *InvalidSubnetIDException) Code() string {
12452	return "InvalidSubnetIDException"
12453}
12454
12455// Message returns the exception's message.
12456func (s *InvalidSubnetIDException) Message() string {
12457	if s.Message_ != nil {
12458		return *s.Message_
12459	}
12460	return ""
12461}
12462
12463// OrigErr always returns nil, satisfies awserr.Error interface.
12464func (s *InvalidSubnetIDException) OrigErr() error {
12465	return nil
12466}
12467
12468func (s *InvalidSubnetIDException) Error() string {
12469	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
12470}
12471
12472// Status code returns the HTTP status code for the request's response error.
12473func (s *InvalidSubnetIDException) StatusCode() int {
12474	return s.RespMetadata.StatusCode
12475}
12476
12477// RequestID returns the service's response RequestID for request.
12478func (s *InvalidSubnetIDException) RequestID() string {
12479	return s.RespMetadata.RequestID
12480}
12481
12482// Lambda could not unzip the deployment package.
12483type InvalidZipFileException struct {
12484	_            struct{}                  `type:"structure"`
12485	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
12486
12487	Message_ *string `locationName:"Message" type:"string"`
12488
12489	Type *string `type:"string"`
12490}
12491
12492// String returns the string representation.
12493//
12494// API parameter values that are decorated as "sensitive" in the API will not
12495// be included in the string output. The member name will be present, but the
12496// value will be replaced with "sensitive".
12497func (s InvalidZipFileException) String() string {
12498	return awsutil.Prettify(s)
12499}
12500
12501// GoString returns the string representation.
12502//
12503// API parameter values that are decorated as "sensitive" in the API will not
12504// be included in the string output. The member name will be present, but the
12505// value will be replaced with "sensitive".
12506func (s InvalidZipFileException) GoString() string {
12507	return s.String()
12508}
12509
12510func newErrorInvalidZipFileException(v protocol.ResponseMetadata) error {
12511	return &InvalidZipFileException{
12512		RespMetadata: v,
12513	}
12514}
12515
12516// Code returns the exception type name.
12517func (s *InvalidZipFileException) Code() string {
12518	return "InvalidZipFileException"
12519}
12520
12521// Message returns the exception's message.
12522func (s *InvalidZipFileException) Message() string {
12523	if s.Message_ != nil {
12524		return *s.Message_
12525	}
12526	return ""
12527}
12528
12529// OrigErr always returns nil, satisfies awserr.Error interface.
12530func (s *InvalidZipFileException) OrigErr() error {
12531	return nil
12532}
12533
12534func (s *InvalidZipFileException) Error() string {
12535	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
12536}
12537
12538// Status code returns the HTTP status code for the request's response error.
12539func (s *InvalidZipFileException) StatusCode() int {
12540	return s.RespMetadata.StatusCode
12541}
12542
12543// RequestID returns the service's response RequestID for request.
12544func (s *InvalidZipFileException) RequestID() string {
12545	return s.RespMetadata.RequestID
12546}
12547
12548// Deprecated: InvokeAsyncInput has been deprecated
12549type InvokeAsyncInput struct {
12550	_ struct{} `deprecated:"true" type:"structure" payload:"InvokeArgs"`
12551
12552	// The name of the Lambda function.
12553	//
12554	// Name formats
12555	//
12556	//    * Function name - my-function.
12557	//
12558	//    * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.
12559	//
12560	//    * Partial ARN - 123456789012:function:my-function.
12561	//
12562	// The length constraint applies only to the full ARN. If you specify only the
12563	// function name, it is limited to 64 characters in length.
12564	//
12565	// FunctionName is a required field
12566	FunctionName *string `location:"uri" locationName:"FunctionName" min:"1" type:"string" required:"true"`
12567
12568	// The JSON that you want to provide to your Lambda function as input.
12569	//
12570	// InvokeArgs is a required field
12571	InvokeArgs io.ReadSeeker `type:"blob" required:"true"`
12572}
12573
12574// String returns the string representation.
12575//
12576// API parameter values that are decorated as "sensitive" in the API will not
12577// be included in the string output. The member name will be present, but the
12578// value will be replaced with "sensitive".
12579func (s InvokeAsyncInput) String() string {
12580	return awsutil.Prettify(s)
12581}
12582
12583// GoString returns the string representation.
12584//
12585// API parameter values that are decorated as "sensitive" in the API will not
12586// be included in the string output. The member name will be present, but the
12587// value will be replaced with "sensitive".
12588func (s InvokeAsyncInput) GoString() string {
12589	return s.String()
12590}
12591
12592// Validate inspects the fields of the type to determine if they are valid.
12593func (s *InvokeAsyncInput) Validate() error {
12594	invalidParams := request.ErrInvalidParams{Context: "InvokeAsyncInput"}
12595	if s.FunctionName == nil {
12596		invalidParams.Add(request.NewErrParamRequired("FunctionName"))
12597	}
12598	if s.FunctionName != nil && len(*s.FunctionName) < 1 {
12599		invalidParams.Add(request.NewErrParamMinLen("FunctionName", 1))
12600	}
12601	if s.InvokeArgs == nil {
12602		invalidParams.Add(request.NewErrParamRequired("InvokeArgs"))
12603	}
12604
12605	if invalidParams.Len() > 0 {
12606		return invalidParams
12607	}
12608	return nil
12609}
12610
12611// SetFunctionName sets the FunctionName field's value.
12612func (s *InvokeAsyncInput) SetFunctionName(v string) *InvokeAsyncInput {
12613	s.FunctionName = &v
12614	return s
12615}
12616
12617// SetInvokeArgs sets the InvokeArgs field's value.
12618func (s *InvokeAsyncInput) SetInvokeArgs(v io.ReadSeeker) *InvokeAsyncInput {
12619	s.InvokeArgs = v
12620	return s
12621}
12622
12623// A success response (202 Accepted) indicates that the request is queued for
12624// invocation.
12625//
12626// Deprecated: InvokeAsyncOutput has been deprecated
12627type InvokeAsyncOutput struct {
12628	_ struct{} `deprecated:"true" type:"structure"`
12629
12630	// The status code.
12631	Status *int64 `location:"statusCode" type:"integer"`
12632}
12633
12634// String returns the string representation.
12635//
12636// API parameter values that are decorated as "sensitive" in the API will not
12637// be included in the string output. The member name will be present, but the
12638// value will be replaced with "sensitive".
12639func (s InvokeAsyncOutput) String() string {
12640	return awsutil.Prettify(s)
12641}
12642
12643// GoString returns the string representation.
12644//
12645// API parameter values that are decorated as "sensitive" in the API will not
12646// be included in the string output. The member name will be present, but the
12647// value will be replaced with "sensitive".
12648func (s InvokeAsyncOutput) GoString() string {
12649	return s.String()
12650}
12651
12652// SetStatus sets the Status field's value.
12653func (s *InvokeAsyncOutput) SetStatus(v int64) *InvokeAsyncOutput {
12654	s.Status = &v
12655	return s
12656}
12657
12658type InvokeInput struct {
12659	_ struct{} `type:"structure" payload:"Payload"`
12660
12661	// Up to 3583 bytes of base64-encoded data about the invoking client to pass
12662	// to the function in the context object.
12663	ClientContext *string `location:"header" locationName:"X-Amz-Client-Context" type:"string"`
12664
12665	// The name of the Lambda function, version, or alias.
12666	//
12667	// Name formats
12668	//
12669	//    * Function name - my-function (name-only), my-function:v1 (with alias).
12670	//
12671	//    * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.
12672	//
12673	//    * Partial ARN - 123456789012:function:my-function.
12674	//
12675	// You can append a version number or alias to any of the formats. The length
12676	// constraint applies only to the full ARN. If you specify only the function
12677	// name, it is limited to 64 characters in length.
12678	//
12679	// FunctionName is a required field
12680	FunctionName *string `location:"uri" locationName:"FunctionName" min:"1" type:"string" required:"true"`
12681
12682	// Choose from the following options.
12683	//
12684	//    * RequestResponse (default) - Invoke the function synchronously. Keep
12685	//    the connection open until the function returns a response or times out.
12686	//    The API response includes the function response and additional data.
12687	//
12688	//    * Event - Invoke the function asynchronously. Send events that fail multiple
12689	//    times to the function's dead-letter queue (if it's configured). The API
12690	//    response only includes a status code.
12691	//
12692	//    * DryRun - Validate parameter values and verify that the user or role
12693	//    has permission to invoke the function.
12694	InvocationType *string `location:"header" locationName:"X-Amz-Invocation-Type" type:"string" enum:"InvocationType"`
12695
12696	// Set to Tail to include the execution log in the response. Applies to synchronously
12697	// invoked functions only.
12698	LogType *string `location:"header" locationName:"X-Amz-Log-Type" type:"string" enum:"LogType"`
12699
12700	// The JSON that you want to provide to your Lambda function as input.
12701	//
12702	// Payload is a sensitive parameter and its value will be
12703	// replaced with "sensitive" in string returned by InvokeInput's
12704	// String and GoString methods.
12705	Payload []byte `type:"blob" sensitive:"true"`
12706
12707	// Specify a version or alias to invoke a published version of the function.
12708	Qualifier *string `location:"querystring" locationName:"Qualifier" min:"1" type:"string"`
12709}
12710
12711// String returns the string representation.
12712//
12713// API parameter values that are decorated as "sensitive" in the API will not
12714// be included in the string output. The member name will be present, but the
12715// value will be replaced with "sensitive".
12716func (s InvokeInput) String() string {
12717	return awsutil.Prettify(s)
12718}
12719
12720// GoString returns the string representation.
12721//
12722// API parameter values that are decorated as "sensitive" in the API will not
12723// be included in the string output. The member name will be present, but the
12724// value will be replaced with "sensitive".
12725func (s InvokeInput) GoString() string {
12726	return s.String()
12727}
12728
12729// Validate inspects the fields of the type to determine if they are valid.
12730func (s *InvokeInput) Validate() error {
12731	invalidParams := request.ErrInvalidParams{Context: "InvokeInput"}
12732	if s.FunctionName == nil {
12733		invalidParams.Add(request.NewErrParamRequired("FunctionName"))
12734	}
12735	if s.FunctionName != nil && len(*s.FunctionName) < 1 {
12736		invalidParams.Add(request.NewErrParamMinLen("FunctionName", 1))
12737	}
12738	if s.Qualifier != nil && len(*s.Qualifier) < 1 {
12739		invalidParams.Add(request.NewErrParamMinLen("Qualifier", 1))
12740	}
12741
12742	if invalidParams.Len() > 0 {
12743		return invalidParams
12744	}
12745	return nil
12746}
12747
12748// SetClientContext sets the ClientContext field's value.
12749func (s *InvokeInput) SetClientContext(v string) *InvokeInput {
12750	s.ClientContext = &v
12751	return s
12752}
12753
12754// SetFunctionName sets the FunctionName field's value.
12755func (s *InvokeInput) SetFunctionName(v string) *InvokeInput {
12756	s.FunctionName = &v
12757	return s
12758}
12759
12760// SetInvocationType sets the InvocationType field's value.
12761func (s *InvokeInput) SetInvocationType(v string) *InvokeInput {
12762	s.InvocationType = &v
12763	return s
12764}
12765
12766// SetLogType sets the LogType field's value.
12767func (s *InvokeInput) SetLogType(v string) *InvokeInput {
12768	s.LogType = &v
12769	return s
12770}
12771
12772// SetPayload sets the Payload field's value.
12773func (s *InvokeInput) SetPayload(v []byte) *InvokeInput {
12774	s.Payload = v
12775	return s
12776}
12777
12778// SetQualifier sets the Qualifier field's value.
12779func (s *InvokeInput) SetQualifier(v string) *InvokeInput {
12780	s.Qualifier = &v
12781	return s
12782}
12783
12784type InvokeOutput struct {
12785	_ struct{} `type:"structure" payload:"Payload"`
12786
12787	// The version of the function that executed. When you invoke a function with
12788	// an alias, this indicates which version the alias resolved to.
12789	ExecutedVersion *string `location:"header" locationName:"X-Amz-Executed-Version" min:"1" type:"string"`
12790
12791	// If present, indicates that an error occurred during function execution. Details
12792	// about the error are included in the response payload.
12793	FunctionError *string `location:"header" locationName:"X-Amz-Function-Error" type:"string"`
12794
12795	// The last 4 KB of the execution log, which is base64 encoded.
12796	LogResult *string `location:"header" locationName:"X-Amz-Log-Result" type:"string"`
12797
12798	// The response from the function, or an error object.
12799	//
12800	// Payload is a sensitive parameter and its value will be
12801	// replaced with "sensitive" in string returned by InvokeOutput's
12802	// String and GoString methods.
12803	Payload []byte `type:"blob" sensitive:"true"`
12804
12805	// The HTTP status code is in the 200 range for a successful request. For the
12806	// RequestResponse invocation type, this status code is 200. For the Event invocation
12807	// type, this status code is 202. For the DryRun invocation type, the status
12808	// code is 204.
12809	StatusCode *int64 `location:"statusCode" type:"integer"`
12810}
12811
12812// String returns the string representation.
12813//
12814// API parameter values that are decorated as "sensitive" in the API will not
12815// be included in the string output. The member name will be present, but the
12816// value will be replaced with "sensitive".
12817func (s InvokeOutput) String() string {
12818	return awsutil.Prettify(s)
12819}
12820
12821// GoString returns the string representation.
12822//
12823// API parameter values that are decorated as "sensitive" in the API will not
12824// be included in the string output. The member name will be present, but the
12825// value will be replaced with "sensitive".
12826func (s InvokeOutput) GoString() string {
12827	return s.String()
12828}
12829
12830// SetExecutedVersion sets the ExecutedVersion field's value.
12831func (s *InvokeOutput) SetExecutedVersion(v string) *InvokeOutput {
12832	s.ExecutedVersion = &v
12833	return s
12834}
12835
12836// SetFunctionError sets the FunctionError field's value.
12837func (s *InvokeOutput) SetFunctionError(v string) *InvokeOutput {
12838	s.FunctionError = &v
12839	return s
12840}
12841
12842// SetLogResult sets the LogResult field's value.
12843func (s *InvokeOutput) SetLogResult(v string) *InvokeOutput {
12844	s.LogResult = &v
12845	return s
12846}
12847
12848// SetPayload sets the Payload field's value.
12849func (s *InvokeOutput) SetPayload(v []byte) *InvokeOutput {
12850	s.Payload = v
12851	return s
12852}
12853
12854// SetStatusCode sets the StatusCode field's value.
12855func (s *InvokeOutput) SetStatusCode(v int64) *InvokeOutput {
12856	s.StatusCode = &v
12857	return s
12858}
12859
12860// Lambda was unable to decrypt the environment variables because KMS access
12861// was denied. Check the Lambda function's KMS permissions.
12862type KMSAccessDeniedException struct {
12863	_            struct{}                  `type:"structure"`
12864	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
12865
12866	Message_ *string `locationName:"Message" type:"string"`
12867
12868	Type *string `type:"string"`
12869}
12870
12871// String returns the string representation.
12872//
12873// API parameter values that are decorated as "sensitive" in the API will not
12874// be included in the string output. The member name will be present, but the
12875// value will be replaced with "sensitive".
12876func (s KMSAccessDeniedException) String() string {
12877	return awsutil.Prettify(s)
12878}
12879
12880// GoString returns the string representation.
12881//
12882// API parameter values that are decorated as "sensitive" in the API will not
12883// be included in the string output. The member name will be present, but the
12884// value will be replaced with "sensitive".
12885func (s KMSAccessDeniedException) GoString() string {
12886	return s.String()
12887}
12888
12889func newErrorKMSAccessDeniedException(v protocol.ResponseMetadata) error {
12890	return &KMSAccessDeniedException{
12891		RespMetadata: v,
12892	}
12893}
12894
12895// Code returns the exception type name.
12896func (s *KMSAccessDeniedException) Code() string {
12897	return "KMSAccessDeniedException"
12898}
12899
12900// Message returns the exception's message.
12901func (s *KMSAccessDeniedException) Message() string {
12902	if s.Message_ != nil {
12903		return *s.Message_
12904	}
12905	return ""
12906}
12907
12908// OrigErr always returns nil, satisfies awserr.Error interface.
12909func (s *KMSAccessDeniedException) OrigErr() error {
12910	return nil
12911}
12912
12913func (s *KMSAccessDeniedException) Error() string {
12914	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
12915}
12916
12917// Status code returns the HTTP status code for the request's response error.
12918func (s *KMSAccessDeniedException) StatusCode() int {
12919	return s.RespMetadata.StatusCode
12920}
12921
12922// RequestID returns the service's response RequestID for request.
12923func (s *KMSAccessDeniedException) RequestID() string {
12924	return s.RespMetadata.RequestID
12925}
12926
12927// Lambda was unable to decrypt the environment variables because the KMS key
12928// used is disabled. Check the Lambda function's KMS key settings.
12929type KMSDisabledException struct {
12930	_            struct{}                  `type:"structure"`
12931	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
12932
12933	Message_ *string `locationName:"Message" type:"string"`
12934
12935	Type *string `type:"string"`
12936}
12937
12938// String returns the string representation.
12939//
12940// API parameter values that are decorated as "sensitive" in the API will not
12941// be included in the string output. The member name will be present, but the
12942// value will be replaced with "sensitive".
12943func (s KMSDisabledException) String() string {
12944	return awsutil.Prettify(s)
12945}
12946
12947// GoString returns the string representation.
12948//
12949// API parameter values that are decorated as "sensitive" in the API will not
12950// be included in the string output. The member name will be present, but the
12951// value will be replaced with "sensitive".
12952func (s KMSDisabledException) GoString() string {
12953	return s.String()
12954}
12955
12956func newErrorKMSDisabledException(v protocol.ResponseMetadata) error {
12957	return &KMSDisabledException{
12958		RespMetadata: v,
12959	}
12960}
12961
12962// Code returns the exception type name.
12963func (s *KMSDisabledException) Code() string {
12964	return "KMSDisabledException"
12965}
12966
12967// Message returns the exception's message.
12968func (s *KMSDisabledException) Message() string {
12969	if s.Message_ != nil {
12970		return *s.Message_
12971	}
12972	return ""
12973}
12974
12975// OrigErr always returns nil, satisfies awserr.Error interface.
12976func (s *KMSDisabledException) OrigErr() error {
12977	return nil
12978}
12979
12980func (s *KMSDisabledException) Error() string {
12981	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
12982}
12983
12984// Status code returns the HTTP status code for the request's response error.
12985func (s *KMSDisabledException) StatusCode() int {
12986	return s.RespMetadata.StatusCode
12987}
12988
12989// RequestID returns the service's response RequestID for request.
12990func (s *KMSDisabledException) RequestID() string {
12991	return s.RespMetadata.RequestID
12992}
12993
12994// Lambda was unable to decrypt the environment variables because the KMS key
12995// used is in an invalid state for Decrypt. Check the function's KMS key settings.
12996type KMSInvalidStateException struct {
12997	_            struct{}                  `type:"structure"`
12998	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
12999
13000	Message_ *string `locationName:"Message" type:"string"`
13001
13002	Type *string `type:"string"`
13003}
13004
13005// String returns the string representation.
13006//
13007// API parameter values that are decorated as "sensitive" in the API will not
13008// be included in the string output. The member name will be present, but the
13009// value will be replaced with "sensitive".
13010func (s KMSInvalidStateException) String() string {
13011	return awsutil.Prettify(s)
13012}
13013
13014// GoString returns the string representation.
13015//
13016// API parameter values that are decorated as "sensitive" in the API will not
13017// be included in the string output. The member name will be present, but the
13018// value will be replaced with "sensitive".
13019func (s KMSInvalidStateException) GoString() string {
13020	return s.String()
13021}
13022
13023func newErrorKMSInvalidStateException(v protocol.ResponseMetadata) error {
13024	return &KMSInvalidStateException{
13025		RespMetadata: v,
13026	}
13027}
13028
13029// Code returns the exception type name.
13030func (s *KMSInvalidStateException) Code() string {
13031	return "KMSInvalidStateException"
13032}
13033
13034// Message returns the exception's message.
13035func (s *KMSInvalidStateException) Message() string {
13036	if s.Message_ != nil {
13037		return *s.Message_
13038	}
13039	return ""
13040}
13041
13042// OrigErr always returns nil, satisfies awserr.Error interface.
13043func (s *KMSInvalidStateException) OrigErr() error {
13044	return nil
13045}
13046
13047func (s *KMSInvalidStateException) Error() string {
13048	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
13049}
13050
13051// Status code returns the HTTP status code for the request's response error.
13052func (s *KMSInvalidStateException) StatusCode() int {
13053	return s.RespMetadata.StatusCode
13054}
13055
13056// RequestID returns the service's response RequestID for request.
13057func (s *KMSInvalidStateException) RequestID() string {
13058	return s.RespMetadata.RequestID
13059}
13060
13061// Lambda was unable to decrypt the environment variables because the KMS key
13062// was not found. Check the function's KMS key settings.
13063type KMSNotFoundException struct {
13064	_            struct{}                  `type:"structure"`
13065	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
13066
13067	Message_ *string `locationName:"Message" type:"string"`
13068
13069	Type *string `type:"string"`
13070}
13071
13072// String returns the string representation.
13073//
13074// API parameter values that are decorated as "sensitive" in the API will not
13075// be included in the string output. The member name will be present, but the
13076// value will be replaced with "sensitive".
13077func (s KMSNotFoundException) String() string {
13078	return awsutil.Prettify(s)
13079}
13080
13081// GoString returns the string representation.
13082//
13083// API parameter values that are decorated as "sensitive" in the API will not
13084// be included in the string output. The member name will be present, but the
13085// value will be replaced with "sensitive".
13086func (s KMSNotFoundException) GoString() string {
13087	return s.String()
13088}
13089
13090func newErrorKMSNotFoundException(v protocol.ResponseMetadata) error {
13091	return &KMSNotFoundException{
13092		RespMetadata: v,
13093	}
13094}
13095
13096// Code returns the exception type name.
13097func (s *KMSNotFoundException) Code() string {
13098	return "KMSNotFoundException"
13099}
13100
13101// Message returns the exception's message.
13102func (s *KMSNotFoundException) Message() string {
13103	if s.Message_ != nil {
13104		return *s.Message_
13105	}
13106	return ""
13107}
13108
13109// OrigErr always returns nil, satisfies awserr.Error interface.
13110func (s *KMSNotFoundException) OrigErr() error {
13111	return nil
13112}
13113
13114func (s *KMSNotFoundException) Error() string {
13115	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
13116}
13117
13118// Status code returns the HTTP status code for the request's response error.
13119func (s *KMSNotFoundException) StatusCode() int {
13120	return s.RespMetadata.StatusCode
13121}
13122
13123// RequestID returns the service's response RequestID for request.
13124func (s *KMSNotFoundException) RequestID() string {
13125	return s.RespMetadata.RequestID
13126}
13127
13128// An Lambda layer (https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html).
13129type Layer struct {
13130	_ struct{} `type:"structure"`
13131
13132	// The Amazon Resource Name (ARN) of the function layer.
13133	Arn *string `min:"1" type:"string"`
13134
13135	// The size of the layer archive in bytes.
13136	CodeSize *int64 `type:"long"`
13137
13138	// The Amazon Resource Name (ARN) of a signing job.
13139	SigningJobArn *string `type:"string"`
13140
13141	// The Amazon Resource Name (ARN) for a signing profile version.
13142	SigningProfileVersionArn *string `type:"string"`
13143}
13144
13145// String returns the string representation.
13146//
13147// API parameter values that are decorated as "sensitive" in the API will not
13148// be included in the string output. The member name will be present, but the
13149// value will be replaced with "sensitive".
13150func (s Layer) String() string {
13151	return awsutil.Prettify(s)
13152}
13153
13154// GoString returns the string representation.
13155//
13156// API parameter values that are decorated as "sensitive" in the API will not
13157// be included in the string output. The member name will be present, but the
13158// value will be replaced with "sensitive".
13159func (s Layer) GoString() string {
13160	return s.String()
13161}
13162
13163// SetArn sets the Arn field's value.
13164func (s *Layer) SetArn(v string) *Layer {
13165	s.Arn = &v
13166	return s
13167}
13168
13169// SetCodeSize sets the CodeSize field's value.
13170func (s *Layer) SetCodeSize(v int64) *Layer {
13171	s.CodeSize = &v
13172	return s
13173}
13174
13175// SetSigningJobArn sets the SigningJobArn field's value.
13176func (s *Layer) SetSigningJobArn(v string) *Layer {
13177	s.SigningJobArn = &v
13178	return s
13179}
13180
13181// SetSigningProfileVersionArn sets the SigningProfileVersionArn field's value.
13182func (s *Layer) SetSigningProfileVersionArn(v string) *Layer {
13183	s.SigningProfileVersionArn = &v
13184	return s
13185}
13186
13187// A ZIP archive that contains the contents of an Lambda layer (https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html).
13188// You can specify either an Amazon S3 location, or upload a layer archive directly.
13189type LayerVersionContentInput struct {
13190	_ struct{} `type:"structure"`
13191
13192	// The Amazon S3 bucket of the layer archive.
13193	S3Bucket *string `min:"3" type:"string"`
13194
13195	// The Amazon S3 key of the layer archive.
13196	S3Key *string `min:"1" type:"string"`
13197
13198	// For versioned objects, the version of the layer archive object to use.
13199	S3ObjectVersion *string `min:"1" type:"string"`
13200
13201	// The base64-encoded contents of the layer archive. Amazon Web Services SDK
13202	// and Amazon Web Services CLI clients handle the encoding for you.
13203	//
13204	// ZipFile is a sensitive parameter and its value will be
13205	// replaced with "sensitive" in string returned by LayerVersionContentInput's
13206	// String and GoString methods.
13207	//
13208	// ZipFile is automatically base64 encoded/decoded by the SDK.
13209	ZipFile []byte `type:"blob" sensitive:"true"`
13210}
13211
13212// String returns the string representation.
13213//
13214// API parameter values that are decorated as "sensitive" in the API will not
13215// be included in the string output. The member name will be present, but the
13216// value will be replaced with "sensitive".
13217func (s LayerVersionContentInput) String() string {
13218	return awsutil.Prettify(s)
13219}
13220
13221// GoString returns the string representation.
13222//
13223// API parameter values that are decorated as "sensitive" in the API will not
13224// be included in the string output. The member name will be present, but the
13225// value will be replaced with "sensitive".
13226func (s LayerVersionContentInput) GoString() string {
13227	return s.String()
13228}
13229
13230// Validate inspects the fields of the type to determine if they are valid.
13231func (s *LayerVersionContentInput) Validate() error {
13232	invalidParams := request.ErrInvalidParams{Context: "LayerVersionContentInput"}
13233	if s.S3Bucket != nil && len(*s.S3Bucket) < 3 {
13234		invalidParams.Add(request.NewErrParamMinLen("S3Bucket", 3))
13235	}
13236	if s.S3Key != nil && len(*s.S3Key) < 1 {
13237		invalidParams.Add(request.NewErrParamMinLen("S3Key", 1))
13238	}
13239	if s.S3ObjectVersion != nil && len(*s.S3ObjectVersion) < 1 {
13240		invalidParams.Add(request.NewErrParamMinLen("S3ObjectVersion", 1))
13241	}
13242
13243	if invalidParams.Len() > 0 {
13244		return invalidParams
13245	}
13246	return nil
13247}
13248
13249// SetS3Bucket sets the S3Bucket field's value.
13250func (s *LayerVersionContentInput) SetS3Bucket(v string) *LayerVersionContentInput {
13251	s.S3Bucket = &v
13252	return s
13253}
13254
13255// SetS3Key sets the S3Key field's value.
13256func (s *LayerVersionContentInput) SetS3Key(v string) *LayerVersionContentInput {
13257	s.S3Key = &v
13258	return s
13259}
13260
13261// SetS3ObjectVersion sets the S3ObjectVersion field's value.
13262func (s *LayerVersionContentInput) SetS3ObjectVersion(v string) *LayerVersionContentInput {
13263	s.S3ObjectVersion = &v
13264	return s
13265}
13266
13267// SetZipFile sets the ZipFile field's value.
13268func (s *LayerVersionContentInput) SetZipFile(v []byte) *LayerVersionContentInput {
13269	s.ZipFile = v
13270	return s
13271}
13272
13273// Details about a version of an Lambda layer (https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html).
13274type LayerVersionContentOutput struct {
13275	_ struct{} `type:"structure"`
13276
13277	// The SHA-256 hash of the layer archive.
13278	CodeSha256 *string `type:"string"`
13279
13280	// The size of the layer archive in bytes.
13281	CodeSize *int64 `type:"long"`
13282
13283	// A link to the layer archive in Amazon S3 that is valid for 10 minutes.
13284	Location *string `type:"string"`
13285
13286	// The Amazon Resource Name (ARN) of a signing job.
13287	SigningJobArn *string `type:"string"`
13288
13289	// The Amazon Resource Name (ARN) for a signing profile version.
13290	SigningProfileVersionArn *string `type:"string"`
13291}
13292
13293// String returns the string representation.
13294//
13295// API parameter values that are decorated as "sensitive" in the API will not
13296// be included in the string output. The member name will be present, but the
13297// value will be replaced with "sensitive".
13298func (s LayerVersionContentOutput) String() string {
13299	return awsutil.Prettify(s)
13300}
13301
13302// GoString returns the string representation.
13303//
13304// API parameter values that are decorated as "sensitive" in the API will not
13305// be included in the string output. The member name will be present, but the
13306// value will be replaced with "sensitive".
13307func (s LayerVersionContentOutput) GoString() string {
13308	return s.String()
13309}
13310
13311// SetCodeSha256 sets the CodeSha256 field's value.
13312func (s *LayerVersionContentOutput) SetCodeSha256(v string) *LayerVersionContentOutput {
13313	s.CodeSha256 = &v
13314	return s
13315}
13316
13317// SetCodeSize sets the CodeSize field's value.
13318func (s *LayerVersionContentOutput) SetCodeSize(v int64) *LayerVersionContentOutput {
13319	s.CodeSize = &v
13320	return s
13321}
13322
13323// SetLocation sets the Location field's value.
13324func (s *LayerVersionContentOutput) SetLocation(v string) *LayerVersionContentOutput {
13325	s.Location = &v
13326	return s
13327}
13328
13329// SetSigningJobArn sets the SigningJobArn field's value.
13330func (s *LayerVersionContentOutput) SetSigningJobArn(v string) *LayerVersionContentOutput {
13331	s.SigningJobArn = &v
13332	return s
13333}
13334
13335// SetSigningProfileVersionArn sets the SigningProfileVersionArn field's value.
13336func (s *LayerVersionContentOutput) SetSigningProfileVersionArn(v string) *LayerVersionContentOutput {
13337	s.SigningProfileVersionArn = &v
13338	return s
13339}
13340
13341// Details about a version of an Lambda layer (https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html).
13342type LayerVersionsListItem struct {
13343	_ struct{} `type:"structure"`
13344
13345	// A list of compatible instruction set architectures (https://docs.aws.amazon.com/lambda/latest/dg/foundation-arch.html).
13346	CompatibleArchitectures []*string `type:"list"`
13347
13348	// The layer's compatible runtimes.
13349	CompatibleRuntimes []*string `type:"list"`
13350
13351	// The date that the version was created, in ISO 8601 format. For example, 2018-11-27T15:10:45.123+0000.
13352	CreatedDate *string `type:"string"`
13353
13354	// The description of the version.
13355	Description *string `type:"string"`
13356
13357	// The ARN of the layer version.
13358	LayerVersionArn *string `min:"1" type:"string"`
13359
13360	// The layer's open-source license.
13361	LicenseInfo *string `type:"string"`
13362
13363	// The version number.
13364	Version *int64 `type:"long"`
13365}
13366
13367// String returns the string representation.
13368//
13369// API parameter values that are decorated as "sensitive" in the API will not
13370// be included in the string output. The member name will be present, but the
13371// value will be replaced with "sensitive".
13372func (s LayerVersionsListItem) String() string {
13373	return awsutil.Prettify(s)
13374}
13375
13376// GoString returns the string representation.
13377//
13378// API parameter values that are decorated as "sensitive" in the API will not
13379// be included in the string output. The member name will be present, but the
13380// value will be replaced with "sensitive".
13381func (s LayerVersionsListItem) GoString() string {
13382	return s.String()
13383}
13384
13385// SetCompatibleArchitectures sets the CompatibleArchitectures field's value.
13386func (s *LayerVersionsListItem) SetCompatibleArchitectures(v []*string) *LayerVersionsListItem {
13387	s.CompatibleArchitectures = v
13388	return s
13389}
13390
13391// SetCompatibleRuntimes sets the CompatibleRuntimes field's value.
13392func (s *LayerVersionsListItem) SetCompatibleRuntimes(v []*string) *LayerVersionsListItem {
13393	s.CompatibleRuntimes = v
13394	return s
13395}
13396
13397// SetCreatedDate sets the CreatedDate field's value.
13398func (s *LayerVersionsListItem) SetCreatedDate(v string) *LayerVersionsListItem {
13399	s.CreatedDate = &v
13400	return s
13401}
13402
13403// SetDescription sets the Description field's value.
13404func (s *LayerVersionsListItem) SetDescription(v string) *LayerVersionsListItem {
13405	s.Description = &v
13406	return s
13407}
13408
13409// SetLayerVersionArn sets the LayerVersionArn field's value.
13410func (s *LayerVersionsListItem) SetLayerVersionArn(v string) *LayerVersionsListItem {
13411	s.LayerVersionArn = &v
13412	return s
13413}
13414
13415// SetLicenseInfo sets the LicenseInfo field's value.
13416func (s *LayerVersionsListItem) SetLicenseInfo(v string) *LayerVersionsListItem {
13417	s.LicenseInfo = &v
13418	return s
13419}
13420
13421// SetVersion sets the Version field's value.
13422func (s *LayerVersionsListItem) SetVersion(v int64) *LayerVersionsListItem {
13423	s.Version = &v
13424	return s
13425}
13426
13427// Details about an Lambda layer (https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html).
13428type LayersListItem struct {
13429	_ struct{} `type:"structure"`
13430
13431	// The newest version of the layer.
13432	LatestMatchingVersion *LayerVersionsListItem `type:"structure"`
13433
13434	// The Amazon Resource Name (ARN) of the function layer.
13435	LayerArn *string `min:"1" type:"string"`
13436
13437	// The name of the layer.
13438	LayerName *string `min:"1" type:"string"`
13439}
13440
13441// String returns the string representation.
13442//
13443// API parameter values that are decorated as "sensitive" in the API will not
13444// be included in the string output. The member name will be present, but the
13445// value will be replaced with "sensitive".
13446func (s LayersListItem) String() string {
13447	return awsutil.Prettify(s)
13448}
13449
13450// GoString returns the string representation.
13451//
13452// API parameter values that are decorated as "sensitive" in the API will not
13453// be included in the string output. The member name will be present, but the
13454// value will be replaced with "sensitive".
13455func (s LayersListItem) GoString() string {
13456	return s.String()
13457}
13458
13459// SetLatestMatchingVersion sets the LatestMatchingVersion field's value.
13460func (s *LayersListItem) SetLatestMatchingVersion(v *LayerVersionsListItem) *LayersListItem {
13461	s.LatestMatchingVersion = v
13462	return s
13463}
13464
13465// SetLayerArn sets the LayerArn field's value.
13466func (s *LayersListItem) SetLayerArn(v string) *LayersListItem {
13467	s.LayerArn = &v
13468	return s
13469}
13470
13471// SetLayerName sets the LayerName field's value.
13472func (s *LayersListItem) SetLayerName(v string) *LayersListItem {
13473	s.LayerName = &v
13474	return s
13475}
13476
13477type ListAliasesInput struct {
13478	_ struct{} `type:"structure" nopayload:"true"`
13479
13480	// The name of the Lambda function.
13481	//
13482	// Name formats
13483	//
13484	//    * Function name - MyFunction.
13485	//
13486	//    * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.
13487	//
13488	//    * Partial ARN - 123456789012:function:MyFunction.
13489	//
13490	// The length constraint applies only to the full ARN. If you specify only the
13491	// function name, it is limited to 64 characters in length.
13492	//
13493	// FunctionName is a required field
13494	FunctionName *string `location:"uri" locationName:"FunctionName" min:"1" type:"string" required:"true"`
13495
13496	// Specify a function version to only list aliases that invoke that version.
13497	FunctionVersion *string `location:"querystring" locationName:"FunctionVersion" min:"1" type:"string"`
13498
13499	// Specify the pagination token that's returned by a previous request to retrieve
13500	// the next page of results.
13501	Marker *string `location:"querystring" locationName:"Marker" type:"string"`
13502
13503	// Limit the number of aliases returned.
13504	MaxItems *int64 `location:"querystring" locationName:"MaxItems" min:"1" type:"integer"`
13505}
13506
13507// String returns the string representation.
13508//
13509// API parameter values that are decorated as "sensitive" in the API will not
13510// be included in the string output. The member name will be present, but the
13511// value will be replaced with "sensitive".
13512func (s ListAliasesInput) String() string {
13513	return awsutil.Prettify(s)
13514}
13515
13516// GoString returns the string representation.
13517//
13518// API parameter values that are decorated as "sensitive" in the API will not
13519// be included in the string output. The member name will be present, but the
13520// value will be replaced with "sensitive".
13521func (s ListAliasesInput) GoString() string {
13522	return s.String()
13523}
13524
13525// Validate inspects the fields of the type to determine if they are valid.
13526func (s *ListAliasesInput) Validate() error {
13527	invalidParams := request.ErrInvalidParams{Context: "ListAliasesInput"}
13528	if s.FunctionName == nil {
13529		invalidParams.Add(request.NewErrParamRequired("FunctionName"))
13530	}
13531	if s.FunctionName != nil && len(*s.FunctionName) < 1 {
13532		invalidParams.Add(request.NewErrParamMinLen("FunctionName", 1))
13533	}
13534	if s.FunctionVersion != nil && len(*s.FunctionVersion) < 1 {
13535		invalidParams.Add(request.NewErrParamMinLen("FunctionVersion", 1))
13536	}
13537	if s.MaxItems != nil && *s.MaxItems < 1 {
13538		invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1))
13539	}
13540
13541	if invalidParams.Len() > 0 {
13542		return invalidParams
13543	}
13544	return nil
13545}
13546
13547// SetFunctionName sets the FunctionName field's value.
13548func (s *ListAliasesInput) SetFunctionName(v string) *ListAliasesInput {
13549	s.FunctionName = &v
13550	return s
13551}
13552
13553// SetFunctionVersion sets the FunctionVersion field's value.
13554func (s *ListAliasesInput) SetFunctionVersion(v string) *ListAliasesInput {
13555	s.FunctionVersion = &v
13556	return s
13557}
13558
13559// SetMarker sets the Marker field's value.
13560func (s *ListAliasesInput) SetMarker(v string) *ListAliasesInput {
13561	s.Marker = &v
13562	return s
13563}
13564
13565// SetMaxItems sets the MaxItems field's value.
13566func (s *ListAliasesInput) SetMaxItems(v int64) *ListAliasesInput {
13567	s.MaxItems = &v
13568	return s
13569}
13570
13571type ListAliasesOutput struct {
13572	_ struct{} `type:"structure"`
13573
13574	// A list of aliases.
13575	Aliases []*AliasConfiguration `type:"list"`
13576
13577	// The pagination token that's included if more results are available.
13578	NextMarker *string `type:"string"`
13579}
13580
13581// String returns the string representation.
13582//
13583// API parameter values that are decorated as "sensitive" in the API will not
13584// be included in the string output. The member name will be present, but the
13585// value will be replaced with "sensitive".
13586func (s ListAliasesOutput) String() string {
13587	return awsutil.Prettify(s)
13588}
13589
13590// GoString returns the string representation.
13591//
13592// API parameter values that are decorated as "sensitive" in the API will not
13593// be included in the string output. The member name will be present, but the
13594// value will be replaced with "sensitive".
13595func (s ListAliasesOutput) GoString() string {
13596	return s.String()
13597}
13598
13599// SetAliases sets the Aliases field's value.
13600func (s *ListAliasesOutput) SetAliases(v []*AliasConfiguration) *ListAliasesOutput {
13601	s.Aliases = v
13602	return s
13603}
13604
13605// SetNextMarker sets the NextMarker field's value.
13606func (s *ListAliasesOutput) SetNextMarker(v string) *ListAliasesOutput {
13607	s.NextMarker = &v
13608	return s
13609}
13610
13611type ListCodeSigningConfigsInput struct {
13612	_ struct{} `type:"structure" nopayload:"true"`
13613
13614	// Specify the pagination token that's returned by a previous request to retrieve
13615	// the next page of results.
13616	Marker *string `location:"querystring" locationName:"Marker" type:"string"`
13617
13618	// Maximum number of items to return.
13619	MaxItems *int64 `location:"querystring" locationName:"MaxItems" min:"1" type:"integer"`
13620}
13621
13622// String returns the string representation.
13623//
13624// API parameter values that are decorated as "sensitive" in the API will not
13625// be included in the string output. The member name will be present, but the
13626// value will be replaced with "sensitive".
13627func (s ListCodeSigningConfigsInput) String() string {
13628	return awsutil.Prettify(s)
13629}
13630
13631// GoString returns the string representation.
13632//
13633// API parameter values that are decorated as "sensitive" in the API will not
13634// be included in the string output. The member name will be present, but the
13635// value will be replaced with "sensitive".
13636func (s ListCodeSigningConfigsInput) GoString() string {
13637	return s.String()
13638}
13639
13640// Validate inspects the fields of the type to determine if they are valid.
13641func (s *ListCodeSigningConfigsInput) Validate() error {
13642	invalidParams := request.ErrInvalidParams{Context: "ListCodeSigningConfigsInput"}
13643	if s.MaxItems != nil && *s.MaxItems < 1 {
13644		invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1))
13645	}
13646
13647	if invalidParams.Len() > 0 {
13648		return invalidParams
13649	}
13650	return nil
13651}
13652
13653// SetMarker sets the Marker field's value.
13654func (s *ListCodeSigningConfigsInput) SetMarker(v string) *ListCodeSigningConfigsInput {
13655	s.Marker = &v
13656	return s
13657}
13658
13659// SetMaxItems sets the MaxItems field's value.
13660func (s *ListCodeSigningConfigsInput) SetMaxItems(v int64) *ListCodeSigningConfigsInput {
13661	s.MaxItems = &v
13662	return s
13663}
13664
13665type ListCodeSigningConfigsOutput struct {
13666	_ struct{} `type:"structure"`
13667
13668	// The code signing configurations
13669	CodeSigningConfigs []*CodeSigningConfig `type:"list"`
13670
13671	// The pagination token that's included if more results are available.
13672	NextMarker *string `type:"string"`
13673}
13674
13675// String returns the string representation.
13676//
13677// API parameter values that are decorated as "sensitive" in the API will not
13678// be included in the string output. The member name will be present, but the
13679// value will be replaced with "sensitive".
13680func (s ListCodeSigningConfigsOutput) String() string {
13681	return awsutil.Prettify(s)
13682}
13683
13684// GoString returns the string representation.
13685//
13686// API parameter values that are decorated as "sensitive" in the API will not
13687// be included in the string output. The member name will be present, but the
13688// value will be replaced with "sensitive".
13689func (s ListCodeSigningConfigsOutput) GoString() string {
13690	return s.String()
13691}
13692
13693// SetCodeSigningConfigs sets the CodeSigningConfigs field's value.
13694func (s *ListCodeSigningConfigsOutput) SetCodeSigningConfigs(v []*CodeSigningConfig) *ListCodeSigningConfigsOutput {
13695	s.CodeSigningConfigs = v
13696	return s
13697}
13698
13699// SetNextMarker sets the NextMarker field's value.
13700func (s *ListCodeSigningConfigsOutput) SetNextMarker(v string) *ListCodeSigningConfigsOutput {
13701	s.NextMarker = &v
13702	return s
13703}
13704
13705type ListEventSourceMappingsInput struct {
13706	_ struct{} `type:"structure" nopayload:"true"`
13707
13708	// The Amazon Resource Name (ARN) of the event source.
13709	//
13710	//    * Amazon Kinesis - The ARN of the data stream or a stream consumer.
13711	//
13712	//    * Amazon DynamoDB Streams - The ARN of the stream.
13713	//
13714	//    * Amazon Simple Queue Service - The ARN of the queue.
13715	//
13716	//    * Amazon Managed Streaming for Apache Kafka - The ARN of the cluster.
13717	EventSourceArn *string `location:"querystring" locationName:"EventSourceArn" type:"string"`
13718
13719	// The name of the Lambda function.
13720	//
13721	// Name formats
13722	//
13723	//    * Function name - MyFunction.
13724	//
13725	//    * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.
13726	//
13727	//    * Version or Alias ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction:PROD.
13728	//
13729	//    * Partial ARN - 123456789012:function:MyFunction.
13730	//
13731	// The length constraint applies only to the full ARN. If you specify only the
13732	// function name, it's limited to 64 characters in length.
13733	FunctionName *string `location:"querystring" locationName:"FunctionName" min:"1" type:"string"`
13734
13735	// A pagination token returned by a previous call.
13736	Marker *string `location:"querystring" locationName:"Marker" type:"string"`
13737
13738	// The maximum number of event source mappings to return. Note that ListEventSourceMappings
13739	// returns a maximum of 100 items in each response, even if you set the number
13740	// higher.
13741	MaxItems *int64 `location:"querystring" locationName:"MaxItems" min:"1" type:"integer"`
13742}
13743
13744// String returns the string representation.
13745//
13746// API parameter values that are decorated as "sensitive" in the API will not
13747// be included in the string output. The member name will be present, but the
13748// value will be replaced with "sensitive".
13749func (s ListEventSourceMappingsInput) String() string {
13750	return awsutil.Prettify(s)
13751}
13752
13753// GoString returns the string representation.
13754//
13755// API parameter values that are decorated as "sensitive" in the API will not
13756// be included in the string output. The member name will be present, but the
13757// value will be replaced with "sensitive".
13758func (s ListEventSourceMappingsInput) GoString() string {
13759	return s.String()
13760}
13761
13762// Validate inspects the fields of the type to determine if they are valid.
13763func (s *ListEventSourceMappingsInput) Validate() error {
13764	invalidParams := request.ErrInvalidParams{Context: "ListEventSourceMappingsInput"}
13765	if s.FunctionName != nil && len(*s.FunctionName) < 1 {
13766		invalidParams.Add(request.NewErrParamMinLen("FunctionName", 1))
13767	}
13768	if s.MaxItems != nil && *s.MaxItems < 1 {
13769		invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1))
13770	}
13771
13772	if invalidParams.Len() > 0 {
13773		return invalidParams
13774	}
13775	return nil
13776}
13777
13778// SetEventSourceArn sets the EventSourceArn field's value.
13779func (s *ListEventSourceMappingsInput) SetEventSourceArn(v string) *ListEventSourceMappingsInput {
13780	s.EventSourceArn = &v
13781	return s
13782}
13783
13784// SetFunctionName sets the FunctionName field's value.
13785func (s *ListEventSourceMappingsInput) SetFunctionName(v string) *ListEventSourceMappingsInput {
13786	s.FunctionName = &v
13787	return s
13788}
13789
13790// SetMarker sets the Marker field's value.
13791func (s *ListEventSourceMappingsInput) SetMarker(v string) *ListEventSourceMappingsInput {
13792	s.Marker = &v
13793	return s
13794}
13795
13796// SetMaxItems sets the MaxItems field's value.
13797func (s *ListEventSourceMappingsInput) SetMaxItems(v int64) *ListEventSourceMappingsInput {
13798	s.MaxItems = &v
13799	return s
13800}
13801
13802type ListEventSourceMappingsOutput struct {
13803	_ struct{} `type:"structure"`
13804
13805	// A list of event source mappings.
13806	EventSourceMappings []*EventSourceMappingConfiguration `type:"list"`
13807
13808	// A pagination token that's returned when the response doesn't contain all
13809	// event source mappings.
13810	NextMarker *string `type:"string"`
13811}
13812
13813// String returns the string representation.
13814//
13815// API parameter values that are decorated as "sensitive" in the API will not
13816// be included in the string output. The member name will be present, but the
13817// value will be replaced with "sensitive".
13818func (s ListEventSourceMappingsOutput) String() string {
13819	return awsutil.Prettify(s)
13820}
13821
13822// GoString returns the string representation.
13823//
13824// API parameter values that are decorated as "sensitive" in the API will not
13825// be included in the string output. The member name will be present, but the
13826// value will be replaced with "sensitive".
13827func (s ListEventSourceMappingsOutput) GoString() string {
13828	return s.String()
13829}
13830
13831// SetEventSourceMappings sets the EventSourceMappings field's value.
13832func (s *ListEventSourceMappingsOutput) SetEventSourceMappings(v []*EventSourceMappingConfiguration) *ListEventSourceMappingsOutput {
13833	s.EventSourceMappings = v
13834	return s
13835}
13836
13837// SetNextMarker sets the NextMarker field's value.
13838func (s *ListEventSourceMappingsOutput) SetNextMarker(v string) *ListEventSourceMappingsOutput {
13839	s.NextMarker = &v
13840	return s
13841}
13842
13843type ListFunctionEventInvokeConfigsInput struct {
13844	_ struct{} `type:"structure" nopayload:"true"`
13845
13846	// The name of the Lambda function.
13847	//
13848	// Name formats
13849	//
13850	//    * Function name - my-function.
13851	//
13852	//    * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.
13853	//
13854	//    * Partial ARN - 123456789012:function:my-function.
13855	//
13856	// The length constraint applies only to the full ARN. If you specify only the
13857	// function name, it is limited to 64 characters in length.
13858	//
13859	// FunctionName is a required field
13860	FunctionName *string `location:"uri" locationName:"FunctionName" min:"1" type:"string" required:"true"`
13861
13862	// Specify the pagination token that's returned by a previous request to retrieve
13863	// the next page of results.
13864	Marker *string `location:"querystring" locationName:"Marker" type:"string"`
13865
13866	// The maximum number of configurations to return.
13867	MaxItems *int64 `location:"querystring" locationName:"MaxItems" min:"1" type:"integer"`
13868}
13869
13870// String returns the string representation.
13871//
13872// API parameter values that are decorated as "sensitive" in the API will not
13873// be included in the string output. The member name will be present, but the
13874// value will be replaced with "sensitive".
13875func (s ListFunctionEventInvokeConfigsInput) String() string {
13876	return awsutil.Prettify(s)
13877}
13878
13879// GoString returns the string representation.
13880//
13881// API parameter values that are decorated as "sensitive" in the API will not
13882// be included in the string output. The member name will be present, but the
13883// value will be replaced with "sensitive".
13884func (s ListFunctionEventInvokeConfigsInput) GoString() string {
13885	return s.String()
13886}
13887
13888// Validate inspects the fields of the type to determine if they are valid.
13889func (s *ListFunctionEventInvokeConfigsInput) Validate() error {
13890	invalidParams := request.ErrInvalidParams{Context: "ListFunctionEventInvokeConfigsInput"}
13891	if s.FunctionName == nil {
13892		invalidParams.Add(request.NewErrParamRequired("FunctionName"))
13893	}
13894	if s.FunctionName != nil && len(*s.FunctionName) < 1 {
13895		invalidParams.Add(request.NewErrParamMinLen("FunctionName", 1))
13896	}
13897	if s.MaxItems != nil && *s.MaxItems < 1 {
13898		invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1))
13899	}
13900
13901	if invalidParams.Len() > 0 {
13902		return invalidParams
13903	}
13904	return nil
13905}
13906
13907// SetFunctionName sets the FunctionName field's value.
13908func (s *ListFunctionEventInvokeConfigsInput) SetFunctionName(v string) *ListFunctionEventInvokeConfigsInput {
13909	s.FunctionName = &v
13910	return s
13911}
13912
13913// SetMarker sets the Marker field's value.
13914func (s *ListFunctionEventInvokeConfigsInput) SetMarker(v string) *ListFunctionEventInvokeConfigsInput {
13915	s.Marker = &v
13916	return s
13917}
13918
13919// SetMaxItems sets the MaxItems field's value.
13920func (s *ListFunctionEventInvokeConfigsInput) SetMaxItems(v int64) *ListFunctionEventInvokeConfigsInput {
13921	s.MaxItems = &v
13922	return s
13923}
13924
13925type ListFunctionEventInvokeConfigsOutput struct {
13926	_ struct{} `type:"structure"`
13927
13928	// A list of configurations.
13929	FunctionEventInvokeConfigs []*FunctionEventInvokeConfig `type:"list"`
13930
13931	// The pagination token that's included if more results are available.
13932	NextMarker *string `type:"string"`
13933}
13934
13935// String returns the string representation.
13936//
13937// API parameter values that are decorated as "sensitive" in the API will not
13938// be included in the string output. The member name will be present, but the
13939// value will be replaced with "sensitive".
13940func (s ListFunctionEventInvokeConfigsOutput) String() string {
13941	return awsutil.Prettify(s)
13942}
13943
13944// GoString returns the string representation.
13945//
13946// API parameter values that are decorated as "sensitive" in the API will not
13947// be included in the string output. The member name will be present, but the
13948// value will be replaced with "sensitive".
13949func (s ListFunctionEventInvokeConfigsOutput) GoString() string {
13950	return s.String()
13951}
13952
13953// SetFunctionEventInvokeConfigs sets the FunctionEventInvokeConfigs field's value.
13954func (s *ListFunctionEventInvokeConfigsOutput) SetFunctionEventInvokeConfigs(v []*FunctionEventInvokeConfig) *ListFunctionEventInvokeConfigsOutput {
13955	s.FunctionEventInvokeConfigs = v
13956	return s
13957}
13958
13959// SetNextMarker sets the NextMarker field's value.
13960func (s *ListFunctionEventInvokeConfigsOutput) SetNextMarker(v string) *ListFunctionEventInvokeConfigsOutput {
13961	s.NextMarker = &v
13962	return s
13963}
13964
13965type ListFunctionsByCodeSigningConfigInput struct {
13966	_ struct{} `type:"structure" nopayload:"true"`
13967
13968	// The The Amazon Resource Name (ARN) of the code signing configuration.
13969	//
13970	// CodeSigningConfigArn is a required field
13971	CodeSigningConfigArn *string `location:"uri" locationName:"CodeSigningConfigArn" type:"string" required:"true"`
13972
13973	// Specify the pagination token that's returned by a previous request to retrieve
13974	// the next page of results.
13975	Marker *string `location:"querystring" locationName:"Marker" type:"string"`
13976
13977	// Maximum number of items to return.
13978	MaxItems *int64 `location:"querystring" locationName:"MaxItems" min:"1" type:"integer"`
13979}
13980
13981// String returns the string representation.
13982//
13983// API parameter values that are decorated as "sensitive" in the API will not
13984// be included in the string output. The member name will be present, but the
13985// value will be replaced with "sensitive".
13986func (s ListFunctionsByCodeSigningConfigInput) String() string {
13987	return awsutil.Prettify(s)
13988}
13989
13990// GoString returns the string representation.
13991//
13992// API parameter values that are decorated as "sensitive" in the API will not
13993// be included in the string output. The member name will be present, but the
13994// value will be replaced with "sensitive".
13995func (s ListFunctionsByCodeSigningConfigInput) GoString() string {
13996	return s.String()
13997}
13998
13999// Validate inspects the fields of the type to determine if they are valid.
14000func (s *ListFunctionsByCodeSigningConfigInput) Validate() error {
14001	invalidParams := request.ErrInvalidParams{Context: "ListFunctionsByCodeSigningConfigInput"}
14002	if s.CodeSigningConfigArn == nil {
14003		invalidParams.Add(request.NewErrParamRequired("CodeSigningConfigArn"))
14004	}
14005	if s.CodeSigningConfigArn != nil && len(*s.CodeSigningConfigArn) < 1 {
14006		invalidParams.Add(request.NewErrParamMinLen("CodeSigningConfigArn", 1))
14007	}
14008	if s.MaxItems != nil && *s.MaxItems < 1 {
14009		invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1))
14010	}
14011
14012	if invalidParams.Len() > 0 {
14013		return invalidParams
14014	}
14015	return nil
14016}
14017
14018// SetCodeSigningConfigArn sets the CodeSigningConfigArn field's value.
14019func (s *ListFunctionsByCodeSigningConfigInput) SetCodeSigningConfigArn(v string) *ListFunctionsByCodeSigningConfigInput {
14020	s.CodeSigningConfigArn = &v
14021	return s
14022}
14023
14024// SetMarker sets the Marker field's value.
14025func (s *ListFunctionsByCodeSigningConfigInput) SetMarker(v string) *ListFunctionsByCodeSigningConfigInput {
14026	s.Marker = &v
14027	return s
14028}
14029
14030// SetMaxItems sets the MaxItems field's value.
14031func (s *ListFunctionsByCodeSigningConfigInput) SetMaxItems(v int64) *ListFunctionsByCodeSigningConfigInput {
14032	s.MaxItems = &v
14033	return s
14034}
14035
14036type ListFunctionsByCodeSigningConfigOutput struct {
14037	_ struct{} `type:"structure"`
14038
14039	// The function ARNs.
14040	FunctionArns []*string `type:"list"`
14041
14042	// The pagination token that's included if more results are available.
14043	NextMarker *string `type:"string"`
14044}
14045
14046// String returns the string representation.
14047//
14048// API parameter values that are decorated as "sensitive" in the API will not
14049// be included in the string output. The member name will be present, but the
14050// value will be replaced with "sensitive".
14051func (s ListFunctionsByCodeSigningConfigOutput) String() string {
14052	return awsutil.Prettify(s)
14053}
14054
14055// GoString returns the string representation.
14056//
14057// API parameter values that are decorated as "sensitive" in the API will not
14058// be included in the string output. The member name will be present, but the
14059// value will be replaced with "sensitive".
14060func (s ListFunctionsByCodeSigningConfigOutput) GoString() string {
14061	return s.String()
14062}
14063
14064// SetFunctionArns sets the FunctionArns field's value.
14065func (s *ListFunctionsByCodeSigningConfigOutput) SetFunctionArns(v []*string) *ListFunctionsByCodeSigningConfigOutput {
14066	s.FunctionArns = v
14067	return s
14068}
14069
14070// SetNextMarker sets the NextMarker field's value.
14071func (s *ListFunctionsByCodeSigningConfigOutput) SetNextMarker(v string) *ListFunctionsByCodeSigningConfigOutput {
14072	s.NextMarker = &v
14073	return s
14074}
14075
14076type ListFunctionsInput struct {
14077	_ struct{} `type:"structure" nopayload:"true"`
14078
14079	// Set to ALL to include entries for all published versions of each function.
14080	FunctionVersion *string `location:"querystring" locationName:"FunctionVersion" type:"string" enum:"FunctionVersion"`
14081
14082	// Specify the pagination token that's returned by a previous request to retrieve
14083	// the next page of results.
14084	Marker *string `location:"querystring" locationName:"Marker" type:"string"`
14085
14086	// For Lambda@Edge functions, the Amazon Web Services Region of the master function.
14087	// For example, us-east-1 filters the list of functions to only include Lambda@Edge
14088	// functions replicated from a master function in US East (N. Virginia). If
14089	// specified, you must set FunctionVersion to ALL.
14090	MasterRegion *string `location:"querystring" locationName:"MasterRegion" type:"string"`
14091
14092	// The maximum number of functions to return in the response. Note that ListFunctions
14093	// returns a maximum of 50 items in each response, even if you set the number
14094	// higher.
14095	MaxItems *int64 `location:"querystring" locationName:"MaxItems" min:"1" type:"integer"`
14096}
14097
14098// String returns the string representation.
14099//
14100// API parameter values that are decorated as "sensitive" in the API will not
14101// be included in the string output. The member name will be present, but the
14102// value will be replaced with "sensitive".
14103func (s ListFunctionsInput) String() string {
14104	return awsutil.Prettify(s)
14105}
14106
14107// GoString returns the string representation.
14108//
14109// API parameter values that are decorated as "sensitive" in the API will not
14110// be included in the string output. The member name will be present, but the
14111// value will be replaced with "sensitive".
14112func (s ListFunctionsInput) GoString() string {
14113	return s.String()
14114}
14115
14116// Validate inspects the fields of the type to determine if they are valid.
14117func (s *ListFunctionsInput) Validate() error {
14118	invalidParams := request.ErrInvalidParams{Context: "ListFunctionsInput"}
14119	if s.MaxItems != nil && *s.MaxItems < 1 {
14120		invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1))
14121	}
14122
14123	if invalidParams.Len() > 0 {
14124		return invalidParams
14125	}
14126	return nil
14127}
14128
14129// SetFunctionVersion sets the FunctionVersion field's value.
14130func (s *ListFunctionsInput) SetFunctionVersion(v string) *ListFunctionsInput {
14131	s.FunctionVersion = &v
14132	return s
14133}
14134
14135// SetMarker sets the Marker field's value.
14136func (s *ListFunctionsInput) SetMarker(v string) *ListFunctionsInput {
14137	s.Marker = &v
14138	return s
14139}
14140
14141// SetMasterRegion sets the MasterRegion field's value.
14142func (s *ListFunctionsInput) SetMasterRegion(v string) *ListFunctionsInput {
14143	s.MasterRegion = &v
14144	return s
14145}
14146
14147// SetMaxItems sets the MaxItems field's value.
14148func (s *ListFunctionsInput) SetMaxItems(v int64) *ListFunctionsInput {
14149	s.MaxItems = &v
14150	return s
14151}
14152
14153// A list of Lambda functions.
14154type ListFunctionsOutput struct {
14155	_ struct{} `type:"structure"`
14156
14157	// A list of Lambda functions.
14158	Functions []*FunctionConfiguration `type:"list"`
14159
14160	// The pagination token that's included if more results are available.
14161	NextMarker *string `type:"string"`
14162}
14163
14164// String returns the string representation.
14165//
14166// API parameter values that are decorated as "sensitive" in the API will not
14167// be included in the string output. The member name will be present, but the
14168// value will be replaced with "sensitive".
14169func (s ListFunctionsOutput) String() string {
14170	return awsutil.Prettify(s)
14171}
14172
14173// GoString returns the string representation.
14174//
14175// API parameter values that are decorated as "sensitive" in the API will not
14176// be included in the string output. The member name will be present, but the
14177// value will be replaced with "sensitive".
14178func (s ListFunctionsOutput) GoString() string {
14179	return s.String()
14180}
14181
14182// SetFunctions sets the Functions field's value.
14183func (s *ListFunctionsOutput) SetFunctions(v []*FunctionConfiguration) *ListFunctionsOutput {
14184	s.Functions = v
14185	return s
14186}
14187
14188// SetNextMarker sets the NextMarker field's value.
14189func (s *ListFunctionsOutput) SetNextMarker(v string) *ListFunctionsOutput {
14190	s.NextMarker = &v
14191	return s
14192}
14193
14194type ListLayerVersionsInput struct {
14195	_ struct{} `type:"structure" nopayload:"true"`
14196
14197	// The compatible instruction set architecture (https://docs.aws.amazon.com/lambda/latest/dg/foundation-arch.html).
14198	CompatibleArchitecture *string `location:"querystring" locationName:"CompatibleArchitecture" type:"string" enum:"Architecture"`
14199
14200	// A runtime identifier. For example, go1.x.
14201	CompatibleRuntime *string `location:"querystring" locationName:"CompatibleRuntime" type:"string" enum:"Runtime"`
14202
14203	// The name or Amazon Resource Name (ARN) of the layer.
14204	//
14205	// LayerName is a required field
14206	LayerName *string `location:"uri" locationName:"LayerName" min:"1" type:"string" required:"true"`
14207
14208	// A pagination token returned by a previous call.
14209	Marker *string `location:"querystring" locationName:"Marker" type:"string"`
14210
14211	// The maximum number of versions to return.
14212	MaxItems *int64 `location:"querystring" locationName:"MaxItems" min:"1" type:"integer"`
14213}
14214
14215// String returns the string representation.
14216//
14217// API parameter values that are decorated as "sensitive" in the API will not
14218// be included in the string output. The member name will be present, but the
14219// value will be replaced with "sensitive".
14220func (s ListLayerVersionsInput) String() string {
14221	return awsutil.Prettify(s)
14222}
14223
14224// GoString returns the string representation.
14225//
14226// API parameter values that are decorated as "sensitive" in the API will not
14227// be included in the string output. The member name will be present, but the
14228// value will be replaced with "sensitive".
14229func (s ListLayerVersionsInput) GoString() string {
14230	return s.String()
14231}
14232
14233// Validate inspects the fields of the type to determine if they are valid.
14234func (s *ListLayerVersionsInput) Validate() error {
14235	invalidParams := request.ErrInvalidParams{Context: "ListLayerVersionsInput"}
14236	if s.LayerName == nil {
14237		invalidParams.Add(request.NewErrParamRequired("LayerName"))
14238	}
14239	if s.LayerName != nil && len(*s.LayerName) < 1 {
14240		invalidParams.Add(request.NewErrParamMinLen("LayerName", 1))
14241	}
14242	if s.MaxItems != nil && *s.MaxItems < 1 {
14243		invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1))
14244	}
14245
14246	if invalidParams.Len() > 0 {
14247		return invalidParams
14248	}
14249	return nil
14250}
14251
14252// SetCompatibleArchitecture sets the CompatibleArchitecture field's value.
14253func (s *ListLayerVersionsInput) SetCompatibleArchitecture(v string) *ListLayerVersionsInput {
14254	s.CompatibleArchitecture = &v
14255	return s
14256}
14257
14258// SetCompatibleRuntime sets the CompatibleRuntime field's value.
14259func (s *ListLayerVersionsInput) SetCompatibleRuntime(v string) *ListLayerVersionsInput {
14260	s.CompatibleRuntime = &v
14261	return s
14262}
14263
14264// SetLayerName sets the LayerName field's value.
14265func (s *ListLayerVersionsInput) SetLayerName(v string) *ListLayerVersionsInput {
14266	s.LayerName = &v
14267	return s
14268}
14269
14270// SetMarker sets the Marker field's value.
14271func (s *ListLayerVersionsInput) SetMarker(v string) *ListLayerVersionsInput {
14272	s.Marker = &v
14273	return s
14274}
14275
14276// SetMaxItems sets the MaxItems field's value.
14277func (s *ListLayerVersionsInput) SetMaxItems(v int64) *ListLayerVersionsInput {
14278	s.MaxItems = &v
14279	return s
14280}
14281
14282type ListLayerVersionsOutput struct {
14283	_ struct{} `type:"structure"`
14284
14285	// A list of versions.
14286	LayerVersions []*LayerVersionsListItem `type:"list"`
14287
14288	// A pagination token returned when the response doesn't contain all versions.
14289	NextMarker *string `type:"string"`
14290}
14291
14292// String returns the string representation.
14293//
14294// API parameter values that are decorated as "sensitive" in the API will not
14295// be included in the string output. The member name will be present, but the
14296// value will be replaced with "sensitive".
14297func (s ListLayerVersionsOutput) String() string {
14298	return awsutil.Prettify(s)
14299}
14300
14301// GoString returns the string representation.
14302//
14303// API parameter values that are decorated as "sensitive" in the API will not
14304// be included in the string output. The member name will be present, but the
14305// value will be replaced with "sensitive".
14306func (s ListLayerVersionsOutput) GoString() string {
14307	return s.String()
14308}
14309
14310// SetLayerVersions sets the LayerVersions field's value.
14311func (s *ListLayerVersionsOutput) SetLayerVersions(v []*LayerVersionsListItem) *ListLayerVersionsOutput {
14312	s.LayerVersions = v
14313	return s
14314}
14315
14316// SetNextMarker sets the NextMarker field's value.
14317func (s *ListLayerVersionsOutput) SetNextMarker(v string) *ListLayerVersionsOutput {
14318	s.NextMarker = &v
14319	return s
14320}
14321
14322type ListLayersInput struct {
14323	_ struct{} `type:"structure" nopayload:"true"`
14324
14325	// The compatible instruction set architecture (https://docs.aws.amazon.com/lambda/latest/dg/foundation-arch.html).
14326	CompatibleArchitecture *string `location:"querystring" locationName:"CompatibleArchitecture" type:"string" enum:"Architecture"`
14327
14328	// A runtime identifier. For example, go1.x.
14329	CompatibleRuntime *string `location:"querystring" locationName:"CompatibleRuntime" type:"string" enum:"Runtime"`
14330
14331	// A pagination token returned by a previous call.
14332	Marker *string `location:"querystring" locationName:"Marker" type:"string"`
14333
14334	// The maximum number of layers to return.
14335	MaxItems *int64 `location:"querystring" locationName:"MaxItems" min:"1" type:"integer"`
14336}
14337
14338// String returns the string representation.
14339//
14340// API parameter values that are decorated as "sensitive" in the API will not
14341// be included in the string output. The member name will be present, but the
14342// value will be replaced with "sensitive".
14343func (s ListLayersInput) String() string {
14344	return awsutil.Prettify(s)
14345}
14346
14347// GoString returns the string representation.
14348//
14349// API parameter values that are decorated as "sensitive" in the API will not
14350// be included in the string output. The member name will be present, but the
14351// value will be replaced with "sensitive".
14352func (s ListLayersInput) GoString() string {
14353	return s.String()
14354}
14355
14356// Validate inspects the fields of the type to determine if they are valid.
14357func (s *ListLayersInput) Validate() error {
14358	invalidParams := request.ErrInvalidParams{Context: "ListLayersInput"}
14359	if s.MaxItems != nil && *s.MaxItems < 1 {
14360		invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1))
14361	}
14362
14363	if invalidParams.Len() > 0 {
14364		return invalidParams
14365	}
14366	return nil
14367}
14368
14369// SetCompatibleArchitecture sets the CompatibleArchitecture field's value.
14370func (s *ListLayersInput) SetCompatibleArchitecture(v string) *ListLayersInput {
14371	s.CompatibleArchitecture = &v
14372	return s
14373}
14374
14375// SetCompatibleRuntime sets the CompatibleRuntime field's value.
14376func (s *ListLayersInput) SetCompatibleRuntime(v string) *ListLayersInput {
14377	s.CompatibleRuntime = &v
14378	return s
14379}
14380
14381// SetMarker sets the Marker field's value.
14382func (s *ListLayersInput) SetMarker(v string) *ListLayersInput {
14383	s.Marker = &v
14384	return s
14385}
14386
14387// SetMaxItems sets the MaxItems field's value.
14388func (s *ListLayersInput) SetMaxItems(v int64) *ListLayersInput {
14389	s.MaxItems = &v
14390	return s
14391}
14392
14393type ListLayersOutput struct {
14394	_ struct{} `type:"structure"`
14395
14396	// A list of function layers.
14397	Layers []*LayersListItem `type:"list"`
14398
14399	// A pagination token returned when the response doesn't contain all layers.
14400	NextMarker *string `type:"string"`
14401}
14402
14403// String returns the string representation.
14404//
14405// API parameter values that are decorated as "sensitive" in the API will not
14406// be included in the string output. The member name will be present, but the
14407// value will be replaced with "sensitive".
14408func (s ListLayersOutput) String() string {
14409	return awsutil.Prettify(s)
14410}
14411
14412// GoString returns the string representation.
14413//
14414// API parameter values that are decorated as "sensitive" in the API will not
14415// be included in the string output. The member name will be present, but the
14416// value will be replaced with "sensitive".
14417func (s ListLayersOutput) GoString() string {
14418	return s.String()
14419}
14420
14421// SetLayers sets the Layers field's value.
14422func (s *ListLayersOutput) SetLayers(v []*LayersListItem) *ListLayersOutput {
14423	s.Layers = v
14424	return s
14425}
14426
14427// SetNextMarker sets the NextMarker field's value.
14428func (s *ListLayersOutput) SetNextMarker(v string) *ListLayersOutput {
14429	s.NextMarker = &v
14430	return s
14431}
14432
14433type ListProvisionedConcurrencyConfigsInput struct {
14434	_ struct{} `type:"structure" nopayload:"true"`
14435
14436	// The name of the Lambda function.
14437	//
14438	// Name formats
14439	//
14440	//    * Function name - my-function.
14441	//
14442	//    * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.
14443	//
14444	//    * Partial ARN - 123456789012:function:my-function.
14445	//
14446	// The length constraint applies only to the full ARN. If you specify only the
14447	// function name, it is limited to 64 characters in length.
14448	//
14449	// FunctionName is a required field
14450	FunctionName *string `location:"uri" locationName:"FunctionName" min:"1" type:"string" required:"true"`
14451
14452	// Specify the pagination token that's returned by a previous request to retrieve
14453	// the next page of results.
14454	Marker *string `location:"querystring" locationName:"Marker" type:"string"`
14455
14456	// Specify a number to limit the number of configurations returned.
14457	MaxItems *int64 `location:"querystring" locationName:"MaxItems" min:"1" type:"integer"`
14458}
14459
14460// String returns the string representation.
14461//
14462// API parameter values that are decorated as "sensitive" in the API will not
14463// be included in the string output. The member name will be present, but the
14464// value will be replaced with "sensitive".
14465func (s ListProvisionedConcurrencyConfigsInput) String() string {
14466	return awsutil.Prettify(s)
14467}
14468
14469// GoString returns the string representation.
14470//
14471// API parameter values that are decorated as "sensitive" in the API will not
14472// be included in the string output. The member name will be present, but the
14473// value will be replaced with "sensitive".
14474func (s ListProvisionedConcurrencyConfigsInput) GoString() string {
14475	return s.String()
14476}
14477
14478// Validate inspects the fields of the type to determine if they are valid.
14479func (s *ListProvisionedConcurrencyConfigsInput) Validate() error {
14480	invalidParams := request.ErrInvalidParams{Context: "ListProvisionedConcurrencyConfigsInput"}
14481	if s.FunctionName == nil {
14482		invalidParams.Add(request.NewErrParamRequired("FunctionName"))
14483	}
14484	if s.FunctionName != nil && len(*s.FunctionName) < 1 {
14485		invalidParams.Add(request.NewErrParamMinLen("FunctionName", 1))
14486	}
14487	if s.MaxItems != nil && *s.MaxItems < 1 {
14488		invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1))
14489	}
14490
14491	if invalidParams.Len() > 0 {
14492		return invalidParams
14493	}
14494	return nil
14495}
14496
14497// SetFunctionName sets the FunctionName field's value.
14498func (s *ListProvisionedConcurrencyConfigsInput) SetFunctionName(v string) *ListProvisionedConcurrencyConfigsInput {
14499	s.FunctionName = &v
14500	return s
14501}
14502
14503// SetMarker sets the Marker field's value.
14504func (s *ListProvisionedConcurrencyConfigsInput) SetMarker(v string) *ListProvisionedConcurrencyConfigsInput {
14505	s.Marker = &v
14506	return s
14507}
14508
14509// SetMaxItems sets the MaxItems field's value.
14510func (s *ListProvisionedConcurrencyConfigsInput) SetMaxItems(v int64) *ListProvisionedConcurrencyConfigsInput {
14511	s.MaxItems = &v
14512	return s
14513}
14514
14515type ListProvisionedConcurrencyConfigsOutput struct {
14516	_ struct{} `type:"structure"`
14517
14518	// The pagination token that's included if more results are available.
14519	NextMarker *string `type:"string"`
14520
14521	// A list of provisioned concurrency configurations.
14522	ProvisionedConcurrencyConfigs []*ProvisionedConcurrencyConfigListItem `type:"list"`
14523}
14524
14525// String returns the string representation.
14526//
14527// API parameter values that are decorated as "sensitive" in the API will not
14528// be included in the string output. The member name will be present, but the
14529// value will be replaced with "sensitive".
14530func (s ListProvisionedConcurrencyConfigsOutput) String() string {
14531	return awsutil.Prettify(s)
14532}
14533
14534// GoString returns the string representation.
14535//
14536// API parameter values that are decorated as "sensitive" in the API will not
14537// be included in the string output. The member name will be present, but the
14538// value will be replaced with "sensitive".
14539func (s ListProvisionedConcurrencyConfigsOutput) GoString() string {
14540	return s.String()
14541}
14542
14543// SetNextMarker sets the NextMarker field's value.
14544func (s *ListProvisionedConcurrencyConfigsOutput) SetNextMarker(v string) *ListProvisionedConcurrencyConfigsOutput {
14545	s.NextMarker = &v
14546	return s
14547}
14548
14549// SetProvisionedConcurrencyConfigs sets the ProvisionedConcurrencyConfigs field's value.
14550func (s *ListProvisionedConcurrencyConfigsOutput) SetProvisionedConcurrencyConfigs(v []*ProvisionedConcurrencyConfigListItem) *ListProvisionedConcurrencyConfigsOutput {
14551	s.ProvisionedConcurrencyConfigs = v
14552	return s
14553}
14554
14555type ListTagsInput struct {
14556	_ struct{} `type:"structure" nopayload:"true"`
14557
14558	// The function's Amazon Resource Name (ARN). Note: Lambda does not support
14559	// adding tags to aliases or versions.
14560	//
14561	// Resource is a required field
14562	Resource *string `location:"uri" locationName:"ARN" type:"string" required:"true"`
14563}
14564
14565// String returns the string representation.
14566//
14567// API parameter values that are decorated as "sensitive" in the API will not
14568// be included in the string output. The member name will be present, but the
14569// value will be replaced with "sensitive".
14570func (s ListTagsInput) String() string {
14571	return awsutil.Prettify(s)
14572}
14573
14574// GoString returns the string representation.
14575//
14576// API parameter values that are decorated as "sensitive" in the API will not
14577// be included in the string output. The member name will be present, but the
14578// value will be replaced with "sensitive".
14579func (s ListTagsInput) GoString() string {
14580	return s.String()
14581}
14582
14583// Validate inspects the fields of the type to determine if they are valid.
14584func (s *ListTagsInput) Validate() error {
14585	invalidParams := request.ErrInvalidParams{Context: "ListTagsInput"}
14586	if s.Resource == nil {
14587		invalidParams.Add(request.NewErrParamRequired("Resource"))
14588	}
14589	if s.Resource != nil && len(*s.Resource) < 1 {
14590		invalidParams.Add(request.NewErrParamMinLen("Resource", 1))
14591	}
14592
14593	if invalidParams.Len() > 0 {
14594		return invalidParams
14595	}
14596	return nil
14597}
14598
14599// SetResource sets the Resource field's value.
14600func (s *ListTagsInput) SetResource(v string) *ListTagsInput {
14601	s.Resource = &v
14602	return s
14603}
14604
14605type ListTagsOutput struct {
14606	_ struct{} `type:"structure"`
14607
14608	// The function's tags.
14609	Tags map[string]*string `type:"map"`
14610}
14611
14612// String returns the string representation.
14613//
14614// API parameter values that are decorated as "sensitive" in the API will not
14615// be included in the string output. The member name will be present, but the
14616// value will be replaced with "sensitive".
14617func (s ListTagsOutput) String() string {
14618	return awsutil.Prettify(s)
14619}
14620
14621// GoString returns the string representation.
14622//
14623// API parameter values that are decorated as "sensitive" in the API will not
14624// be included in the string output. The member name will be present, but the
14625// value will be replaced with "sensitive".
14626func (s ListTagsOutput) GoString() string {
14627	return s.String()
14628}
14629
14630// SetTags sets the Tags field's value.
14631func (s *ListTagsOutput) SetTags(v map[string]*string) *ListTagsOutput {
14632	s.Tags = v
14633	return s
14634}
14635
14636type ListVersionsByFunctionInput struct {
14637	_ struct{} `type:"structure" nopayload:"true"`
14638
14639	// The name of the Lambda function.
14640	//
14641	// Name formats
14642	//
14643	//    * Function name - MyFunction.
14644	//
14645	//    * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.
14646	//
14647	//    * Partial ARN - 123456789012:function:MyFunction.
14648	//
14649	// The length constraint applies only to the full ARN. If you specify only the
14650	// function name, it is limited to 64 characters in length.
14651	//
14652	// FunctionName is a required field
14653	FunctionName *string `location:"uri" locationName:"FunctionName" min:"1" type:"string" required:"true"`
14654
14655	// Specify the pagination token that's returned by a previous request to retrieve
14656	// the next page of results.
14657	Marker *string `location:"querystring" locationName:"Marker" type:"string"`
14658
14659	// The maximum number of versions to return. Note that ListVersionsByFunction
14660	// returns a maximum of 50 items in each response, even if you set the number
14661	// higher.
14662	MaxItems *int64 `location:"querystring" locationName:"MaxItems" min:"1" type:"integer"`
14663}
14664
14665// String returns the string representation.
14666//
14667// API parameter values that are decorated as "sensitive" in the API will not
14668// be included in the string output. The member name will be present, but the
14669// value will be replaced with "sensitive".
14670func (s ListVersionsByFunctionInput) String() string {
14671	return awsutil.Prettify(s)
14672}
14673
14674// GoString returns the string representation.
14675//
14676// API parameter values that are decorated as "sensitive" in the API will not
14677// be included in the string output. The member name will be present, but the
14678// value will be replaced with "sensitive".
14679func (s ListVersionsByFunctionInput) GoString() string {
14680	return s.String()
14681}
14682
14683// Validate inspects the fields of the type to determine if they are valid.
14684func (s *ListVersionsByFunctionInput) Validate() error {
14685	invalidParams := request.ErrInvalidParams{Context: "ListVersionsByFunctionInput"}
14686	if s.FunctionName == nil {
14687		invalidParams.Add(request.NewErrParamRequired("FunctionName"))
14688	}
14689	if s.FunctionName != nil && len(*s.FunctionName) < 1 {
14690		invalidParams.Add(request.NewErrParamMinLen("FunctionName", 1))
14691	}
14692	if s.MaxItems != nil && *s.MaxItems < 1 {
14693		invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1))
14694	}
14695
14696	if invalidParams.Len() > 0 {
14697		return invalidParams
14698	}
14699	return nil
14700}
14701
14702// SetFunctionName sets the FunctionName field's value.
14703func (s *ListVersionsByFunctionInput) SetFunctionName(v string) *ListVersionsByFunctionInput {
14704	s.FunctionName = &v
14705	return s
14706}
14707
14708// SetMarker sets the Marker field's value.
14709func (s *ListVersionsByFunctionInput) SetMarker(v string) *ListVersionsByFunctionInput {
14710	s.Marker = &v
14711	return s
14712}
14713
14714// SetMaxItems sets the MaxItems field's value.
14715func (s *ListVersionsByFunctionInput) SetMaxItems(v int64) *ListVersionsByFunctionInput {
14716	s.MaxItems = &v
14717	return s
14718}
14719
14720type ListVersionsByFunctionOutput struct {
14721	_ struct{} `type:"structure"`
14722
14723	// The pagination token that's included if more results are available.
14724	NextMarker *string `type:"string"`
14725
14726	// A list of Lambda function versions.
14727	Versions []*FunctionConfiguration `type:"list"`
14728}
14729
14730// String returns the string representation.
14731//
14732// API parameter values that are decorated as "sensitive" in the API will not
14733// be included in the string output. The member name will be present, but the
14734// value will be replaced with "sensitive".
14735func (s ListVersionsByFunctionOutput) String() string {
14736	return awsutil.Prettify(s)
14737}
14738
14739// GoString returns the string representation.
14740//
14741// API parameter values that are decorated as "sensitive" in the API will not
14742// be included in the string output. The member name will be present, but the
14743// value will be replaced with "sensitive".
14744func (s ListVersionsByFunctionOutput) GoString() string {
14745	return s.String()
14746}
14747
14748// SetNextMarker sets the NextMarker field's value.
14749func (s *ListVersionsByFunctionOutput) SetNextMarker(v string) *ListVersionsByFunctionOutput {
14750	s.NextMarker = &v
14751	return s
14752}
14753
14754// SetVersions sets the Versions field's value.
14755func (s *ListVersionsByFunctionOutput) SetVersions(v []*FunctionConfiguration) *ListVersionsByFunctionOutput {
14756	s.Versions = v
14757	return s
14758}
14759
14760// A destination for events that failed processing.
14761type OnFailure struct {
14762	_ struct{} `type:"structure"`
14763
14764	// The Amazon Resource Name (ARN) of the destination resource.
14765	Destination *string `type:"string"`
14766}
14767
14768// String returns the string representation.
14769//
14770// API parameter values that are decorated as "sensitive" in the API will not
14771// be included in the string output. The member name will be present, but the
14772// value will be replaced with "sensitive".
14773func (s OnFailure) String() string {
14774	return awsutil.Prettify(s)
14775}
14776
14777// GoString returns the string representation.
14778//
14779// API parameter values that are decorated as "sensitive" in the API will not
14780// be included in the string output. The member name will be present, but the
14781// value will be replaced with "sensitive".
14782func (s OnFailure) GoString() string {
14783	return s.String()
14784}
14785
14786// SetDestination sets the Destination field's value.
14787func (s *OnFailure) SetDestination(v string) *OnFailure {
14788	s.Destination = &v
14789	return s
14790}
14791
14792// A destination for events that were processed successfully.
14793type OnSuccess struct {
14794	_ struct{} `type:"structure"`
14795
14796	// The Amazon Resource Name (ARN) of the destination resource.
14797	Destination *string `type:"string"`
14798}
14799
14800// String returns the string representation.
14801//
14802// API parameter values that are decorated as "sensitive" in the API will not
14803// be included in the string output. The member name will be present, but the
14804// value will be replaced with "sensitive".
14805func (s OnSuccess) String() string {
14806	return awsutil.Prettify(s)
14807}
14808
14809// GoString returns the string representation.
14810//
14811// API parameter values that are decorated as "sensitive" in the API will not
14812// be included in the string output. The member name will be present, but the
14813// value will be replaced with "sensitive".
14814func (s OnSuccess) GoString() string {
14815	return s.String()
14816}
14817
14818// SetDestination sets the Destination field's value.
14819func (s *OnSuccess) SetDestination(v string) *OnSuccess {
14820	s.Destination = &v
14821	return s
14822}
14823
14824// The permissions policy for the resource is too large. Learn more (https://docs.aws.amazon.com/lambda/latest/dg/limits.html)
14825type PolicyLengthExceededException struct {
14826	_            struct{}                  `type:"structure"`
14827	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
14828
14829	Message_ *string `locationName:"message" type:"string"`
14830
14831	Type *string `type:"string"`
14832}
14833
14834// String returns the string representation.
14835//
14836// API parameter values that are decorated as "sensitive" in the API will not
14837// be included in the string output. The member name will be present, but the
14838// value will be replaced with "sensitive".
14839func (s PolicyLengthExceededException) String() string {
14840	return awsutil.Prettify(s)
14841}
14842
14843// GoString returns the string representation.
14844//
14845// API parameter values that are decorated as "sensitive" in the API will not
14846// be included in the string output. The member name will be present, but the
14847// value will be replaced with "sensitive".
14848func (s PolicyLengthExceededException) GoString() string {
14849	return s.String()
14850}
14851
14852func newErrorPolicyLengthExceededException(v protocol.ResponseMetadata) error {
14853	return &PolicyLengthExceededException{
14854		RespMetadata: v,
14855	}
14856}
14857
14858// Code returns the exception type name.
14859func (s *PolicyLengthExceededException) Code() string {
14860	return "PolicyLengthExceededException"
14861}
14862
14863// Message returns the exception's message.
14864func (s *PolicyLengthExceededException) Message() string {
14865	if s.Message_ != nil {
14866		return *s.Message_
14867	}
14868	return ""
14869}
14870
14871// OrigErr always returns nil, satisfies awserr.Error interface.
14872func (s *PolicyLengthExceededException) OrigErr() error {
14873	return nil
14874}
14875
14876func (s *PolicyLengthExceededException) Error() string {
14877	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
14878}
14879
14880// Status code returns the HTTP status code for the request's response error.
14881func (s *PolicyLengthExceededException) StatusCode() int {
14882	return s.RespMetadata.StatusCode
14883}
14884
14885// RequestID returns the service's response RequestID for request.
14886func (s *PolicyLengthExceededException) RequestID() string {
14887	return s.RespMetadata.RequestID
14888}
14889
14890// The RevisionId provided does not match the latest RevisionId for the Lambda
14891// function or alias. Call the GetFunction or the GetAlias API to retrieve the
14892// latest RevisionId for your resource.
14893type PreconditionFailedException struct {
14894	_            struct{}                  `type:"structure"`
14895	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
14896
14897	// The exception message.
14898	Message_ *string `locationName:"message" type:"string"`
14899
14900	// The exception type.
14901	Type *string `type:"string"`
14902}
14903
14904// String returns the string representation.
14905//
14906// API parameter values that are decorated as "sensitive" in the API will not
14907// be included in the string output. The member name will be present, but the
14908// value will be replaced with "sensitive".
14909func (s PreconditionFailedException) String() string {
14910	return awsutil.Prettify(s)
14911}
14912
14913// GoString returns the string representation.
14914//
14915// API parameter values that are decorated as "sensitive" in the API will not
14916// be included in the string output. The member name will be present, but the
14917// value will be replaced with "sensitive".
14918func (s PreconditionFailedException) GoString() string {
14919	return s.String()
14920}
14921
14922func newErrorPreconditionFailedException(v protocol.ResponseMetadata) error {
14923	return &PreconditionFailedException{
14924		RespMetadata: v,
14925	}
14926}
14927
14928// Code returns the exception type name.
14929func (s *PreconditionFailedException) Code() string {
14930	return "PreconditionFailedException"
14931}
14932
14933// Message returns the exception's message.
14934func (s *PreconditionFailedException) Message() string {
14935	if s.Message_ != nil {
14936		return *s.Message_
14937	}
14938	return ""
14939}
14940
14941// OrigErr always returns nil, satisfies awserr.Error interface.
14942func (s *PreconditionFailedException) OrigErr() error {
14943	return nil
14944}
14945
14946func (s *PreconditionFailedException) Error() string {
14947	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
14948}
14949
14950// Status code returns the HTTP status code for the request's response error.
14951func (s *PreconditionFailedException) StatusCode() int {
14952	return s.RespMetadata.StatusCode
14953}
14954
14955// RequestID returns the service's response RequestID for request.
14956func (s *PreconditionFailedException) RequestID() string {
14957	return s.RespMetadata.RequestID
14958}
14959
14960// Details about the provisioned concurrency configuration for a function alias
14961// or version.
14962type ProvisionedConcurrencyConfigListItem struct {
14963	_ struct{} `type:"structure"`
14964
14965	// The amount of provisioned concurrency allocated.
14966	AllocatedProvisionedConcurrentExecutions *int64 `type:"integer"`
14967
14968	// The amount of provisioned concurrency available.
14969	AvailableProvisionedConcurrentExecutions *int64 `type:"integer"`
14970
14971	// The Amazon Resource Name (ARN) of the alias or version.
14972	FunctionArn *string `type:"string"`
14973
14974	// The date and time that a user last updated the configuration, in ISO 8601
14975	// format (https://www.iso.org/iso-8601-date-and-time-format.html).
14976	LastModified *string `type:"string"`
14977
14978	// The amount of provisioned concurrency requested.
14979	RequestedProvisionedConcurrentExecutions *int64 `min:"1" type:"integer"`
14980
14981	// The status of the allocation process.
14982	Status *string `type:"string" enum:"ProvisionedConcurrencyStatusEnum"`
14983
14984	// For failed allocations, the reason that provisioned concurrency could not
14985	// be allocated.
14986	StatusReason *string `type:"string"`
14987}
14988
14989// String returns the string representation.
14990//
14991// API parameter values that are decorated as "sensitive" in the API will not
14992// be included in the string output. The member name will be present, but the
14993// value will be replaced with "sensitive".
14994func (s ProvisionedConcurrencyConfigListItem) String() string {
14995	return awsutil.Prettify(s)
14996}
14997
14998// GoString returns the string representation.
14999//
15000// API parameter values that are decorated as "sensitive" in the API will not
15001// be included in the string output. The member name will be present, but the
15002// value will be replaced with "sensitive".
15003func (s ProvisionedConcurrencyConfigListItem) GoString() string {
15004	return s.String()
15005}
15006
15007// SetAllocatedProvisionedConcurrentExecutions sets the AllocatedProvisionedConcurrentExecutions field's value.
15008func (s *ProvisionedConcurrencyConfigListItem) SetAllocatedProvisionedConcurrentExecutions(v int64) *ProvisionedConcurrencyConfigListItem {
15009	s.AllocatedProvisionedConcurrentExecutions = &v
15010	return s
15011}
15012
15013// SetAvailableProvisionedConcurrentExecutions sets the AvailableProvisionedConcurrentExecutions field's value.
15014func (s *ProvisionedConcurrencyConfigListItem) SetAvailableProvisionedConcurrentExecutions(v int64) *ProvisionedConcurrencyConfigListItem {
15015	s.AvailableProvisionedConcurrentExecutions = &v
15016	return s
15017}
15018
15019// SetFunctionArn sets the FunctionArn field's value.
15020func (s *ProvisionedConcurrencyConfigListItem) SetFunctionArn(v string) *ProvisionedConcurrencyConfigListItem {
15021	s.FunctionArn = &v
15022	return s
15023}
15024
15025// SetLastModified sets the LastModified field's value.
15026func (s *ProvisionedConcurrencyConfigListItem) SetLastModified(v string) *ProvisionedConcurrencyConfigListItem {
15027	s.LastModified = &v
15028	return s
15029}
15030
15031// SetRequestedProvisionedConcurrentExecutions sets the RequestedProvisionedConcurrentExecutions field's value.
15032func (s *ProvisionedConcurrencyConfigListItem) SetRequestedProvisionedConcurrentExecutions(v int64) *ProvisionedConcurrencyConfigListItem {
15033	s.RequestedProvisionedConcurrentExecutions = &v
15034	return s
15035}
15036
15037// SetStatus sets the Status field's value.
15038func (s *ProvisionedConcurrencyConfigListItem) SetStatus(v string) *ProvisionedConcurrencyConfigListItem {
15039	s.Status = &v
15040	return s
15041}
15042
15043// SetStatusReason sets the StatusReason field's value.
15044func (s *ProvisionedConcurrencyConfigListItem) SetStatusReason(v string) *ProvisionedConcurrencyConfigListItem {
15045	s.StatusReason = &v
15046	return s
15047}
15048
15049// The specified configuration does not exist.
15050type ProvisionedConcurrencyConfigNotFoundException struct {
15051	_            struct{}                  `type:"structure"`
15052	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
15053
15054	Message_ *string `locationName:"message" type:"string"`
15055
15056	Type *string `type:"string"`
15057}
15058
15059// String returns the string representation.
15060//
15061// API parameter values that are decorated as "sensitive" in the API will not
15062// be included in the string output. The member name will be present, but the
15063// value will be replaced with "sensitive".
15064func (s ProvisionedConcurrencyConfigNotFoundException) String() string {
15065	return awsutil.Prettify(s)
15066}
15067
15068// GoString returns the string representation.
15069//
15070// API parameter values that are decorated as "sensitive" in the API will not
15071// be included in the string output. The member name will be present, but the
15072// value will be replaced with "sensitive".
15073func (s ProvisionedConcurrencyConfigNotFoundException) GoString() string {
15074	return s.String()
15075}
15076
15077func newErrorProvisionedConcurrencyConfigNotFoundException(v protocol.ResponseMetadata) error {
15078	return &ProvisionedConcurrencyConfigNotFoundException{
15079		RespMetadata: v,
15080	}
15081}
15082
15083// Code returns the exception type name.
15084func (s *ProvisionedConcurrencyConfigNotFoundException) Code() string {
15085	return "ProvisionedConcurrencyConfigNotFoundException"
15086}
15087
15088// Message returns the exception's message.
15089func (s *ProvisionedConcurrencyConfigNotFoundException) Message() string {
15090	if s.Message_ != nil {
15091		return *s.Message_
15092	}
15093	return ""
15094}
15095
15096// OrigErr always returns nil, satisfies awserr.Error interface.
15097func (s *ProvisionedConcurrencyConfigNotFoundException) OrigErr() error {
15098	return nil
15099}
15100
15101func (s *ProvisionedConcurrencyConfigNotFoundException) Error() string {
15102	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
15103}
15104
15105// Status code returns the HTTP status code for the request's response error.
15106func (s *ProvisionedConcurrencyConfigNotFoundException) StatusCode() int {
15107	return s.RespMetadata.StatusCode
15108}
15109
15110// RequestID returns the service's response RequestID for request.
15111func (s *ProvisionedConcurrencyConfigNotFoundException) RequestID() string {
15112	return s.RespMetadata.RequestID
15113}
15114
15115type PublishLayerVersionInput struct {
15116	_ struct{} `type:"structure"`
15117
15118	// A list of compatible instruction set architectures (https://docs.aws.amazon.com/lambda/latest/dg/foundation-arch.html).
15119	CompatibleArchitectures []*string `type:"list"`
15120
15121	// A list of compatible function runtimes (https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html).
15122	// Used for filtering with ListLayers and ListLayerVersions.
15123	CompatibleRuntimes []*string `type:"list"`
15124
15125	// The function layer archive.
15126	//
15127	// Content is a required field
15128	Content *LayerVersionContentInput `type:"structure" required:"true"`
15129
15130	// The description of the version.
15131	Description *string `type:"string"`
15132
15133	// The name or Amazon Resource Name (ARN) of the layer.
15134	//
15135	// LayerName is a required field
15136	LayerName *string `location:"uri" locationName:"LayerName" min:"1" type:"string" required:"true"`
15137
15138	// The layer's software license. It can be any of the following:
15139	//
15140	//    * An SPDX license identifier (https://spdx.org/licenses/). For example,
15141	//    MIT.
15142	//
15143	//    * The URL of a license hosted on the internet. For example, https://opensource.org/licenses/MIT.
15144	//
15145	//    * The full text of the license.
15146	LicenseInfo *string `type:"string"`
15147}
15148
15149// String returns the string representation.
15150//
15151// API parameter values that are decorated as "sensitive" in the API will not
15152// be included in the string output. The member name will be present, but the
15153// value will be replaced with "sensitive".
15154func (s PublishLayerVersionInput) String() string {
15155	return awsutil.Prettify(s)
15156}
15157
15158// GoString returns the string representation.
15159//
15160// API parameter values that are decorated as "sensitive" in the API will not
15161// be included in the string output. The member name will be present, but the
15162// value will be replaced with "sensitive".
15163func (s PublishLayerVersionInput) GoString() string {
15164	return s.String()
15165}
15166
15167// Validate inspects the fields of the type to determine if they are valid.
15168func (s *PublishLayerVersionInput) Validate() error {
15169	invalidParams := request.ErrInvalidParams{Context: "PublishLayerVersionInput"}
15170	if s.Content == nil {
15171		invalidParams.Add(request.NewErrParamRequired("Content"))
15172	}
15173	if s.LayerName == nil {
15174		invalidParams.Add(request.NewErrParamRequired("LayerName"))
15175	}
15176	if s.LayerName != nil && len(*s.LayerName) < 1 {
15177		invalidParams.Add(request.NewErrParamMinLen("LayerName", 1))
15178	}
15179	if s.Content != nil {
15180		if err := s.Content.Validate(); err != nil {
15181			invalidParams.AddNested("Content", err.(request.ErrInvalidParams))
15182		}
15183	}
15184
15185	if invalidParams.Len() > 0 {
15186		return invalidParams
15187	}
15188	return nil
15189}
15190
15191// SetCompatibleArchitectures sets the CompatibleArchitectures field's value.
15192func (s *PublishLayerVersionInput) SetCompatibleArchitectures(v []*string) *PublishLayerVersionInput {
15193	s.CompatibleArchitectures = v
15194	return s
15195}
15196
15197// SetCompatibleRuntimes sets the CompatibleRuntimes field's value.
15198func (s *PublishLayerVersionInput) SetCompatibleRuntimes(v []*string) *PublishLayerVersionInput {
15199	s.CompatibleRuntimes = v
15200	return s
15201}
15202
15203// SetContent sets the Content field's value.
15204func (s *PublishLayerVersionInput) SetContent(v *LayerVersionContentInput) *PublishLayerVersionInput {
15205	s.Content = v
15206	return s
15207}
15208
15209// SetDescription sets the Description field's value.
15210func (s *PublishLayerVersionInput) SetDescription(v string) *PublishLayerVersionInput {
15211	s.Description = &v
15212	return s
15213}
15214
15215// SetLayerName sets the LayerName field's value.
15216func (s *PublishLayerVersionInput) SetLayerName(v string) *PublishLayerVersionInput {
15217	s.LayerName = &v
15218	return s
15219}
15220
15221// SetLicenseInfo sets the LicenseInfo field's value.
15222func (s *PublishLayerVersionInput) SetLicenseInfo(v string) *PublishLayerVersionInput {
15223	s.LicenseInfo = &v
15224	return s
15225}
15226
15227type PublishLayerVersionOutput struct {
15228	_ struct{} `type:"structure"`
15229
15230	// A list of compatible instruction set architectures (https://docs.aws.amazon.com/lambda/latest/dg/foundation-arch.html).
15231	CompatibleArchitectures []*string `type:"list"`
15232
15233	// The layer's compatible runtimes.
15234	CompatibleRuntimes []*string `type:"list"`
15235
15236	// Details about the layer version.
15237	Content *LayerVersionContentOutput `type:"structure"`
15238
15239	// The date that the layer version was created, in ISO-8601 format (https://www.w3.org/TR/NOTE-datetime)
15240	// (YYYY-MM-DDThh:mm:ss.sTZD).
15241	CreatedDate *string `type:"string"`
15242
15243	// The description of the version.
15244	Description *string `type:"string"`
15245
15246	// The ARN of the layer.
15247	LayerArn *string `min:"1" type:"string"`
15248
15249	// The ARN of the layer version.
15250	LayerVersionArn *string `min:"1" type:"string"`
15251
15252	// The layer's software license.
15253	LicenseInfo *string `type:"string"`
15254
15255	// The version number.
15256	Version *int64 `type:"long"`
15257}
15258
15259// String returns the string representation.
15260//
15261// API parameter values that are decorated as "sensitive" in the API will not
15262// be included in the string output. The member name will be present, but the
15263// value will be replaced with "sensitive".
15264func (s PublishLayerVersionOutput) String() string {
15265	return awsutil.Prettify(s)
15266}
15267
15268// GoString returns the string representation.
15269//
15270// API parameter values that are decorated as "sensitive" in the API will not
15271// be included in the string output. The member name will be present, but the
15272// value will be replaced with "sensitive".
15273func (s PublishLayerVersionOutput) GoString() string {
15274	return s.String()
15275}
15276
15277// SetCompatibleArchitectures sets the CompatibleArchitectures field's value.
15278func (s *PublishLayerVersionOutput) SetCompatibleArchitectures(v []*string) *PublishLayerVersionOutput {
15279	s.CompatibleArchitectures = v
15280	return s
15281}
15282
15283// SetCompatibleRuntimes sets the CompatibleRuntimes field's value.
15284func (s *PublishLayerVersionOutput) SetCompatibleRuntimes(v []*string) *PublishLayerVersionOutput {
15285	s.CompatibleRuntimes = v
15286	return s
15287}
15288
15289// SetContent sets the Content field's value.
15290func (s *PublishLayerVersionOutput) SetContent(v *LayerVersionContentOutput) *PublishLayerVersionOutput {
15291	s.Content = v
15292	return s
15293}
15294
15295// SetCreatedDate sets the CreatedDate field's value.
15296func (s *PublishLayerVersionOutput) SetCreatedDate(v string) *PublishLayerVersionOutput {
15297	s.CreatedDate = &v
15298	return s
15299}
15300
15301// SetDescription sets the Description field's value.
15302func (s *PublishLayerVersionOutput) SetDescription(v string) *PublishLayerVersionOutput {
15303	s.Description = &v
15304	return s
15305}
15306
15307// SetLayerArn sets the LayerArn field's value.
15308func (s *PublishLayerVersionOutput) SetLayerArn(v string) *PublishLayerVersionOutput {
15309	s.LayerArn = &v
15310	return s
15311}
15312
15313// SetLayerVersionArn sets the LayerVersionArn field's value.
15314func (s *PublishLayerVersionOutput) SetLayerVersionArn(v string) *PublishLayerVersionOutput {
15315	s.LayerVersionArn = &v
15316	return s
15317}
15318
15319// SetLicenseInfo sets the LicenseInfo field's value.
15320func (s *PublishLayerVersionOutput) SetLicenseInfo(v string) *PublishLayerVersionOutput {
15321	s.LicenseInfo = &v
15322	return s
15323}
15324
15325// SetVersion sets the Version field's value.
15326func (s *PublishLayerVersionOutput) SetVersion(v int64) *PublishLayerVersionOutput {
15327	s.Version = &v
15328	return s
15329}
15330
15331type PublishVersionInput struct {
15332	_ struct{} `type:"structure"`
15333
15334	// Only publish a version if the hash value matches the value that's specified.
15335	// Use this option to avoid publishing a version if the function code has changed
15336	// since you last updated it. You can get the hash for the version that you
15337	// uploaded from the output of UpdateFunctionCode.
15338	CodeSha256 *string `type:"string"`
15339
15340	// A description for the version to override the description in the function
15341	// configuration.
15342	Description *string `type:"string"`
15343
15344	// The name of the Lambda function.
15345	//
15346	// Name formats
15347	//
15348	//    * Function name - MyFunction.
15349	//
15350	//    * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.
15351	//
15352	//    * Partial ARN - 123456789012:function:MyFunction.
15353	//
15354	// The length constraint applies only to the full ARN. If you specify only the
15355	// function name, it is limited to 64 characters in length.
15356	//
15357	// FunctionName is a required field
15358	FunctionName *string `location:"uri" locationName:"FunctionName" min:"1" type:"string" required:"true"`
15359
15360	// Only update the function if the revision ID matches the ID that's specified.
15361	// Use this option to avoid publishing a version if the function configuration
15362	// has changed since you last updated it.
15363	RevisionId *string `type:"string"`
15364}
15365
15366// String returns the string representation.
15367//
15368// API parameter values that are decorated as "sensitive" in the API will not
15369// be included in the string output. The member name will be present, but the
15370// value will be replaced with "sensitive".
15371func (s PublishVersionInput) String() string {
15372	return awsutil.Prettify(s)
15373}
15374
15375// GoString returns the string representation.
15376//
15377// API parameter values that are decorated as "sensitive" in the API will not
15378// be included in the string output. The member name will be present, but the
15379// value will be replaced with "sensitive".
15380func (s PublishVersionInput) GoString() string {
15381	return s.String()
15382}
15383
15384// Validate inspects the fields of the type to determine if they are valid.
15385func (s *PublishVersionInput) Validate() error {
15386	invalidParams := request.ErrInvalidParams{Context: "PublishVersionInput"}
15387	if s.FunctionName == nil {
15388		invalidParams.Add(request.NewErrParamRequired("FunctionName"))
15389	}
15390	if s.FunctionName != nil && len(*s.FunctionName) < 1 {
15391		invalidParams.Add(request.NewErrParamMinLen("FunctionName", 1))
15392	}
15393
15394	if invalidParams.Len() > 0 {
15395		return invalidParams
15396	}
15397	return nil
15398}
15399
15400// SetCodeSha256 sets the CodeSha256 field's value.
15401func (s *PublishVersionInput) SetCodeSha256(v string) *PublishVersionInput {
15402	s.CodeSha256 = &v
15403	return s
15404}
15405
15406// SetDescription sets the Description field's value.
15407func (s *PublishVersionInput) SetDescription(v string) *PublishVersionInput {
15408	s.Description = &v
15409	return s
15410}
15411
15412// SetFunctionName sets the FunctionName field's value.
15413func (s *PublishVersionInput) SetFunctionName(v string) *PublishVersionInput {
15414	s.FunctionName = &v
15415	return s
15416}
15417
15418// SetRevisionId sets the RevisionId field's value.
15419func (s *PublishVersionInput) SetRevisionId(v string) *PublishVersionInput {
15420	s.RevisionId = &v
15421	return s
15422}
15423
15424type PutFunctionCodeSigningConfigInput struct {
15425	_ struct{} `type:"structure"`
15426
15427	// The The Amazon Resource Name (ARN) of the code signing configuration.
15428	//
15429	// CodeSigningConfigArn is a required field
15430	CodeSigningConfigArn *string `type:"string" required:"true"`
15431
15432	// The name of the Lambda function.
15433	//
15434	// Name formats
15435	//
15436	//    * Function name - MyFunction.
15437	//
15438	//    * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.
15439	//
15440	//    * Partial ARN - 123456789012:function:MyFunction.
15441	//
15442	// The length constraint applies only to the full ARN. If you specify only the
15443	// function name, it is limited to 64 characters in length.
15444	//
15445	// FunctionName is a required field
15446	FunctionName *string `location:"uri" locationName:"FunctionName" min:"1" type:"string" required:"true"`
15447}
15448
15449// String returns the string representation.
15450//
15451// API parameter values that are decorated as "sensitive" in the API will not
15452// be included in the string output. The member name will be present, but the
15453// value will be replaced with "sensitive".
15454func (s PutFunctionCodeSigningConfigInput) String() string {
15455	return awsutil.Prettify(s)
15456}
15457
15458// GoString returns the string representation.
15459//
15460// API parameter values that are decorated as "sensitive" in the API will not
15461// be included in the string output. The member name will be present, but the
15462// value will be replaced with "sensitive".
15463func (s PutFunctionCodeSigningConfigInput) GoString() string {
15464	return s.String()
15465}
15466
15467// Validate inspects the fields of the type to determine if they are valid.
15468func (s *PutFunctionCodeSigningConfigInput) Validate() error {
15469	invalidParams := request.ErrInvalidParams{Context: "PutFunctionCodeSigningConfigInput"}
15470	if s.CodeSigningConfigArn == nil {
15471		invalidParams.Add(request.NewErrParamRequired("CodeSigningConfigArn"))
15472	}
15473	if s.FunctionName == nil {
15474		invalidParams.Add(request.NewErrParamRequired("FunctionName"))
15475	}
15476	if s.FunctionName != nil && len(*s.FunctionName) < 1 {
15477		invalidParams.Add(request.NewErrParamMinLen("FunctionName", 1))
15478	}
15479
15480	if invalidParams.Len() > 0 {
15481		return invalidParams
15482	}
15483	return nil
15484}
15485
15486// SetCodeSigningConfigArn sets the CodeSigningConfigArn field's value.
15487func (s *PutFunctionCodeSigningConfigInput) SetCodeSigningConfigArn(v string) *PutFunctionCodeSigningConfigInput {
15488	s.CodeSigningConfigArn = &v
15489	return s
15490}
15491
15492// SetFunctionName sets the FunctionName field's value.
15493func (s *PutFunctionCodeSigningConfigInput) SetFunctionName(v string) *PutFunctionCodeSigningConfigInput {
15494	s.FunctionName = &v
15495	return s
15496}
15497
15498type PutFunctionCodeSigningConfigOutput struct {
15499	_ struct{} `type:"structure"`
15500
15501	// The The Amazon Resource Name (ARN) of the code signing configuration.
15502	//
15503	// CodeSigningConfigArn is a required field
15504	CodeSigningConfigArn *string `type:"string" required:"true"`
15505
15506	// The name of the Lambda function.
15507	//
15508	// Name formats
15509	//
15510	//    * Function name - MyFunction.
15511	//
15512	//    * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.
15513	//
15514	//    * Partial ARN - 123456789012:function:MyFunction.
15515	//
15516	// The length constraint applies only to the full ARN. If you specify only the
15517	// function name, it is limited to 64 characters in length.
15518	//
15519	// FunctionName is a required field
15520	FunctionName *string `min:"1" type:"string" required:"true"`
15521}
15522
15523// String returns the string representation.
15524//
15525// API parameter values that are decorated as "sensitive" in the API will not
15526// be included in the string output. The member name will be present, but the
15527// value will be replaced with "sensitive".
15528func (s PutFunctionCodeSigningConfigOutput) String() string {
15529	return awsutil.Prettify(s)
15530}
15531
15532// GoString returns the string representation.
15533//
15534// API parameter values that are decorated as "sensitive" in the API will not
15535// be included in the string output. The member name will be present, but the
15536// value will be replaced with "sensitive".
15537func (s PutFunctionCodeSigningConfigOutput) GoString() string {
15538	return s.String()
15539}
15540
15541// SetCodeSigningConfigArn sets the CodeSigningConfigArn field's value.
15542func (s *PutFunctionCodeSigningConfigOutput) SetCodeSigningConfigArn(v string) *PutFunctionCodeSigningConfigOutput {
15543	s.CodeSigningConfigArn = &v
15544	return s
15545}
15546
15547// SetFunctionName sets the FunctionName field's value.
15548func (s *PutFunctionCodeSigningConfigOutput) SetFunctionName(v string) *PutFunctionCodeSigningConfigOutput {
15549	s.FunctionName = &v
15550	return s
15551}
15552
15553type PutFunctionConcurrencyInput struct {
15554	_ struct{} `type:"structure"`
15555
15556	// The name of the Lambda function.
15557	//
15558	// Name formats
15559	//
15560	//    * Function name - my-function.
15561	//
15562	//    * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.
15563	//
15564	//    * Partial ARN - 123456789012:function:my-function.
15565	//
15566	// The length constraint applies only to the full ARN. If you specify only the
15567	// function name, it is limited to 64 characters in length.
15568	//
15569	// FunctionName is a required field
15570	FunctionName *string `location:"uri" locationName:"FunctionName" min:"1" type:"string" required:"true"`
15571
15572	// The number of simultaneous executions to reserve for the function.
15573	//
15574	// ReservedConcurrentExecutions is a required field
15575	ReservedConcurrentExecutions *int64 `type:"integer" required:"true"`
15576}
15577
15578// String returns the string representation.
15579//
15580// API parameter values that are decorated as "sensitive" in the API will not
15581// be included in the string output. The member name will be present, but the
15582// value will be replaced with "sensitive".
15583func (s PutFunctionConcurrencyInput) String() string {
15584	return awsutil.Prettify(s)
15585}
15586
15587// GoString returns the string representation.
15588//
15589// API parameter values that are decorated as "sensitive" in the API will not
15590// be included in the string output. The member name will be present, but the
15591// value will be replaced with "sensitive".
15592func (s PutFunctionConcurrencyInput) GoString() string {
15593	return s.String()
15594}
15595
15596// Validate inspects the fields of the type to determine if they are valid.
15597func (s *PutFunctionConcurrencyInput) Validate() error {
15598	invalidParams := request.ErrInvalidParams{Context: "PutFunctionConcurrencyInput"}
15599	if s.FunctionName == nil {
15600		invalidParams.Add(request.NewErrParamRequired("FunctionName"))
15601	}
15602	if s.FunctionName != nil && len(*s.FunctionName) < 1 {
15603		invalidParams.Add(request.NewErrParamMinLen("FunctionName", 1))
15604	}
15605	if s.ReservedConcurrentExecutions == nil {
15606		invalidParams.Add(request.NewErrParamRequired("ReservedConcurrentExecutions"))
15607	}
15608
15609	if invalidParams.Len() > 0 {
15610		return invalidParams
15611	}
15612	return nil
15613}
15614
15615// SetFunctionName sets the FunctionName field's value.
15616func (s *PutFunctionConcurrencyInput) SetFunctionName(v string) *PutFunctionConcurrencyInput {
15617	s.FunctionName = &v
15618	return s
15619}
15620
15621// SetReservedConcurrentExecutions sets the ReservedConcurrentExecutions field's value.
15622func (s *PutFunctionConcurrencyInput) SetReservedConcurrentExecutions(v int64) *PutFunctionConcurrencyInput {
15623	s.ReservedConcurrentExecutions = &v
15624	return s
15625}
15626
15627type PutFunctionConcurrencyOutput struct {
15628	_ struct{} `type:"structure"`
15629
15630	// The number of concurrent executions that are reserved for this function.
15631	// For more information, see Managing Concurrency (https://docs.aws.amazon.com/lambda/latest/dg/configuration-concurrency.html).
15632	ReservedConcurrentExecutions *int64 `type:"integer"`
15633}
15634
15635// String returns the string representation.
15636//
15637// API parameter values that are decorated as "sensitive" in the API will not
15638// be included in the string output. The member name will be present, but the
15639// value will be replaced with "sensitive".
15640func (s PutFunctionConcurrencyOutput) String() string {
15641	return awsutil.Prettify(s)
15642}
15643
15644// GoString returns the string representation.
15645//
15646// API parameter values that are decorated as "sensitive" in the API will not
15647// be included in the string output. The member name will be present, but the
15648// value will be replaced with "sensitive".
15649func (s PutFunctionConcurrencyOutput) GoString() string {
15650	return s.String()
15651}
15652
15653// SetReservedConcurrentExecutions sets the ReservedConcurrentExecutions field's value.
15654func (s *PutFunctionConcurrencyOutput) SetReservedConcurrentExecutions(v int64) *PutFunctionConcurrencyOutput {
15655	s.ReservedConcurrentExecutions = &v
15656	return s
15657}
15658
15659type PutFunctionEventInvokeConfigInput struct {
15660	_ struct{} `type:"structure"`
15661
15662	// A destination for events after they have been sent to a function for processing.
15663	//
15664	// Destinations
15665	//
15666	//    * Function - The Amazon Resource Name (ARN) of a Lambda function.
15667	//
15668	//    * Queue - The ARN of an SQS queue.
15669	//
15670	//    * Topic - The ARN of an SNS topic.
15671	//
15672	//    * Event Bus - The ARN of an Amazon EventBridge event bus.
15673	DestinationConfig *DestinationConfig `type:"structure"`
15674
15675	// The name of the Lambda function, version, or alias.
15676	//
15677	// Name formats
15678	//
15679	//    * Function name - my-function (name-only), my-function:v1 (with alias).
15680	//
15681	//    * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.
15682	//
15683	//    * Partial ARN - 123456789012:function:my-function.
15684	//
15685	// You can append a version number or alias to any of the formats. The length
15686	// constraint applies only to the full ARN. If you specify only the function
15687	// name, it is limited to 64 characters in length.
15688	//
15689	// FunctionName is a required field
15690	FunctionName *string `location:"uri" locationName:"FunctionName" min:"1" type:"string" required:"true"`
15691
15692	// The maximum age of a request that Lambda sends to a function for processing.
15693	MaximumEventAgeInSeconds *int64 `min:"60" type:"integer"`
15694
15695	// The maximum number of times to retry when the function returns an error.
15696	MaximumRetryAttempts *int64 `type:"integer"`
15697
15698	// A version number or alias name.
15699	Qualifier *string `location:"querystring" locationName:"Qualifier" min:"1" type:"string"`
15700}
15701
15702// String returns the string representation.
15703//
15704// API parameter values that are decorated as "sensitive" in the API will not
15705// be included in the string output. The member name will be present, but the
15706// value will be replaced with "sensitive".
15707func (s PutFunctionEventInvokeConfigInput) String() string {
15708	return awsutil.Prettify(s)
15709}
15710
15711// GoString returns the string representation.
15712//
15713// API parameter values that are decorated as "sensitive" in the API will not
15714// be included in the string output. The member name will be present, but the
15715// value will be replaced with "sensitive".
15716func (s PutFunctionEventInvokeConfigInput) GoString() string {
15717	return s.String()
15718}
15719
15720// Validate inspects the fields of the type to determine if they are valid.
15721func (s *PutFunctionEventInvokeConfigInput) Validate() error {
15722	invalidParams := request.ErrInvalidParams{Context: "PutFunctionEventInvokeConfigInput"}
15723	if s.FunctionName == nil {
15724		invalidParams.Add(request.NewErrParamRequired("FunctionName"))
15725	}
15726	if s.FunctionName != nil && len(*s.FunctionName) < 1 {
15727		invalidParams.Add(request.NewErrParamMinLen("FunctionName", 1))
15728	}
15729	if s.MaximumEventAgeInSeconds != nil && *s.MaximumEventAgeInSeconds < 60 {
15730		invalidParams.Add(request.NewErrParamMinValue("MaximumEventAgeInSeconds", 60))
15731	}
15732	if s.Qualifier != nil && len(*s.Qualifier) < 1 {
15733		invalidParams.Add(request.NewErrParamMinLen("Qualifier", 1))
15734	}
15735
15736	if invalidParams.Len() > 0 {
15737		return invalidParams
15738	}
15739	return nil
15740}
15741
15742// SetDestinationConfig sets the DestinationConfig field's value.
15743func (s *PutFunctionEventInvokeConfigInput) SetDestinationConfig(v *DestinationConfig) *PutFunctionEventInvokeConfigInput {
15744	s.DestinationConfig = v
15745	return s
15746}
15747
15748// SetFunctionName sets the FunctionName field's value.
15749func (s *PutFunctionEventInvokeConfigInput) SetFunctionName(v string) *PutFunctionEventInvokeConfigInput {
15750	s.FunctionName = &v
15751	return s
15752}
15753
15754// SetMaximumEventAgeInSeconds sets the MaximumEventAgeInSeconds field's value.
15755func (s *PutFunctionEventInvokeConfigInput) SetMaximumEventAgeInSeconds(v int64) *PutFunctionEventInvokeConfigInput {
15756	s.MaximumEventAgeInSeconds = &v
15757	return s
15758}
15759
15760// SetMaximumRetryAttempts sets the MaximumRetryAttempts field's value.
15761func (s *PutFunctionEventInvokeConfigInput) SetMaximumRetryAttempts(v int64) *PutFunctionEventInvokeConfigInput {
15762	s.MaximumRetryAttempts = &v
15763	return s
15764}
15765
15766// SetQualifier sets the Qualifier field's value.
15767func (s *PutFunctionEventInvokeConfigInput) SetQualifier(v string) *PutFunctionEventInvokeConfigInput {
15768	s.Qualifier = &v
15769	return s
15770}
15771
15772type PutFunctionEventInvokeConfigOutput struct {
15773	_ struct{} `type:"structure"`
15774
15775	// A destination for events after they have been sent to a function for processing.
15776	//
15777	// Destinations
15778	//
15779	//    * Function - The Amazon Resource Name (ARN) of a Lambda function.
15780	//
15781	//    * Queue - The ARN of an SQS queue.
15782	//
15783	//    * Topic - The ARN of an SNS topic.
15784	//
15785	//    * Event Bus - The ARN of an Amazon EventBridge event bus.
15786	DestinationConfig *DestinationConfig `type:"structure"`
15787
15788	// The Amazon Resource Name (ARN) of the function.
15789	FunctionArn *string `type:"string"`
15790
15791	// The date and time that the configuration was last updated.
15792	LastModified *time.Time `type:"timestamp"`
15793
15794	// The maximum age of a request that Lambda sends to a function for processing.
15795	MaximumEventAgeInSeconds *int64 `min:"60" type:"integer"`
15796
15797	// The maximum number of times to retry when the function returns an error.
15798	MaximumRetryAttempts *int64 `type:"integer"`
15799}
15800
15801// String returns the string representation.
15802//
15803// API parameter values that are decorated as "sensitive" in the API will not
15804// be included in the string output. The member name will be present, but the
15805// value will be replaced with "sensitive".
15806func (s PutFunctionEventInvokeConfigOutput) String() string {
15807	return awsutil.Prettify(s)
15808}
15809
15810// GoString returns the string representation.
15811//
15812// API parameter values that are decorated as "sensitive" in the API will not
15813// be included in the string output. The member name will be present, but the
15814// value will be replaced with "sensitive".
15815func (s PutFunctionEventInvokeConfigOutput) GoString() string {
15816	return s.String()
15817}
15818
15819// SetDestinationConfig sets the DestinationConfig field's value.
15820func (s *PutFunctionEventInvokeConfigOutput) SetDestinationConfig(v *DestinationConfig) *PutFunctionEventInvokeConfigOutput {
15821	s.DestinationConfig = v
15822	return s
15823}
15824
15825// SetFunctionArn sets the FunctionArn field's value.
15826func (s *PutFunctionEventInvokeConfigOutput) SetFunctionArn(v string) *PutFunctionEventInvokeConfigOutput {
15827	s.FunctionArn = &v
15828	return s
15829}
15830
15831// SetLastModified sets the LastModified field's value.
15832func (s *PutFunctionEventInvokeConfigOutput) SetLastModified(v time.Time) *PutFunctionEventInvokeConfigOutput {
15833	s.LastModified = &v
15834	return s
15835}
15836
15837// SetMaximumEventAgeInSeconds sets the MaximumEventAgeInSeconds field's value.
15838func (s *PutFunctionEventInvokeConfigOutput) SetMaximumEventAgeInSeconds(v int64) *PutFunctionEventInvokeConfigOutput {
15839	s.MaximumEventAgeInSeconds = &v
15840	return s
15841}
15842
15843// SetMaximumRetryAttempts sets the MaximumRetryAttempts field's value.
15844func (s *PutFunctionEventInvokeConfigOutput) SetMaximumRetryAttempts(v int64) *PutFunctionEventInvokeConfigOutput {
15845	s.MaximumRetryAttempts = &v
15846	return s
15847}
15848
15849type PutProvisionedConcurrencyConfigInput struct {
15850	_ struct{} `type:"structure"`
15851
15852	// The name of the Lambda function.
15853	//
15854	// Name formats
15855	//
15856	//    * Function name - my-function.
15857	//
15858	//    * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.
15859	//
15860	//    * Partial ARN - 123456789012:function:my-function.
15861	//
15862	// The length constraint applies only to the full ARN. If you specify only the
15863	// function name, it is limited to 64 characters in length.
15864	//
15865	// FunctionName is a required field
15866	FunctionName *string `location:"uri" locationName:"FunctionName" min:"1" type:"string" required:"true"`
15867
15868	// The amount of provisioned concurrency to allocate for the version or alias.
15869	//
15870	// ProvisionedConcurrentExecutions is a required field
15871	ProvisionedConcurrentExecutions *int64 `min:"1" type:"integer" required:"true"`
15872
15873	// The version number or alias name.
15874	//
15875	// Qualifier is a required field
15876	Qualifier *string `location:"querystring" locationName:"Qualifier" min:"1" type:"string" required:"true"`
15877}
15878
15879// String returns the string representation.
15880//
15881// API parameter values that are decorated as "sensitive" in the API will not
15882// be included in the string output. The member name will be present, but the
15883// value will be replaced with "sensitive".
15884func (s PutProvisionedConcurrencyConfigInput) String() string {
15885	return awsutil.Prettify(s)
15886}
15887
15888// GoString returns the string representation.
15889//
15890// API parameter values that are decorated as "sensitive" in the API will not
15891// be included in the string output. The member name will be present, but the
15892// value will be replaced with "sensitive".
15893func (s PutProvisionedConcurrencyConfigInput) GoString() string {
15894	return s.String()
15895}
15896
15897// Validate inspects the fields of the type to determine if they are valid.
15898func (s *PutProvisionedConcurrencyConfigInput) Validate() error {
15899	invalidParams := request.ErrInvalidParams{Context: "PutProvisionedConcurrencyConfigInput"}
15900	if s.FunctionName == nil {
15901		invalidParams.Add(request.NewErrParamRequired("FunctionName"))
15902	}
15903	if s.FunctionName != nil && len(*s.FunctionName) < 1 {
15904		invalidParams.Add(request.NewErrParamMinLen("FunctionName", 1))
15905	}
15906	if s.ProvisionedConcurrentExecutions == nil {
15907		invalidParams.Add(request.NewErrParamRequired("ProvisionedConcurrentExecutions"))
15908	}
15909	if s.ProvisionedConcurrentExecutions != nil && *s.ProvisionedConcurrentExecutions < 1 {
15910		invalidParams.Add(request.NewErrParamMinValue("ProvisionedConcurrentExecutions", 1))
15911	}
15912	if s.Qualifier == nil {
15913		invalidParams.Add(request.NewErrParamRequired("Qualifier"))
15914	}
15915	if s.Qualifier != nil && len(*s.Qualifier) < 1 {
15916		invalidParams.Add(request.NewErrParamMinLen("Qualifier", 1))
15917	}
15918
15919	if invalidParams.Len() > 0 {
15920		return invalidParams
15921	}
15922	return nil
15923}
15924
15925// SetFunctionName sets the FunctionName field's value.
15926func (s *PutProvisionedConcurrencyConfigInput) SetFunctionName(v string) *PutProvisionedConcurrencyConfigInput {
15927	s.FunctionName = &v
15928	return s
15929}
15930
15931// SetProvisionedConcurrentExecutions sets the ProvisionedConcurrentExecutions field's value.
15932func (s *PutProvisionedConcurrencyConfigInput) SetProvisionedConcurrentExecutions(v int64) *PutProvisionedConcurrencyConfigInput {
15933	s.ProvisionedConcurrentExecutions = &v
15934	return s
15935}
15936
15937// SetQualifier sets the Qualifier field's value.
15938func (s *PutProvisionedConcurrencyConfigInput) SetQualifier(v string) *PutProvisionedConcurrencyConfigInput {
15939	s.Qualifier = &v
15940	return s
15941}
15942
15943type PutProvisionedConcurrencyConfigOutput struct {
15944	_ struct{} `type:"structure"`
15945
15946	// The amount of provisioned concurrency allocated.
15947	AllocatedProvisionedConcurrentExecutions *int64 `type:"integer"`
15948
15949	// The amount of provisioned concurrency available.
15950	AvailableProvisionedConcurrentExecutions *int64 `type:"integer"`
15951
15952	// The date and time that a user last updated the configuration, in ISO 8601
15953	// format (https://www.iso.org/iso-8601-date-and-time-format.html).
15954	LastModified *string `type:"string"`
15955
15956	// The amount of provisioned concurrency requested.
15957	RequestedProvisionedConcurrentExecutions *int64 `min:"1" type:"integer"`
15958
15959	// The status of the allocation process.
15960	Status *string `type:"string" enum:"ProvisionedConcurrencyStatusEnum"`
15961
15962	// For failed allocations, the reason that provisioned concurrency could not
15963	// be allocated.
15964	StatusReason *string `type:"string"`
15965}
15966
15967// String returns the string representation.
15968//
15969// API parameter values that are decorated as "sensitive" in the API will not
15970// be included in the string output. The member name will be present, but the
15971// value will be replaced with "sensitive".
15972func (s PutProvisionedConcurrencyConfigOutput) String() string {
15973	return awsutil.Prettify(s)
15974}
15975
15976// GoString returns the string representation.
15977//
15978// API parameter values that are decorated as "sensitive" in the API will not
15979// be included in the string output. The member name will be present, but the
15980// value will be replaced with "sensitive".
15981func (s PutProvisionedConcurrencyConfigOutput) GoString() string {
15982	return s.String()
15983}
15984
15985// SetAllocatedProvisionedConcurrentExecutions sets the AllocatedProvisionedConcurrentExecutions field's value.
15986func (s *PutProvisionedConcurrencyConfigOutput) SetAllocatedProvisionedConcurrentExecutions(v int64) *PutProvisionedConcurrencyConfigOutput {
15987	s.AllocatedProvisionedConcurrentExecutions = &v
15988	return s
15989}
15990
15991// SetAvailableProvisionedConcurrentExecutions sets the AvailableProvisionedConcurrentExecutions field's value.
15992func (s *PutProvisionedConcurrencyConfigOutput) SetAvailableProvisionedConcurrentExecutions(v int64) *PutProvisionedConcurrencyConfigOutput {
15993	s.AvailableProvisionedConcurrentExecutions = &v
15994	return s
15995}
15996
15997// SetLastModified sets the LastModified field's value.
15998func (s *PutProvisionedConcurrencyConfigOutput) SetLastModified(v string) *PutProvisionedConcurrencyConfigOutput {
15999	s.LastModified = &v
16000	return s
16001}
16002
16003// SetRequestedProvisionedConcurrentExecutions sets the RequestedProvisionedConcurrentExecutions field's value.
16004func (s *PutProvisionedConcurrencyConfigOutput) SetRequestedProvisionedConcurrentExecutions(v int64) *PutProvisionedConcurrencyConfigOutput {
16005	s.RequestedProvisionedConcurrentExecutions = &v
16006	return s
16007}
16008
16009// SetStatus sets the Status field's value.
16010func (s *PutProvisionedConcurrencyConfigOutput) SetStatus(v string) *PutProvisionedConcurrencyConfigOutput {
16011	s.Status = &v
16012	return s
16013}
16014
16015// SetStatusReason sets the StatusReason field's value.
16016func (s *PutProvisionedConcurrencyConfigOutput) SetStatusReason(v string) *PutProvisionedConcurrencyConfigOutput {
16017	s.StatusReason = &v
16018	return s
16019}
16020
16021type RemoveLayerVersionPermissionInput struct {
16022	_ struct{} `type:"structure" nopayload:"true"`
16023
16024	// The name or Amazon Resource Name (ARN) of the layer.
16025	//
16026	// LayerName is a required field
16027	LayerName *string `location:"uri" locationName:"LayerName" min:"1" type:"string" required:"true"`
16028
16029	// Only update the policy if the revision ID matches the ID specified. Use this
16030	// option to avoid modifying a policy that has changed since you last read it.
16031	RevisionId *string `location:"querystring" locationName:"RevisionId" type:"string"`
16032
16033	// The identifier that was specified when the statement was added.
16034	//
16035	// StatementId is a required field
16036	StatementId *string `location:"uri" locationName:"StatementId" min:"1" type:"string" required:"true"`
16037
16038	// The version number.
16039	//
16040	// VersionNumber is a required field
16041	VersionNumber *int64 `location:"uri" locationName:"VersionNumber" type:"long" required:"true"`
16042}
16043
16044// String returns the string representation.
16045//
16046// API parameter values that are decorated as "sensitive" in the API will not
16047// be included in the string output. The member name will be present, but the
16048// value will be replaced with "sensitive".
16049func (s RemoveLayerVersionPermissionInput) String() string {
16050	return awsutil.Prettify(s)
16051}
16052
16053// GoString returns the string representation.
16054//
16055// API parameter values that are decorated as "sensitive" in the API will not
16056// be included in the string output. The member name will be present, but the
16057// value will be replaced with "sensitive".
16058func (s RemoveLayerVersionPermissionInput) GoString() string {
16059	return s.String()
16060}
16061
16062// Validate inspects the fields of the type to determine if they are valid.
16063func (s *RemoveLayerVersionPermissionInput) Validate() error {
16064	invalidParams := request.ErrInvalidParams{Context: "RemoveLayerVersionPermissionInput"}
16065	if s.LayerName == nil {
16066		invalidParams.Add(request.NewErrParamRequired("LayerName"))
16067	}
16068	if s.LayerName != nil && len(*s.LayerName) < 1 {
16069		invalidParams.Add(request.NewErrParamMinLen("LayerName", 1))
16070	}
16071	if s.StatementId == nil {
16072		invalidParams.Add(request.NewErrParamRequired("StatementId"))
16073	}
16074	if s.StatementId != nil && len(*s.StatementId) < 1 {
16075		invalidParams.Add(request.NewErrParamMinLen("StatementId", 1))
16076	}
16077	if s.VersionNumber == nil {
16078		invalidParams.Add(request.NewErrParamRequired("VersionNumber"))
16079	}
16080
16081	if invalidParams.Len() > 0 {
16082		return invalidParams
16083	}
16084	return nil
16085}
16086
16087// SetLayerName sets the LayerName field's value.
16088func (s *RemoveLayerVersionPermissionInput) SetLayerName(v string) *RemoveLayerVersionPermissionInput {
16089	s.LayerName = &v
16090	return s
16091}
16092
16093// SetRevisionId sets the RevisionId field's value.
16094func (s *RemoveLayerVersionPermissionInput) SetRevisionId(v string) *RemoveLayerVersionPermissionInput {
16095	s.RevisionId = &v
16096	return s
16097}
16098
16099// SetStatementId sets the StatementId field's value.
16100func (s *RemoveLayerVersionPermissionInput) SetStatementId(v string) *RemoveLayerVersionPermissionInput {
16101	s.StatementId = &v
16102	return s
16103}
16104
16105// SetVersionNumber sets the VersionNumber field's value.
16106func (s *RemoveLayerVersionPermissionInput) SetVersionNumber(v int64) *RemoveLayerVersionPermissionInput {
16107	s.VersionNumber = &v
16108	return s
16109}
16110
16111type RemoveLayerVersionPermissionOutput struct {
16112	_ struct{} `type:"structure"`
16113}
16114
16115// String returns the string representation.
16116//
16117// API parameter values that are decorated as "sensitive" in the API will not
16118// be included in the string output. The member name will be present, but the
16119// value will be replaced with "sensitive".
16120func (s RemoveLayerVersionPermissionOutput) String() string {
16121	return awsutil.Prettify(s)
16122}
16123
16124// GoString returns the string representation.
16125//
16126// API parameter values that are decorated as "sensitive" in the API will not
16127// be included in the string output. The member name will be present, but the
16128// value will be replaced with "sensitive".
16129func (s RemoveLayerVersionPermissionOutput) GoString() string {
16130	return s.String()
16131}
16132
16133type RemovePermissionInput struct {
16134	_ struct{} `type:"structure" nopayload:"true"`
16135
16136	// The name of the Lambda function, version, or alias.
16137	//
16138	// Name formats
16139	//
16140	//    * Function name - my-function (name-only), my-function:v1 (with alias).
16141	//
16142	//    * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.
16143	//
16144	//    * Partial ARN - 123456789012:function:my-function.
16145	//
16146	// You can append a version number or alias to any of the formats. The length
16147	// constraint applies only to the full ARN. If you specify only the function
16148	// name, it is limited to 64 characters in length.
16149	//
16150	// FunctionName is a required field
16151	FunctionName *string `location:"uri" locationName:"FunctionName" min:"1" type:"string" required:"true"`
16152
16153	// Specify a version or alias to remove permissions from a published version
16154	// of the function.
16155	Qualifier *string `location:"querystring" locationName:"Qualifier" min:"1" type:"string"`
16156
16157	// Only update the policy if the revision ID matches the ID that's specified.
16158	// Use this option to avoid modifying a policy that has changed since you last
16159	// read it.
16160	RevisionId *string `location:"querystring" locationName:"RevisionId" type:"string"`
16161
16162	// Statement ID of the permission to remove.
16163	//
16164	// StatementId is a required field
16165	StatementId *string `location:"uri" locationName:"StatementId" min:"1" type:"string" required:"true"`
16166}
16167
16168// String returns the string representation.
16169//
16170// API parameter values that are decorated as "sensitive" in the API will not
16171// be included in the string output. The member name will be present, but the
16172// value will be replaced with "sensitive".
16173func (s RemovePermissionInput) String() string {
16174	return awsutil.Prettify(s)
16175}
16176
16177// GoString returns the string representation.
16178//
16179// API parameter values that are decorated as "sensitive" in the API will not
16180// be included in the string output. The member name will be present, but the
16181// value will be replaced with "sensitive".
16182func (s RemovePermissionInput) GoString() string {
16183	return s.String()
16184}
16185
16186// Validate inspects the fields of the type to determine if they are valid.
16187func (s *RemovePermissionInput) Validate() error {
16188	invalidParams := request.ErrInvalidParams{Context: "RemovePermissionInput"}
16189	if s.FunctionName == nil {
16190		invalidParams.Add(request.NewErrParamRequired("FunctionName"))
16191	}
16192	if s.FunctionName != nil && len(*s.FunctionName) < 1 {
16193		invalidParams.Add(request.NewErrParamMinLen("FunctionName", 1))
16194	}
16195	if s.Qualifier != nil && len(*s.Qualifier) < 1 {
16196		invalidParams.Add(request.NewErrParamMinLen("Qualifier", 1))
16197	}
16198	if s.StatementId == nil {
16199		invalidParams.Add(request.NewErrParamRequired("StatementId"))
16200	}
16201	if s.StatementId != nil && len(*s.StatementId) < 1 {
16202		invalidParams.Add(request.NewErrParamMinLen("StatementId", 1))
16203	}
16204
16205	if invalidParams.Len() > 0 {
16206		return invalidParams
16207	}
16208	return nil
16209}
16210
16211// SetFunctionName sets the FunctionName field's value.
16212func (s *RemovePermissionInput) SetFunctionName(v string) *RemovePermissionInput {
16213	s.FunctionName = &v
16214	return s
16215}
16216
16217// SetQualifier sets the Qualifier field's value.
16218func (s *RemovePermissionInput) SetQualifier(v string) *RemovePermissionInput {
16219	s.Qualifier = &v
16220	return s
16221}
16222
16223// SetRevisionId sets the RevisionId field's value.
16224func (s *RemovePermissionInput) SetRevisionId(v string) *RemovePermissionInput {
16225	s.RevisionId = &v
16226	return s
16227}
16228
16229// SetStatementId sets the StatementId field's value.
16230func (s *RemovePermissionInput) SetStatementId(v string) *RemovePermissionInput {
16231	s.StatementId = &v
16232	return s
16233}
16234
16235type RemovePermissionOutput struct {
16236	_ struct{} `type:"structure"`
16237}
16238
16239// String returns the string representation.
16240//
16241// API parameter values that are decorated as "sensitive" in the API will not
16242// be included in the string output. The member name will be present, but the
16243// value will be replaced with "sensitive".
16244func (s RemovePermissionOutput) String() string {
16245	return awsutil.Prettify(s)
16246}
16247
16248// GoString returns the string representation.
16249//
16250// API parameter values that are decorated as "sensitive" in the API will not
16251// be included in the string output. The member name will be present, but the
16252// value will be replaced with "sensitive".
16253func (s RemovePermissionOutput) GoString() string {
16254	return s.String()
16255}
16256
16257// The request payload exceeded the Invoke request body JSON input limit. For
16258// more information, see Limits (https://docs.aws.amazon.com/lambda/latest/dg/limits.html).
16259type RequestTooLargeException struct {
16260	_            struct{}                  `type:"structure"`
16261	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
16262
16263	Message_ *string `locationName:"message" type:"string"`
16264
16265	Type *string `type:"string"`
16266}
16267
16268// String returns the string representation.
16269//
16270// API parameter values that are decorated as "sensitive" in the API will not
16271// be included in the string output. The member name will be present, but the
16272// value will be replaced with "sensitive".
16273func (s RequestTooLargeException) String() string {
16274	return awsutil.Prettify(s)
16275}
16276
16277// GoString returns the string representation.
16278//
16279// API parameter values that are decorated as "sensitive" in the API will not
16280// be included in the string output. The member name will be present, but the
16281// value will be replaced with "sensitive".
16282func (s RequestTooLargeException) GoString() string {
16283	return s.String()
16284}
16285
16286func newErrorRequestTooLargeException(v protocol.ResponseMetadata) error {
16287	return &RequestTooLargeException{
16288		RespMetadata: v,
16289	}
16290}
16291
16292// Code returns the exception type name.
16293func (s *RequestTooLargeException) Code() string {
16294	return "RequestTooLargeException"
16295}
16296
16297// Message returns the exception's message.
16298func (s *RequestTooLargeException) Message() string {
16299	if s.Message_ != nil {
16300		return *s.Message_
16301	}
16302	return ""
16303}
16304
16305// OrigErr always returns nil, satisfies awserr.Error interface.
16306func (s *RequestTooLargeException) OrigErr() error {
16307	return nil
16308}
16309
16310func (s *RequestTooLargeException) Error() string {
16311	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
16312}
16313
16314// Status code returns the HTTP status code for the request's response error.
16315func (s *RequestTooLargeException) StatusCode() int {
16316	return s.RespMetadata.StatusCode
16317}
16318
16319// RequestID returns the service's response RequestID for request.
16320func (s *RequestTooLargeException) RequestID() string {
16321	return s.RespMetadata.RequestID
16322}
16323
16324// The resource already exists, or another operation is in progress.
16325type ResourceConflictException struct {
16326	_            struct{}                  `type:"structure"`
16327	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
16328
16329	// The exception message.
16330	Message_ *string `locationName:"message" type:"string"`
16331
16332	// The exception type.
16333	Type *string `type:"string"`
16334}
16335
16336// String returns the string representation.
16337//
16338// API parameter values that are decorated as "sensitive" in the API will not
16339// be included in the string output. The member name will be present, but the
16340// value will be replaced with "sensitive".
16341func (s ResourceConflictException) String() string {
16342	return awsutil.Prettify(s)
16343}
16344
16345// GoString returns the string representation.
16346//
16347// API parameter values that are decorated as "sensitive" in the API will not
16348// be included in the string output. The member name will be present, but the
16349// value will be replaced with "sensitive".
16350func (s ResourceConflictException) GoString() string {
16351	return s.String()
16352}
16353
16354func newErrorResourceConflictException(v protocol.ResponseMetadata) error {
16355	return &ResourceConflictException{
16356		RespMetadata: v,
16357	}
16358}
16359
16360// Code returns the exception type name.
16361func (s *ResourceConflictException) Code() string {
16362	return "ResourceConflictException"
16363}
16364
16365// Message returns the exception's message.
16366func (s *ResourceConflictException) Message() string {
16367	if s.Message_ != nil {
16368		return *s.Message_
16369	}
16370	return ""
16371}
16372
16373// OrigErr always returns nil, satisfies awserr.Error interface.
16374func (s *ResourceConflictException) OrigErr() error {
16375	return nil
16376}
16377
16378func (s *ResourceConflictException) Error() string {
16379	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
16380}
16381
16382// Status code returns the HTTP status code for the request's response error.
16383func (s *ResourceConflictException) StatusCode() int {
16384	return s.RespMetadata.StatusCode
16385}
16386
16387// RequestID returns the service's response RequestID for request.
16388func (s *ResourceConflictException) RequestID() string {
16389	return s.RespMetadata.RequestID
16390}
16391
16392// The operation conflicts with the resource's availability. For example, you
16393// attempted to update an EventSource Mapping in CREATING, or tried to delete
16394// a EventSource mapping currently in the UPDATING state.
16395type ResourceInUseException struct {
16396	_            struct{}                  `type:"structure"`
16397	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
16398
16399	Message_ *string `locationName:"Message" type:"string"`
16400
16401	Type *string `type:"string"`
16402}
16403
16404// String returns the string representation.
16405//
16406// API parameter values that are decorated as "sensitive" in the API will not
16407// be included in the string output. The member name will be present, but the
16408// value will be replaced with "sensitive".
16409func (s ResourceInUseException) String() string {
16410	return awsutil.Prettify(s)
16411}
16412
16413// GoString returns the string representation.
16414//
16415// API parameter values that are decorated as "sensitive" in the API will not
16416// be included in the string output. The member name will be present, but the
16417// value will be replaced with "sensitive".
16418func (s ResourceInUseException) GoString() string {
16419	return s.String()
16420}
16421
16422func newErrorResourceInUseException(v protocol.ResponseMetadata) error {
16423	return &ResourceInUseException{
16424		RespMetadata: v,
16425	}
16426}
16427
16428// Code returns the exception type name.
16429func (s *ResourceInUseException) Code() string {
16430	return "ResourceInUseException"
16431}
16432
16433// Message returns the exception's message.
16434func (s *ResourceInUseException) Message() string {
16435	if s.Message_ != nil {
16436		return *s.Message_
16437	}
16438	return ""
16439}
16440
16441// OrigErr always returns nil, satisfies awserr.Error interface.
16442func (s *ResourceInUseException) OrigErr() error {
16443	return nil
16444}
16445
16446func (s *ResourceInUseException) Error() string {
16447	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
16448}
16449
16450// Status code returns the HTTP status code for the request's response error.
16451func (s *ResourceInUseException) StatusCode() int {
16452	return s.RespMetadata.StatusCode
16453}
16454
16455// RequestID returns the service's response RequestID for request.
16456func (s *ResourceInUseException) RequestID() string {
16457	return s.RespMetadata.RequestID
16458}
16459
16460// The resource specified in the request does not exist.
16461type ResourceNotFoundException struct {
16462	_            struct{}                  `type:"structure"`
16463	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
16464
16465	Message_ *string `locationName:"Message" type:"string"`
16466
16467	Type *string `type:"string"`
16468}
16469
16470// String returns the string representation.
16471//
16472// API parameter values that are decorated as "sensitive" in the API will not
16473// be included in the string output. The member name will be present, but the
16474// value will be replaced with "sensitive".
16475func (s ResourceNotFoundException) String() string {
16476	return awsutil.Prettify(s)
16477}
16478
16479// GoString returns the string representation.
16480//
16481// API parameter values that are decorated as "sensitive" in the API will not
16482// be included in the string output. The member name will be present, but the
16483// value will be replaced with "sensitive".
16484func (s ResourceNotFoundException) GoString() string {
16485	return s.String()
16486}
16487
16488func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
16489	return &ResourceNotFoundException{
16490		RespMetadata: v,
16491	}
16492}
16493
16494// Code returns the exception type name.
16495func (s *ResourceNotFoundException) Code() string {
16496	return "ResourceNotFoundException"
16497}
16498
16499// Message returns the exception's message.
16500func (s *ResourceNotFoundException) Message() string {
16501	if s.Message_ != nil {
16502		return *s.Message_
16503	}
16504	return ""
16505}
16506
16507// OrigErr always returns nil, satisfies awserr.Error interface.
16508func (s *ResourceNotFoundException) OrigErr() error {
16509	return nil
16510}
16511
16512func (s *ResourceNotFoundException) Error() string {
16513	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
16514}
16515
16516// Status code returns the HTTP status code for the request's response error.
16517func (s *ResourceNotFoundException) StatusCode() int {
16518	return s.RespMetadata.StatusCode
16519}
16520
16521// RequestID returns the service's response RequestID for request.
16522func (s *ResourceNotFoundException) RequestID() string {
16523	return s.RespMetadata.RequestID
16524}
16525
16526// The function is inactive and its VPC connection is no longer available. Wait
16527// for the VPC connection to reestablish and try again.
16528type ResourceNotReadyException struct {
16529	_            struct{}                  `type:"structure"`
16530	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
16531
16532	// The exception message.
16533	Message_ *string `locationName:"message" type:"string"`
16534
16535	// The exception type.
16536	Type *string `type:"string"`
16537}
16538
16539// String returns the string representation.
16540//
16541// API parameter values that are decorated as "sensitive" in the API will not
16542// be included in the string output. The member name will be present, but the
16543// value will be replaced with "sensitive".
16544func (s ResourceNotReadyException) String() string {
16545	return awsutil.Prettify(s)
16546}
16547
16548// GoString returns the string representation.
16549//
16550// API parameter values that are decorated as "sensitive" in the API will not
16551// be included in the string output. The member name will be present, but the
16552// value will be replaced with "sensitive".
16553func (s ResourceNotReadyException) GoString() string {
16554	return s.String()
16555}
16556
16557func newErrorResourceNotReadyException(v protocol.ResponseMetadata) error {
16558	return &ResourceNotReadyException{
16559		RespMetadata: v,
16560	}
16561}
16562
16563// Code returns the exception type name.
16564func (s *ResourceNotReadyException) Code() string {
16565	return "ResourceNotReadyException"
16566}
16567
16568// Message returns the exception's message.
16569func (s *ResourceNotReadyException) Message() string {
16570	if s.Message_ != nil {
16571		return *s.Message_
16572	}
16573	return ""
16574}
16575
16576// OrigErr always returns nil, satisfies awserr.Error interface.
16577func (s *ResourceNotReadyException) OrigErr() error {
16578	return nil
16579}
16580
16581func (s *ResourceNotReadyException) Error() string {
16582	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
16583}
16584
16585// Status code returns the HTTP status code for the request's response error.
16586func (s *ResourceNotReadyException) StatusCode() int {
16587	return s.RespMetadata.StatusCode
16588}
16589
16590// RequestID returns the service's response RequestID for request.
16591func (s *ResourceNotReadyException) RequestID() string {
16592	return s.RespMetadata.RequestID
16593}
16594
16595// The self-managed Apache Kafka cluster for your event source.
16596type SelfManagedEventSource struct {
16597	_ struct{} `type:"structure"`
16598
16599	// The list of bootstrap servers for your Kafka brokers in the following format:
16600	// "KAFKA_BOOTSTRAP_SERVERS": ["abc.xyz.com:xxxx","abc2.xyz.com:xxxx"].
16601	Endpoints map[string][]*string `min:"1" type:"map"`
16602}
16603
16604// String returns the string representation.
16605//
16606// API parameter values that are decorated as "sensitive" in the API will not
16607// be included in the string output. The member name will be present, but the
16608// value will be replaced with "sensitive".
16609func (s SelfManagedEventSource) String() string {
16610	return awsutil.Prettify(s)
16611}
16612
16613// GoString returns the string representation.
16614//
16615// API parameter values that are decorated as "sensitive" in the API will not
16616// be included in the string output. The member name will be present, but the
16617// value will be replaced with "sensitive".
16618func (s SelfManagedEventSource) GoString() string {
16619	return s.String()
16620}
16621
16622// Validate inspects the fields of the type to determine if they are valid.
16623func (s *SelfManagedEventSource) Validate() error {
16624	invalidParams := request.ErrInvalidParams{Context: "SelfManagedEventSource"}
16625	if s.Endpoints != nil && len(s.Endpoints) < 1 {
16626		invalidParams.Add(request.NewErrParamMinLen("Endpoints", 1))
16627	}
16628
16629	if invalidParams.Len() > 0 {
16630		return invalidParams
16631	}
16632	return nil
16633}
16634
16635// SetEndpoints sets the Endpoints field's value.
16636func (s *SelfManagedEventSource) SetEndpoints(v map[string][]*string) *SelfManagedEventSource {
16637	s.Endpoints = v
16638	return s
16639}
16640
16641// The Lambda service encountered an internal error.
16642type ServiceException struct {
16643	_            struct{}                  `type:"structure"`
16644	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
16645
16646	Message_ *string `locationName:"Message" type:"string"`
16647
16648	Type *string `type:"string"`
16649}
16650
16651// String returns the string representation.
16652//
16653// API parameter values that are decorated as "sensitive" in the API will not
16654// be included in the string output. The member name will be present, but the
16655// value will be replaced with "sensitive".
16656func (s ServiceException) String() string {
16657	return awsutil.Prettify(s)
16658}
16659
16660// GoString returns the string representation.
16661//
16662// API parameter values that are decorated as "sensitive" in the API will not
16663// be included in the string output. The member name will be present, but the
16664// value will be replaced with "sensitive".
16665func (s ServiceException) GoString() string {
16666	return s.String()
16667}
16668
16669func newErrorServiceException(v protocol.ResponseMetadata) error {
16670	return &ServiceException{
16671		RespMetadata: v,
16672	}
16673}
16674
16675// Code returns the exception type name.
16676func (s *ServiceException) Code() string {
16677	return "ServiceException"
16678}
16679
16680// Message returns the exception's message.
16681func (s *ServiceException) Message() string {
16682	if s.Message_ != nil {
16683		return *s.Message_
16684	}
16685	return ""
16686}
16687
16688// OrigErr always returns nil, satisfies awserr.Error interface.
16689func (s *ServiceException) OrigErr() error {
16690	return nil
16691}
16692
16693func (s *ServiceException) Error() string {
16694	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
16695}
16696
16697// Status code returns the HTTP status code for the request's response error.
16698func (s *ServiceException) StatusCode() int {
16699	return s.RespMetadata.StatusCode
16700}
16701
16702// RequestID returns the service's response RequestID for request.
16703func (s *ServiceException) RequestID() string {
16704	return s.RespMetadata.RequestID
16705}
16706
16707// To secure and define access to your event source, you can specify the authentication
16708// protocol, VPC components, or virtual host.
16709type SourceAccessConfiguration struct {
16710	_ struct{} `type:"structure"`
16711
16712	// The type of authentication protocol, VPC components, or virtual host for
16713	// your event source. For example: "Type":"SASL_SCRAM_512_AUTH".
16714	//
16715	//    * BASIC_AUTH - (Amazon MQ) The Secrets Manager secret that stores your
16716	//    broker credentials.
16717	//
16718	//    * BASIC_AUTH - (Self-managed Apache Kafka) The Secrets Manager ARN of
16719	//    your secret key used for SASL/PLAIN authentication of your Apache Kafka
16720	//    brokers.
16721	//
16722	//    * VPC_SUBNET - The subnets associated with your VPC. Lambda connects to
16723	//    these subnets to fetch data from your self-managed Apache Kafka cluster.
16724	//
16725	//    * VPC_SECURITY_GROUP - The VPC security group used to manage access to
16726	//    your self-managed Apache Kafka brokers.
16727	//
16728	//    * SASL_SCRAM_256_AUTH - The Secrets Manager ARN of your secret key used
16729	//    for SASL SCRAM-256 authentication of your self-managed Apache Kafka brokers.
16730	//
16731	//    * SASL_SCRAM_512_AUTH - The Secrets Manager ARN of your secret key used
16732	//    for SASL SCRAM-512 authentication of your self-managed Apache Kafka brokers.
16733	//
16734	//    * VIRTUAL_HOST - (Amazon MQ) The name of the virtual host in your RabbitMQ
16735	//    broker. Lambda uses this RabbitMQ host as the event source.
16736	Type *string `type:"string" enum:"SourceAccessType"`
16737
16738	// The value for your chosen configuration in Type. For example: "URI": "arn:aws:secretsmanager:us-east-1:01234567890:secret:MyBrokerSecretName".
16739	URI *string `min:"1" type:"string"`
16740}
16741
16742// String returns the string representation.
16743//
16744// API parameter values that are decorated as "sensitive" in the API will not
16745// be included in the string output. The member name will be present, but the
16746// value will be replaced with "sensitive".
16747func (s SourceAccessConfiguration) String() string {
16748	return awsutil.Prettify(s)
16749}
16750
16751// GoString returns the string representation.
16752//
16753// API parameter values that are decorated as "sensitive" in the API will not
16754// be included in the string output. The member name will be present, but the
16755// value will be replaced with "sensitive".
16756func (s SourceAccessConfiguration) GoString() string {
16757	return s.String()
16758}
16759
16760// Validate inspects the fields of the type to determine if they are valid.
16761func (s *SourceAccessConfiguration) Validate() error {
16762	invalidParams := request.ErrInvalidParams{Context: "SourceAccessConfiguration"}
16763	if s.URI != nil && len(*s.URI) < 1 {
16764		invalidParams.Add(request.NewErrParamMinLen("URI", 1))
16765	}
16766
16767	if invalidParams.Len() > 0 {
16768		return invalidParams
16769	}
16770	return nil
16771}
16772
16773// SetType sets the Type field's value.
16774func (s *SourceAccessConfiguration) SetType(v string) *SourceAccessConfiguration {
16775	s.Type = &v
16776	return s
16777}
16778
16779// SetURI sets the URI field's value.
16780func (s *SourceAccessConfiguration) SetURI(v string) *SourceAccessConfiguration {
16781	s.URI = &v
16782	return s
16783}
16784
16785// Lambda was not able to set up VPC access for the Lambda function because
16786// one or more configured subnets has no available IP addresses.
16787type SubnetIPAddressLimitReachedException struct {
16788	_            struct{}                  `type:"structure"`
16789	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
16790
16791	Message_ *string `locationName:"Message" type:"string"`
16792
16793	Type *string `type:"string"`
16794}
16795
16796// String returns the string representation.
16797//
16798// API parameter values that are decorated as "sensitive" in the API will not
16799// be included in the string output. The member name will be present, but the
16800// value will be replaced with "sensitive".
16801func (s SubnetIPAddressLimitReachedException) String() string {
16802	return awsutil.Prettify(s)
16803}
16804
16805// GoString returns the string representation.
16806//
16807// API parameter values that are decorated as "sensitive" in the API will not
16808// be included in the string output. The member name will be present, but the
16809// value will be replaced with "sensitive".
16810func (s SubnetIPAddressLimitReachedException) GoString() string {
16811	return s.String()
16812}
16813
16814func newErrorSubnetIPAddressLimitReachedException(v protocol.ResponseMetadata) error {
16815	return &SubnetIPAddressLimitReachedException{
16816		RespMetadata: v,
16817	}
16818}
16819
16820// Code returns the exception type name.
16821func (s *SubnetIPAddressLimitReachedException) Code() string {
16822	return "SubnetIPAddressLimitReachedException"
16823}
16824
16825// Message returns the exception's message.
16826func (s *SubnetIPAddressLimitReachedException) Message() string {
16827	if s.Message_ != nil {
16828		return *s.Message_
16829	}
16830	return ""
16831}
16832
16833// OrigErr always returns nil, satisfies awserr.Error interface.
16834func (s *SubnetIPAddressLimitReachedException) OrigErr() error {
16835	return nil
16836}
16837
16838func (s *SubnetIPAddressLimitReachedException) Error() string {
16839	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
16840}
16841
16842// Status code returns the HTTP status code for the request's response error.
16843func (s *SubnetIPAddressLimitReachedException) StatusCode() int {
16844	return s.RespMetadata.StatusCode
16845}
16846
16847// RequestID returns the service's response RequestID for request.
16848func (s *SubnetIPAddressLimitReachedException) RequestID() string {
16849	return s.RespMetadata.RequestID
16850}
16851
16852type TagResourceInput struct {
16853	_ struct{} `type:"structure"`
16854
16855	// The function's Amazon Resource Name (ARN).
16856	//
16857	// Resource is a required field
16858	Resource *string `location:"uri" locationName:"ARN" type:"string" required:"true"`
16859
16860	// A list of tags to apply to the function.
16861	//
16862	// Tags is a required field
16863	Tags map[string]*string `type:"map" required:"true"`
16864}
16865
16866// String returns the string representation.
16867//
16868// API parameter values that are decorated as "sensitive" in the API will not
16869// be included in the string output. The member name will be present, but the
16870// value will be replaced with "sensitive".
16871func (s TagResourceInput) String() string {
16872	return awsutil.Prettify(s)
16873}
16874
16875// GoString returns the string representation.
16876//
16877// API parameter values that are decorated as "sensitive" in the API will not
16878// be included in the string output. The member name will be present, but the
16879// value will be replaced with "sensitive".
16880func (s TagResourceInput) GoString() string {
16881	return s.String()
16882}
16883
16884// Validate inspects the fields of the type to determine if they are valid.
16885func (s *TagResourceInput) Validate() error {
16886	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
16887	if s.Resource == nil {
16888		invalidParams.Add(request.NewErrParamRequired("Resource"))
16889	}
16890	if s.Resource != nil && len(*s.Resource) < 1 {
16891		invalidParams.Add(request.NewErrParamMinLen("Resource", 1))
16892	}
16893	if s.Tags == nil {
16894		invalidParams.Add(request.NewErrParamRequired("Tags"))
16895	}
16896
16897	if invalidParams.Len() > 0 {
16898		return invalidParams
16899	}
16900	return nil
16901}
16902
16903// SetResource sets the Resource field's value.
16904func (s *TagResourceInput) SetResource(v string) *TagResourceInput {
16905	s.Resource = &v
16906	return s
16907}
16908
16909// SetTags sets the Tags field's value.
16910func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput {
16911	s.Tags = v
16912	return s
16913}
16914
16915type TagResourceOutput struct {
16916	_ struct{} `type:"structure"`
16917}
16918
16919// String returns the string representation.
16920//
16921// API parameter values that are decorated as "sensitive" in the API will not
16922// be included in the string output. The member name will be present, but the
16923// value will be replaced with "sensitive".
16924func (s TagResourceOutput) String() string {
16925	return awsutil.Prettify(s)
16926}
16927
16928// GoString returns the string representation.
16929//
16930// API parameter values that are decorated as "sensitive" in the API will not
16931// be included in the string output. The member name will be present, but the
16932// value will be replaced with "sensitive".
16933func (s TagResourceOutput) GoString() string {
16934	return s.String()
16935}
16936
16937// The request throughput limit was exceeded.
16938type TooManyRequestsException struct {
16939	_            struct{}                  `type:"structure"`
16940	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
16941
16942	Message_ *string `locationName:"message" type:"string"`
16943
16944	Reason *string `type:"string" enum:"ThrottleReason"`
16945
16946	// The number of seconds the caller should wait before retrying.
16947	RetryAfterSeconds *string `location:"header" locationName:"Retry-After" type:"string"`
16948
16949	Type *string `type:"string"`
16950}
16951
16952// String returns the string representation.
16953//
16954// API parameter values that are decorated as "sensitive" in the API will not
16955// be included in the string output. The member name will be present, but the
16956// value will be replaced with "sensitive".
16957func (s TooManyRequestsException) String() string {
16958	return awsutil.Prettify(s)
16959}
16960
16961// GoString returns the string representation.
16962//
16963// API parameter values that are decorated as "sensitive" in the API will not
16964// be included in the string output. The member name will be present, but the
16965// value will be replaced with "sensitive".
16966func (s TooManyRequestsException) GoString() string {
16967	return s.String()
16968}
16969
16970func newErrorTooManyRequestsException(v protocol.ResponseMetadata) error {
16971	return &TooManyRequestsException{
16972		RespMetadata: v,
16973	}
16974}
16975
16976// Code returns the exception type name.
16977func (s *TooManyRequestsException) Code() string {
16978	return "TooManyRequestsException"
16979}
16980
16981// Message returns the exception's message.
16982func (s *TooManyRequestsException) Message() string {
16983	if s.Message_ != nil {
16984		return *s.Message_
16985	}
16986	return ""
16987}
16988
16989// OrigErr always returns nil, satisfies awserr.Error interface.
16990func (s *TooManyRequestsException) OrigErr() error {
16991	return nil
16992}
16993
16994func (s *TooManyRequestsException) Error() string {
16995	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
16996}
16997
16998// Status code returns the HTTP status code for the request's response error.
16999func (s *TooManyRequestsException) StatusCode() int {
17000	return s.RespMetadata.StatusCode
17001}
17002
17003// RequestID returns the service's response RequestID for request.
17004func (s *TooManyRequestsException) RequestID() string {
17005	return s.RespMetadata.RequestID
17006}
17007
17008// The function's X-Ray (https://docs.aws.amazon.com/lambda/latest/dg/services-xray.html)
17009// tracing configuration. To sample and record incoming requests, set Mode to
17010// Active.
17011type TracingConfig struct {
17012	_ struct{} `type:"structure"`
17013
17014	// The tracing mode.
17015	Mode *string `type:"string" enum:"TracingMode"`
17016}
17017
17018// String returns the string representation.
17019//
17020// API parameter values that are decorated as "sensitive" in the API will not
17021// be included in the string output. The member name will be present, but the
17022// value will be replaced with "sensitive".
17023func (s TracingConfig) String() string {
17024	return awsutil.Prettify(s)
17025}
17026
17027// GoString returns the string representation.
17028//
17029// API parameter values that are decorated as "sensitive" in the API will not
17030// be included in the string output. The member name will be present, but the
17031// value will be replaced with "sensitive".
17032func (s TracingConfig) GoString() string {
17033	return s.String()
17034}
17035
17036// SetMode sets the Mode field's value.
17037func (s *TracingConfig) SetMode(v string) *TracingConfig {
17038	s.Mode = &v
17039	return s
17040}
17041
17042// The function's X-Ray tracing configuration.
17043type TracingConfigResponse struct {
17044	_ struct{} `type:"structure"`
17045
17046	// The tracing mode.
17047	Mode *string `type:"string" enum:"TracingMode"`
17048}
17049
17050// String returns the string representation.
17051//
17052// API parameter values that are decorated as "sensitive" in the API will not
17053// be included in the string output. The member name will be present, but the
17054// value will be replaced with "sensitive".
17055func (s TracingConfigResponse) String() string {
17056	return awsutil.Prettify(s)
17057}
17058
17059// GoString returns the string representation.
17060//
17061// API parameter values that are decorated as "sensitive" in the API will not
17062// be included in the string output. The member name will be present, but the
17063// value will be replaced with "sensitive".
17064func (s TracingConfigResponse) GoString() string {
17065	return s.String()
17066}
17067
17068// SetMode sets the Mode field's value.
17069func (s *TracingConfigResponse) SetMode(v string) *TracingConfigResponse {
17070	s.Mode = &v
17071	return s
17072}
17073
17074// The content type of the Invoke request body is not JSON.
17075type UnsupportedMediaTypeException struct {
17076	_            struct{}                  `type:"structure"`
17077	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
17078
17079	Message_ *string `locationName:"message" type:"string"`
17080
17081	Type *string `type:"string"`
17082}
17083
17084// String returns the string representation.
17085//
17086// API parameter values that are decorated as "sensitive" in the API will not
17087// be included in the string output. The member name will be present, but the
17088// value will be replaced with "sensitive".
17089func (s UnsupportedMediaTypeException) String() string {
17090	return awsutil.Prettify(s)
17091}
17092
17093// GoString returns the string representation.
17094//
17095// API parameter values that are decorated as "sensitive" in the API will not
17096// be included in the string output. The member name will be present, but the
17097// value will be replaced with "sensitive".
17098func (s UnsupportedMediaTypeException) GoString() string {
17099	return s.String()
17100}
17101
17102func newErrorUnsupportedMediaTypeException(v protocol.ResponseMetadata) error {
17103	return &UnsupportedMediaTypeException{
17104		RespMetadata: v,
17105	}
17106}
17107
17108// Code returns the exception type name.
17109func (s *UnsupportedMediaTypeException) Code() string {
17110	return "UnsupportedMediaTypeException"
17111}
17112
17113// Message returns the exception's message.
17114func (s *UnsupportedMediaTypeException) Message() string {
17115	if s.Message_ != nil {
17116		return *s.Message_
17117	}
17118	return ""
17119}
17120
17121// OrigErr always returns nil, satisfies awserr.Error interface.
17122func (s *UnsupportedMediaTypeException) OrigErr() error {
17123	return nil
17124}
17125
17126func (s *UnsupportedMediaTypeException) Error() string {
17127	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
17128}
17129
17130// Status code returns the HTTP status code for the request's response error.
17131func (s *UnsupportedMediaTypeException) StatusCode() int {
17132	return s.RespMetadata.StatusCode
17133}
17134
17135// RequestID returns the service's response RequestID for request.
17136func (s *UnsupportedMediaTypeException) RequestID() string {
17137	return s.RespMetadata.RequestID
17138}
17139
17140type UntagResourceInput struct {
17141	_ struct{} `type:"structure" nopayload:"true"`
17142
17143	// The function's Amazon Resource Name (ARN).
17144	//
17145	// Resource is a required field
17146	Resource *string `location:"uri" locationName:"ARN" type:"string" required:"true"`
17147
17148	// A list of tag keys to remove from the function.
17149	//
17150	// TagKeys is a required field
17151	TagKeys []*string `location:"querystring" locationName:"tagKeys" type:"list" required:"true"`
17152}
17153
17154// String returns the string representation.
17155//
17156// API parameter values that are decorated as "sensitive" in the API will not
17157// be included in the string output. The member name will be present, but the
17158// value will be replaced with "sensitive".
17159func (s UntagResourceInput) String() string {
17160	return awsutil.Prettify(s)
17161}
17162
17163// GoString returns the string representation.
17164//
17165// API parameter values that are decorated as "sensitive" in the API will not
17166// be included in the string output. The member name will be present, but the
17167// value will be replaced with "sensitive".
17168func (s UntagResourceInput) GoString() string {
17169	return s.String()
17170}
17171
17172// Validate inspects the fields of the type to determine if they are valid.
17173func (s *UntagResourceInput) Validate() error {
17174	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
17175	if s.Resource == nil {
17176		invalidParams.Add(request.NewErrParamRequired("Resource"))
17177	}
17178	if s.Resource != nil && len(*s.Resource) < 1 {
17179		invalidParams.Add(request.NewErrParamMinLen("Resource", 1))
17180	}
17181	if s.TagKeys == nil {
17182		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
17183	}
17184
17185	if invalidParams.Len() > 0 {
17186		return invalidParams
17187	}
17188	return nil
17189}
17190
17191// SetResource sets the Resource field's value.
17192func (s *UntagResourceInput) SetResource(v string) *UntagResourceInput {
17193	s.Resource = &v
17194	return s
17195}
17196
17197// SetTagKeys sets the TagKeys field's value.
17198func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
17199	s.TagKeys = v
17200	return s
17201}
17202
17203type UntagResourceOutput struct {
17204	_ struct{} `type:"structure"`
17205}
17206
17207// String returns the string representation.
17208//
17209// API parameter values that are decorated as "sensitive" in the API will not
17210// be included in the string output. The member name will be present, but the
17211// value will be replaced with "sensitive".
17212func (s UntagResourceOutput) String() string {
17213	return awsutil.Prettify(s)
17214}
17215
17216// GoString returns the string representation.
17217//
17218// API parameter values that are decorated as "sensitive" in the API will not
17219// be included in the string output. The member name will be present, but the
17220// value will be replaced with "sensitive".
17221func (s UntagResourceOutput) GoString() string {
17222	return s.String()
17223}
17224
17225type UpdateAliasInput struct {
17226	_ struct{} `type:"structure"`
17227
17228	// A description of the alias.
17229	Description *string `type:"string"`
17230
17231	// The name of the Lambda function.
17232	//
17233	// Name formats
17234	//
17235	//    * Function name - MyFunction.
17236	//
17237	//    * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.
17238	//
17239	//    * Partial ARN - 123456789012:function:MyFunction.
17240	//
17241	// The length constraint applies only to the full ARN. If you specify only the
17242	// function name, it is limited to 64 characters in length.
17243	//
17244	// FunctionName is a required field
17245	FunctionName *string `location:"uri" locationName:"FunctionName" min:"1" type:"string" required:"true"`
17246
17247	// The function version that the alias invokes.
17248	FunctionVersion *string `min:"1" type:"string"`
17249
17250	// The name of the alias.
17251	//
17252	// Name is a required field
17253	Name *string `location:"uri" locationName:"Name" min:"1" type:"string" required:"true"`
17254
17255	// Only update the alias if the revision ID matches the ID that's specified.
17256	// Use this option to avoid modifying an alias that has changed since you last
17257	// read it.
17258	RevisionId *string `type:"string"`
17259
17260	// The routing configuration (https://docs.aws.amazon.com/lambda/latest/dg/configuration-aliases.html#configuring-alias-routing)
17261	// of the alias.
17262	RoutingConfig *AliasRoutingConfiguration `type:"structure"`
17263}
17264
17265// String returns the string representation.
17266//
17267// API parameter values that are decorated as "sensitive" in the API will not
17268// be included in the string output. The member name will be present, but the
17269// value will be replaced with "sensitive".
17270func (s UpdateAliasInput) String() string {
17271	return awsutil.Prettify(s)
17272}
17273
17274// GoString returns the string representation.
17275//
17276// API parameter values that are decorated as "sensitive" in the API will not
17277// be included in the string output. The member name will be present, but the
17278// value will be replaced with "sensitive".
17279func (s UpdateAliasInput) GoString() string {
17280	return s.String()
17281}
17282
17283// Validate inspects the fields of the type to determine if they are valid.
17284func (s *UpdateAliasInput) Validate() error {
17285	invalidParams := request.ErrInvalidParams{Context: "UpdateAliasInput"}
17286	if s.FunctionName == nil {
17287		invalidParams.Add(request.NewErrParamRequired("FunctionName"))
17288	}
17289	if s.FunctionName != nil && len(*s.FunctionName) < 1 {
17290		invalidParams.Add(request.NewErrParamMinLen("FunctionName", 1))
17291	}
17292	if s.FunctionVersion != nil && len(*s.FunctionVersion) < 1 {
17293		invalidParams.Add(request.NewErrParamMinLen("FunctionVersion", 1))
17294	}
17295	if s.Name == nil {
17296		invalidParams.Add(request.NewErrParamRequired("Name"))
17297	}
17298	if s.Name != nil && len(*s.Name) < 1 {
17299		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
17300	}
17301
17302	if invalidParams.Len() > 0 {
17303		return invalidParams
17304	}
17305	return nil
17306}
17307
17308// SetDescription sets the Description field's value.
17309func (s *UpdateAliasInput) SetDescription(v string) *UpdateAliasInput {
17310	s.Description = &v
17311	return s
17312}
17313
17314// SetFunctionName sets the FunctionName field's value.
17315func (s *UpdateAliasInput) SetFunctionName(v string) *UpdateAliasInput {
17316	s.FunctionName = &v
17317	return s
17318}
17319
17320// SetFunctionVersion sets the FunctionVersion field's value.
17321func (s *UpdateAliasInput) SetFunctionVersion(v string) *UpdateAliasInput {
17322	s.FunctionVersion = &v
17323	return s
17324}
17325
17326// SetName sets the Name field's value.
17327func (s *UpdateAliasInput) SetName(v string) *UpdateAliasInput {
17328	s.Name = &v
17329	return s
17330}
17331
17332// SetRevisionId sets the RevisionId field's value.
17333func (s *UpdateAliasInput) SetRevisionId(v string) *UpdateAliasInput {
17334	s.RevisionId = &v
17335	return s
17336}
17337
17338// SetRoutingConfig sets the RoutingConfig field's value.
17339func (s *UpdateAliasInput) SetRoutingConfig(v *AliasRoutingConfiguration) *UpdateAliasInput {
17340	s.RoutingConfig = v
17341	return s
17342}
17343
17344type UpdateCodeSigningConfigInput struct {
17345	_ struct{} `type:"structure"`
17346
17347	// Signing profiles for this code signing configuration.
17348	AllowedPublishers *AllowedPublishers `type:"structure"`
17349
17350	// The The Amazon Resource Name (ARN) of the code signing configuration.
17351	//
17352	// CodeSigningConfigArn is a required field
17353	CodeSigningConfigArn *string `location:"uri" locationName:"CodeSigningConfigArn" type:"string" required:"true"`
17354
17355	// The code signing policy.
17356	CodeSigningPolicies *CodeSigningPolicies `type:"structure"`
17357
17358	// Descriptive name for this code signing configuration.
17359	Description *string `type:"string"`
17360}
17361
17362// String returns the string representation.
17363//
17364// API parameter values that are decorated as "sensitive" in the API will not
17365// be included in the string output. The member name will be present, but the
17366// value will be replaced with "sensitive".
17367func (s UpdateCodeSigningConfigInput) String() string {
17368	return awsutil.Prettify(s)
17369}
17370
17371// GoString returns the string representation.
17372//
17373// API parameter values that are decorated as "sensitive" in the API will not
17374// be included in the string output. The member name will be present, but the
17375// value will be replaced with "sensitive".
17376func (s UpdateCodeSigningConfigInput) GoString() string {
17377	return s.String()
17378}
17379
17380// Validate inspects the fields of the type to determine if they are valid.
17381func (s *UpdateCodeSigningConfigInput) Validate() error {
17382	invalidParams := request.ErrInvalidParams{Context: "UpdateCodeSigningConfigInput"}
17383	if s.CodeSigningConfigArn == nil {
17384		invalidParams.Add(request.NewErrParamRequired("CodeSigningConfigArn"))
17385	}
17386	if s.CodeSigningConfigArn != nil && len(*s.CodeSigningConfigArn) < 1 {
17387		invalidParams.Add(request.NewErrParamMinLen("CodeSigningConfigArn", 1))
17388	}
17389	if s.AllowedPublishers != nil {
17390		if err := s.AllowedPublishers.Validate(); err != nil {
17391			invalidParams.AddNested("AllowedPublishers", err.(request.ErrInvalidParams))
17392		}
17393	}
17394
17395	if invalidParams.Len() > 0 {
17396		return invalidParams
17397	}
17398	return nil
17399}
17400
17401// SetAllowedPublishers sets the AllowedPublishers field's value.
17402func (s *UpdateCodeSigningConfigInput) SetAllowedPublishers(v *AllowedPublishers) *UpdateCodeSigningConfigInput {
17403	s.AllowedPublishers = v
17404	return s
17405}
17406
17407// SetCodeSigningConfigArn sets the CodeSigningConfigArn field's value.
17408func (s *UpdateCodeSigningConfigInput) SetCodeSigningConfigArn(v string) *UpdateCodeSigningConfigInput {
17409	s.CodeSigningConfigArn = &v
17410	return s
17411}
17412
17413// SetCodeSigningPolicies sets the CodeSigningPolicies field's value.
17414func (s *UpdateCodeSigningConfigInput) SetCodeSigningPolicies(v *CodeSigningPolicies) *UpdateCodeSigningConfigInput {
17415	s.CodeSigningPolicies = v
17416	return s
17417}
17418
17419// SetDescription sets the Description field's value.
17420func (s *UpdateCodeSigningConfigInput) SetDescription(v string) *UpdateCodeSigningConfigInput {
17421	s.Description = &v
17422	return s
17423}
17424
17425type UpdateCodeSigningConfigOutput struct {
17426	_ struct{} `type:"structure"`
17427
17428	// The code signing configuration
17429	//
17430	// CodeSigningConfig is a required field
17431	CodeSigningConfig *CodeSigningConfig `type:"structure" required:"true"`
17432}
17433
17434// String returns the string representation.
17435//
17436// API parameter values that are decorated as "sensitive" in the API will not
17437// be included in the string output. The member name will be present, but the
17438// value will be replaced with "sensitive".
17439func (s UpdateCodeSigningConfigOutput) String() string {
17440	return awsutil.Prettify(s)
17441}
17442
17443// GoString returns the string representation.
17444//
17445// API parameter values that are decorated as "sensitive" in the API will not
17446// be included in the string output. The member name will be present, but the
17447// value will be replaced with "sensitive".
17448func (s UpdateCodeSigningConfigOutput) GoString() string {
17449	return s.String()
17450}
17451
17452// SetCodeSigningConfig sets the CodeSigningConfig field's value.
17453func (s *UpdateCodeSigningConfigOutput) SetCodeSigningConfig(v *CodeSigningConfig) *UpdateCodeSigningConfigOutput {
17454	s.CodeSigningConfig = v
17455	return s
17456}
17457
17458type UpdateEventSourceMappingInput struct {
17459	_ struct{} `type:"structure"`
17460
17461	// The maximum number of records in each batch that Lambda pulls from your stream
17462	// or queue and sends to your function. Lambda passes all of the records in
17463	// the batch to the function in a single call, up to the payload limit for synchronous
17464	// invocation (6 MB).
17465	//
17466	//    * Amazon Kinesis - Default 100. Max 10,000.
17467	//
17468	//    * Amazon DynamoDB Streams - Default 100. Max 1,000.
17469	//
17470	//    * Amazon Simple Queue Service - Default 10. For standard queues the max
17471	//    is 10,000. For FIFO queues the max is 10.
17472	//
17473	//    * Amazon Managed Streaming for Apache Kafka - Default 100. Max 10,000.
17474	//
17475	//    * Self-Managed Apache Kafka - Default 100. Max 10,000.
17476	BatchSize *int64 `min:"1" type:"integer"`
17477
17478	// (Streams only) If the function returns an error, split the batch in two and
17479	// retry.
17480	BisectBatchOnFunctionError *bool `type:"boolean"`
17481
17482	// (Streams only) An Amazon SQS queue or Amazon SNS topic destination for discarded
17483	// records.
17484	DestinationConfig *DestinationConfig `type:"structure"`
17485
17486	// When true, the event source mapping is active. When false, Lambda pauses
17487	// polling and invocation.
17488	//
17489	// Default: True
17490	Enabled *bool `type:"boolean"`
17491
17492	// The name of the Lambda function.
17493	//
17494	// Name formats
17495	//
17496	//    * Function name - MyFunction.
17497	//
17498	//    * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.
17499	//
17500	//    * Version or Alias ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction:PROD.
17501	//
17502	//    * Partial ARN - 123456789012:function:MyFunction.
17503	//
17504	// The length constraint applies only to the full ARN. If you specify only the
17505	// function name, it's limited to 64 characters in length.
17506	FunctionName *string `min:"1" type:"string"`
17507
17508	// (Streams only) A list of current response type enums applied to the event
17509	// source mapping.
17510	FunctionResponseTypes []*string `type:"list"`
17511
17512	// (Streams and Amazon SQS standard queues) The maximum amount of time, in seconds,
17513	// that Lambda spends gathering records before invoking the function.
17514	//
17515	// Default: 0
17516	//
17517	// Related setting: When you set BatchSize to a value greater than 10, you must
17518	// set MaximumBatchingWindowInSeconds to at least 1.
17519	MaximumBatchingWindowInSeconds *int64 `type:"integer"`
17520
17521	// (Streams only) Discard records older than the specified age. The default
17522	// value is infinite (-1).
17523	MaximumRecordAgeInSeconds *int64 `type:"integer"`
17524
17525	// (Streams only) Discard records after the specified number of retries. The
17526	// default value is infinite (-1). When set to infinite (-1), failed records
17527	// will be retried until the record expires.
17528	MaximumRetryAttempts *int64 `type:"integer"`
17529
17530	// (Streams only) The number of batches to process from each shard concurrently.
17531	ParallelizationFactor *int64 `min:"1" type:"integer"`
17532
17533	// An array of authentication protocols or VPC components required to secure
17534	// your event source.
17535	SourceAccessConfigurations []*SourceAccessConfiguration `type:"list"`
17536
17537	// (Streams only) The duration in seconds of a processing window. The range
17538	// is between 1 second up to 900 seconds.
17539	TumblingWindowInSeconds *int64 `type:"integer"`
17540
17541	// The identifier of the event source mapping.
17542	//
17543	// UUID is a required field
17544	UUID *string `location:"uri" locationName:"UUID" type:"string" required:"true"`
17545}
17546
17547// String returns the string representation.
17548//
17549// API parameter values that are decorated as "sensitive" in the API will not
17550// be included in the string output. The member name will be present, but the
17551// value will be replaced with "sensitive".
17552func (s UpdateEventSourceMappingInput) String() string {
17553	return awsutil.Prettify(s)
17554}
17555
17556// GoString returns the string representation.
17557//
17558// API parameter values that are decorated as "sensitive" in the API will not
17559// be included in the string output. The member name will be present, but the
17560// value will be replaced with "sensitive".
17561func (s UpdateEventSourceMappingInput) GoString() string {
17562	return s.String()
17563}
17564
17565// Validate inspects the fields of the type to determine if they are valid.
17566func (s *UpdateEventSourceMappingInput) Validate() error {
17567	invalidParams := request.ErrInvalidParams{Context: "UpdateEventSourceMappingInput"}
17568	if s.BatchSize != nil && *s.BatchSize < 1 {
17569		invalidParams.Add(request.NewErrParamMinValue("BatchSize", 1))
17570	}
17571	if s.FunctionName != nil && len(*s.FunctionName) < 1 {
17572		invalidParams.Add(request.NewErrParamMinLen("FunctionName", 1))
17573	}
17574	if s.MaximumRecordAgeInSeconds != nil && *s.MaximumRecordAgeInSeconds < -1 {
17575		invalidParams.Add(request.NewErrParamMinValue("MaximumRecordAgeInSeconds", -1))
17576	}
17577	if s.MaximumRetryAttempts != nil && *s.MaximumRetryAttempts < -1 {
17578		invalidParams.Add(request.NewErrParamMinValue("MaximumRetryAttempts", -1))
17579	}
17580	if s.ParallelizationFactor != nil && *s.ParallelizationFactor < 1 {
17581		invalidParams.Add(request.NewErrParamMinValue("ParallelizationFactor", 1))
17582	}
17583	if s.UUID == nil {
17584		invalidParams.Add(request.NewErrParamRequired("UUID"))
17585	}
17586	if s.UUID != nil && len(*s.UUID) < 1 {
17587		invalidParams.Add(request.NewErrParamMinLen("UUID", 1))
17588	}
17589	if s.SourceAccessConfigurations != nil {
17590		for i, v := range s.SourceAccessConfigurations {
17591			if v == nil {
17592				continue
17593			}
17594			if err := v.Validate(); err != nil {
17595				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SourceAccessConfigurations", i), err.(request.ErrInvalidParams))
17596			}
17597		}
17598	}
17599
17600	if invalidParams.Len() > 0 {
17601		return invalidParams
17602	}
17603	return nil
17604}
17605
17606// SetBatchSize sets the BatchSize field's value.
17607func (s *UpdateEventSourceMappingInput) SetBatchSize(v int64) *UpdateEventSourceMappingInput {
17608	s.BatchSize = &v
17609	return s
17610}
17611
17612// SetBisectBatchOnFunctionError sets the BisectBatchOnFunctionError field's value.
17613func (s *UpdateEventSourceMappingInput) SetBisectBatchOnFunctionError(v bool) *UpdateEventSourceMappingInput {
17614	s.BisectBatchOnFunctionError = &v
17615	return s
17616}
17617
17618// SetDestinationConfig sets the DestinationConfig field's value.
17619func (s *UpdateEventSourceMappingInput) SetDestinationConfig(v *DestinationConfig) *UpdateEventSourceMappingInput {
17620	s.DestinationConfig = v
17621	return s
17622}
17623
17624// SetEnabled sets the Enabled field's value.
17625func (s *UpdateEventSourceMappingInput) SetEnabled(v bool) *UpdateEventSourceMappingInput {
17626	s.Enabled = &v
17627	return s
17628}
17629
17630// SetFunctionName sets the FunctionName field's value.
17631func (s *UpdateEventSourceMappingInput) SetFunctionName(v string) *UpdateEventSourceMappingInput {
17632	s.FunctionName = &v
17633	return s
17634}
17635
17636// SetFunctionResponseTypes sets the FunctionResponseTypes field's value.
17637func (s *UpdateEventSourceMappingInput) SetFunctionResponseTypes(v []*string) *UpdateEventSourceMappingInput {
17638	s.FunctionResponseTypes = v
17639	return s
17640}
17641
17642// SetMaximumBatchingWindowInSeconds sets the MaximumBatchingWindowInSeconds field's value.
17643func (s *UpdateEventSourceMappingInput) SetMaximumBatchingWindowInSeconds(v int64) *UpdateEventSourceMappingInput {
17644	s.MaximumBatchingWindowInSeconds = &v
17645	return s
17646}
17647
17648// SetMaximumRecordAgeInSeconds sets the MaximumRecordAgeInSeconds field's value.
17649func (s *UpdateEventSourceMappingInput) SetMaximumRecordAgeInSeconds(v int64) *UpdateEventSourceMappingInput {
17650	s.MaximumRecordAgeInSeconds = &v
17651	return s
17652}
17653
17654// SetMaximumRetryAttempts sets the MaximumRetryAttempts field's value.
17655func (s *UpdateEventSourceMappingInput) SetMaximumRetryAttempts(v int64) *UpdateEventSourceMappingInput {
17656	s.MaximumRetryAttempts = &v
17657	return s
17658}
17659
17660// SetParallelizationFactor sets the ParallelizationFactor field's value.
17661func (s *UpdateEventSourceMappingInput) SetParallelizationFactor(v int64) *UpdateEventSourceMappingInput {
17662	s.ParallelizationFactor = &v
17663	return s
17664}
17665
17666// SetSourceAccessConfigurations sets the SourceAccessConfigurations field's value.
17667func (s *UpdateEventSourceMappingInput) SetSourceAccessConfigurations(v []*SourceAccessConfiguration) *UpdateEventSourceMappingInput {
17668	s.SourceAccessConfigurations = v
17669	return s
17670}
17671
17672// SetTumblingWindowInSeconds sets the TumblingWindowInSeconds field's value.
17673func (s *UpdateEventSourceMappingInput) SetTumblingWindowInSeconds(v int64) *UpdateEventSourceMappingInput {
17674	s.TumblingWindowInSeconds = &v
17675	return s
17676}
17677
17678// SetUUID sets the UUID field's value.
17679func (s *UpdateEventSourceMappingInput) SetUUID(v string) *UpdateEventSourceMappingInput {
17680	s.UUID = &v
17681	return s
17682}
17683
17684type UpdateFunctionCodeInput struct {
17685	_ struct{} `type:"structure"`
17686
17687	// The instruction set architecture that the function supports. Enter a string
17688	// array with one of the valid values. The default value is x86_64.
17689	Architectures []*string `min:"1" type:"list"`
17690
17691	// Set to true to validate the request parameters and access permissions without
17692	// modifying the function code.
17693	DryRun *bool `type:"boolean"`
17694
17695	// The name of the Lambda function.
17696	//
17697	// Name formats
17698	//
17699	//    * Function name - my-function.
17700	//
17701	//    * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.
17702	//
17703	//    * Partial ARN - 123456789012:function:my-function.
17704	//
17705	// The length constraint applies only to the full ARN. If you specify only the
17706	// function name, it is limited to 64 characters in length.
17707	//
17708	// FunctionName is a required field
17709	FunctionName *string `location:"uri" locationName:"FunctionName" min:"1" type:"string" required:"true"`
17710
17711	// URI of a container image in the Amazon ECR registry.
17712	ImageUri *string `type:"string"`
17713
17714	// Set to true to publish a new version of the function after updating the code.
17715	// This has the same effect as calling PublishVersion separately.
17716	Publish *bool `type:"boolean"`
17717
17718	// Only update the function if the revision ID matches the ID that's specified.
17719	// Use this option to avoid modifying a function that has changed since you
17720	// last read it.
17721	RevisionId *string `type:"string"`
17722
17723	// An Amazon S3 bucket in the same Amazon Web Services Region as your function.
17724	// The bucket can be in a different Amazon Web Services account.
17725	S3Bucket *string `min:"3" type:"string"`
17726
17727	// The Amazon S3 key of the deployment package.
17728	S3Key *string `min:"1" type:"string"`
17729
17730	// For versioned objects, the version of the deployment package object to use.
17731	S3ObjectVersion *string `min:"1" type:"string"`
17732
17733	// The base64-encoded contents of the deployment package. Amazon Web Services
17734	// SDK and Amazon Web Services CLI clients handle the encoding for you.
17735	//
17736	// ZipFile is a sensitive parameter and its value will be
17737	// replaced with "sensitive" in string returned by UpdateFunctionCodeInput's
17738	// String and GoString methods.
17739	//
17740	// ZipFile is automatically base64 encoded/decoded by the SDK.
17741	ZipFile []byte `type:"blob" sensitive:"true"`
17742}
17743
17744// String returns the string representation.
17745//
17746// API parameter values that are decorated as "sensitive" in the API will not
17747// be included in the string output. The member name will be present, but the
17748// value will be replaced with "sensitive".
17749func (s UpdateFunctionCodeInput) String() string {
17750	return awsutil.Prettify(s)
17751}
17752
17753// GoString returns the string representation.
17754//
17755// API parameter values that are decorated as "sensitive" in the API will not
17756// be included in the string output. The member name will be present, but the
17757// value will be replaced with "sensitive".
17758func (s UpdateFunctionCodeInput) GoString() string {
17759	return s.String()
17760}
17761
17762// Validate inspects the fields of the type to determine if they are valid.
17763func (s *UpdateFunctionCodeInput) Validate() error {
17764	invalidParams := request.ErrInvalidParams{Context: "UpdateFunctionCodeInput"}
17765	if s.Architectures != nil && len(s.Architectures) < 1 {
17766		invalidParams.Add(request.NewErrParamMinLen("Architectures", 1))
17767	}
17768	if s.FunctionName == nil {
17769		invalidParams.Add(request.NewErrParamRequired("FunctionName"))
17770	}
17771	if s.FunctionName != nil && len(*s.FunctionName) < 1 {
17772		invalidParams.Add(request.NewErrParamMinLen("FunctionName", 1))
17773	}
17774	if s.S3Bucket != nil && len(*s.S3Bucket) < 3 {
17775		invalidParams.Add(request.NewErrParamMinLen("S3Bucket", 3))
17776	}
17777	if s.S3Key != nil && len(*s.S3Key) < 1 {
17778		invalidParams.Add(request.NewErrParamMinLen("S3Key", 1))
17779	}
17780	if s.S3ObjectVersion != nil && len(*s.S3ObjectVersion) < 1 {
17781		invalidParams.Add(request.NewErrParamMinLen("S3ObjectVersion", 1))
17782	}
17783
17784	if invalidParams.Len() > 0 {
17785		return invalidParams
17786	}
17787	return nil
17788}
17789
17790// SetArchitectures sets the Architectures field's value.
17791func (s *UpdateFunctionCodeInput) SetArchitectures(v []*string) *UpdateFunctionCodeInput {
17792	s.Architectures = v
17793	return s
17794}
17795
17796// SetDryRun sets the DryRun field's value.
17797func (s *UpdateFunctionCodeInput) SetDryRun(v bool) *UpdateFunctionCodeInput {
17798	s.DryRun = &v
17799	return s
17800}
17801
17802// SetFunctionName sets the FunctionName field's value.
17803func (s *UpdateFunctionCodeInput) SetFunctionName(v string) *UpdateFunctionCodeInput {
17804	s.FunctionName = &v
17805	return s
17806}
17807
17808// SetImageUri sets the ImageUri field's value.
17809func (s *UpdateFunctionCodeInput) SetImageUri(v string) *UpdateFunctionCodeInput {
17810	s.ImageUri = &v
17811	return s
17812}
17813
17814// SetPublish sets the Publish field's value.
17815func (s *UpdateFunctionCodeInput) SetPublish(v bool) *UpdateFunctionCodeInput {
17816	s.Publish = &v
17817	return s
17818}
17819
17820// SetRevisionId sets the RevisionId field's value.
17821func (s *UpdateFunctionCodeInput) SetRevisionId(v string) *UpdateFunctionCodeInput {
17822	s.RevisionId = &v
17823	return s
17824}
17825
17826// SetS3Bucket sets the S3Bucket field's value.
17827func (s *UpdateFunctionCodeInput) SetS3Bucket(v string) *UpdateFunctionCodeInput {
17828	s.S3Bucket = &v
17829	return s
17830}
17831
17832// SetS3Key sets the S3Key field's value.
17833func (s *UpdateFunctionCodeInput) SetS3Key(v string) *UpdateFunctionCodeInput {
17834	s.S3Key = &v
17835	return s
17836}
17837
17838// SetS3ObjectVersion sets the S3ObjectVersion field's value.
17839func (s *UpdateFunctionCodeInput) SetS3ObjectVersion(v string) *UpdateFunctionCodeInput {
17840	s.S3ObjectVersion = &v
17841	return s
17842}
17843
17844// SetZipFile sets the ZipFile field's value.
17845func (s *UpdateFunctionCodeInput) SetZipFile(v []byte) *UpdateFunctionCodeInput {
17846	s.ZipFile = v
17847	return s
17848}
17849
17850type UpdateFunctionConfigurationInput struct {
17851	_ struct{} `type:"structure"`
17852
17853	// A dead letter queue configuration that specifies the queue or topic where
17854	// Lambda sends asynchronous events when they fail processing. For more information,
17855	// see Dead Letter Queues (https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#dlq).
17856	DeadLetterConfig *DeadLetterConfig `type:"structure"`
17857
17858	// A description of the function.
17859	Description *string `type:"string"`
17860
17861	// Environment variables that are accessible from function code during execution.
17862	Environment *Environment `type:"structure"`
17863
17864	// Connection settings for an Amazon EFS file system.
17865	FileSystemConfigs []*FileSystemConfig `type:"list"`
17866
17867	// The name of the Lambda function.
17868	//
17869	// Name formats
17870	//
17871	//    * Function name - my-function.
17872	//
17873	//    * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.
17874	//
17875	//    * Partial ARN - 123456789012:function:my-function.
17876	//
17877	// The length constraint applies only to the full ARN. If you specify only the
17878	// function name, it is limited to 64 characters in length.
17879	//
17880	// FunctionName is a required field
17881	FunctionName *string `location:"uri" locationName:"FunctionName" min:"1" type:"string" required:"true"`
17882
17883	// The name of the method within your code that Lambda calls to execute your
17884	// function. The format includes the file name. It can also include namespaces
17885	// and other qualifiers, depending on the runtime. For more information, see
17886	// Programming Model (https://docs.aws.amazon.com/lambda/latest/dg/programming-model-v2.html).
17887	Handler *string `type:"string"`
17888
17889	// Container image configuration values (https://docs.aws.amazon.com/lambda/latest/dg/images-parms.html)
17890	// that override the values in the container image Docker file.
17891	ImageConfig *ImageConfig `type:"structure"`
17892
17893	// The ARN of the Amazon Web Services Key Management Service (KMS) key that's
17894	// used to encrypt your function's environment variables. If it's not provided,
17895	// Lambda uses a default service key.
17896	KMSKeyArn *string `type:"string"`
17897
17898	// A list of function layers (https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html)
17899	// to add to the function's execution environment. Specify each layer by its
17900	// ARN, including the version.
17901	Layers []*string `type:"list"`
17902
17903	// The amount of memory available to the function (https://docs.aws.amazon.com/lambda/latest/dg/configuration-memory.html)
17904	// at runtime. Increasing the function memory also increases its CPU allocation.
17905	// The default value is 128 MB. The value can be any multiple of 1 MB.
17906	MemorySize *int64 `min:"128" type:"integer"`
17907
17908	// Only update the function if the revision ID matches the ID that's specified.
17909	// Use this option to avoid modifying a function that has changed since you
17910	// last read it.
17911	RevisionId *string `type:"string"`
17912
17913	// The Amazon Resource Name (ARN) of the function's execution role.
17914	Role *string `type:"string"`
17915
17916	// The identifier of the function's runtime (https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html).
17917	Runtime *string `type:"string" enum:"Runtime"`
17918
17919	// The amount of time that Lambda allows a function to run before stopping it.
17920	// The default is 3 seconds. The maximum allowed value is 900 seconds. For additional
17921	// information, see Lambda execution environment (https://docs.aws.amazon.com/lambda/latest/dg/runtimes-context.html).
17922	Timeout *int64 `min:"1" type:"integer"`
17923
17924	// Set Mode to Active to sample and trace a subset of incoming requests with
17925	// X-Ray (https://docs.aws.amazon.com/lambda/latest/dg/services-xray.html).
17926	TracingConfig *TracingConfig `type:"structure"`
17927
17928	// For network connectivity to Amazon Web Services resources in a VPC, specify
17929	// a list of security groups and subnets in the VPC. When you connect a function
17930	// to a VPC, it can only access resources and the internet through that VPC.
17931	// For more information, see VPC Settings (https://docs.aws.amazon.com/lambda/latest/dg/configuration-vpc.html).
17932	VpcConfig *VpcConfig `type:"structure"`
17933}
17934
17935// String returns the string representation.
17936//
17937// API parameter values that are decorated as "sensitive" in the API will not
17938// be included in the string output. The member name will be present, but the
17939// value will be replaced with "sensitive".
17940func (s UpdateFunctionConfigurationInput) String() string {
17941	return awsutil.Prettify(s)
17942}
17943
17944// GoString returns the string representation.
17945//
17946// API parameter values that are decorated as "sensitive" in the API will not
17947// be included in the string output. The member name will be present, but the
17948// value will be replaced with "sensitive".
17949func (s UpdateFunctionConfigurationInput) GoString() string {
17950	return s.String()
17951}
17952
17953// Validate inspects the fields of the type to determine if they are valid.
17954func (s *UpdateFunctionConfigurationInput) Validate() error {
17955	invalidParams := request.ErrInvalidParams{Context: "UpdateFunctionConfigurationInput"}
17956	if s.FunctionName == nil {
17957		invalidParams.Add(request.NewErrParamRequired("FunctionName"))
17958	}
17959	if s.FunctionName != nil && len(*s.FunctionName) < 1 {
17960		invalidParams.Add(request.NewErrParamMinLen("FunctionName", 1))
17961	}
17962	if s.MemorySize != nil && *s.MemorySize < 128 {
17963		invalidParams.Add(request.NewErrParamMinValue("MemorySize", 128))
17964	}
17965	if s.Timeout != nil && *s.Timeout < 1 {
17966		invalidParams.Add(request.NewErrParamMinValue("Timeout", 1))
17967	}
17968	if s.FileSystemConfigs != nil {
17969		for i, v := range s.FileSystemConfigs {
17970			if v == nil {
17971				continue
17972			}
17973			if err := v.Validate(); err != nil {
17974				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "FileSystemConfigs", i), err.(request.ErrInvalidParams))
17975			}
17976		}
17977	}
17978
17979	if invalidParams.Len() > 0 {
17980		return invalidParams
17981	}
17982	return nil
17983}
17984
17985// SetDeadLetterConfig sets the DeadLetterConfig field's value.
17986func (s *UpdateFunctionConfigurationInput) SetDeadLetterConfig(v *DeadLetterConfig) *UpdateFunctionConfigurationInput {
17987	s.DeadLetterConfig = v
17988	return s
17989}
17990
17991// SetDescription sets the Description field's value.
17992func (s *UpdateFunctionConfigurationInput) SetDescription(v string) *UpdateFunctionConfigurationInput {
17993	s.Description = &v
17994	return s
17995}
17996
17997// SetEnvironment sets the Environment field's value.
17998func (s *UpdateFunctionConfigurationInput) SetEnvironment(v *Environment) *UpdateFunctionConfigurationInput {
17999	s.Environment = v
18000	return s
18001}
18002
18003// SetFileSystemConfigs sets the FileSystemConfigs field's value.
18004func (s *UpdateFunctionConfigurationInput) SetFileSystemConfigs(v []*FileSystemConfig) *UpdateFunctionConfigurationInput {
18005	s.FileSystemConfigs = v
18006	return s
18007}
18008
18009// SetFunctionName sets the FunctionName field's value.
18010func (s *UpdateFunctionConfigurationInput) SetFunctionName(v string) *UpdateFunctionConfigurationInput {
18011	s.FunctionName = &v
18012	return s
18013}
18014
18015// SetHandler sets the Handler field's value.
18016func (s *UpdateFunctionConfigurationInput) SetHandler(v string) *UpdateFunctionConfigurationInput {
18017	s.Handler = &v
18018	return s
18019}
18020
18021// SetImageConfig sets the ImageConfig field's value.
18022func (s *UpdateFunctionConfigurationInput) SetImageConfig(v *ImageConfig) *UpdateFunctionConfigurationInput {
18023	s.ImageConfig = v
18024	return s
18025}
18026
18027// SetKMSKeyArn sets the KMSKeyArn field's value.
18028func (s *UpdateFunctionConfigurationInput) SetKMSKeyArn(v string) *UpdateFunctionConfigurationInput {
18029	s.KMSKeyArn = &v
18030	return s
18031}
18032
18033// SetLayers sets the Layers field's value.
18034func (s *UpdateFunctionConfigurationInput) SetLayers(v []*string) *UpdateFunctionConfigurationInput {
18035	s.Layers = v
18036	return s
18037}
18038
18039// SetMemorySize sets the MemorySize field's value.
18040func (s *UpdateFunctionConfigurationInput) SetMemorySize(v int64) *UpdateFunctionConfigurationInput {
18041	s.MemorySize = &v
18042	return s
18043}
18044
18045// SetRevisionId sets the RevisionId field's value.
18046func (s *UpdateFunctionConfigurationInput) SetRevisionId(v string) *UpdateFunctionConfigurationInput {
18047	s.RevisionId = &v
18048	return s
18049}
18050
18051// SetRole sets the Role field's value.
18052func (s *UpdateFunctionConfigurationInput) SetRole(v string) *UpdateFunctionConfigurationInput {
18053	s.Role = &v
18054	return s
18055}
18056
18057// SetRuntime sets the Runtime field's value.
18058func (s *UpdateFunctionConfigurationInput) SetRuntime(v string) *UpdateFunctionConfigurationInput {
18059	s.Runtime = &v
18060	return s
18061}
18062
18063// SetTimeout sets the Timeout field's value.
18064func (s *UpdateFunctionConfigurationInput) SetTimeout(v int64) *UpdateFunctionConfigurationInput {
18065	s.Timeout = &v
18066	return s
18067}
18068
18069// SetTracingConfig sets the TracingConfig field's value.
18070func (s *UpdateFunctionConfigurationInput) SetTracingConfig(v *TracingConfig) *UpdateFunctionConfigurationInput {
18071	s.TracingConfig = v
18072	return s
18073}
18074
18075// SetVpcConfig sets the VpcConfig field's value.
18076func (s *UpdateFunctionConfigurationInput) SetVpcConfig(v *VpcConfig) *UpdateFunctionConfigurationInput {
18077	s.VpcConfig = v
18078	return s
18079}
18080
18081type UpdateFunctionEventInvokeConfigInput struct {
18082	_ struct{} `type:"structure"`
18083
18084	// A destination for events after they have been sent to a function for processing.
18085	//
18086	// Destinations
18087	//
18088	//    * Function - The Amazon Resource Name (ARN) of a Lambda function.
18089	//
18090	//    * Queue - The ARN of an SQS queue.
18091	//
18092	//    * Topic - The ARN of an SNS topic.
18093	//
18094	//    * Event Bus - The ARN of an Amazon EventBridge event bus.
18095	DestinationConfig *DestinationConfig `type:"structure"`
18096
18097	// The name of the Lambda function, version, or alias.
18098	//
18099	// Name formats
18100	//
18101	//    * Function name - my-function (name-only), my-function:v1 (with alias).
18102	//
18103	//    * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.
18104	//
18105	//    * Partial ARN - 123456789012:function:my-function.
18106	//
18107	// You can append a version number or alias to any of the formats. The length
18108	// constraint applies only to the full ARN. If you specify only the function
18109	// name, it is limited to 64 characters in length.
18110	//
18111	// FunctionName is a required field
18112	FunctionName *string `location:"uri" locationName:"FunctionName" min:"1" type:"string" required:"true"`
18113
18114	// The maximum age of a request that Lambda sends to a function for processing.
18115	MaximumEventAgeInSeconds *int64 `min:"60" type:"integer"`
18116
18117	// The maximum number of times to retry when the function returns an error.
18118	MaximumRetryAttempts *int64 `type:"integer"`
18119
18120	// A version number or alias name.
18121	Qualifier *string `location:"querystring" locationName:"Qualifier" min:"1" type:"string"`
18122}
18123
18124// String returns the string representation.
18125//
18126// API parameter values that are decorated as "sensitive" in the API will not
18127// be included in the string output. The member name will be present, but the
18128// value will be replaced with "sensitive".
18129func (s UpdateFunctionEventInvokeConfigInput) String() string {
18130	return awsutil.Prettify(s)
18131}
18132
18133// GoString returns the string representation.
18134//
18135// API parameter values that are decorated as "sensitive" in the API will not
18136// be included in the string output. The member name will be present, but the
18137// value will be replaced with "sensitive".
18138func (s UpdateFunctionEventInvokeConfigInput) GoString() string {
18139	return s.String()
18140}
18141
18142// Validate inspects the fields of the type to determine if they are valid.
18143func (s *UpdateFunctionEventInvokeConfigInput) Validate() error {
18144	invalidParams := request.ErrInvalidParams{Context: "UpdateFunctionEventInvokeConfigInput"}
18145	if s.FunctionName == nil {
18146		invalidParams.Add(request.NewErrParamRequired("FunctionName"))
18147	}
18148	if s.FunctionName != nil && len(*s.FunctionName) < 1 {
18149		invalidParams.Add(request.NewErrParamMinLen("FunctionName", 1))
18150	}
18151	if s.MaximumEventAgeInSeconds != nil && *s.MaximumEventAgeInSeconds < 60 {
18152		invalidParams.Add(request.NewErrParamMinValue("MaximumEventAgeInSeconds", 60))
18153	}
18154	if s.Qualifier != nil && len(*s.Qualifier) < 1 {
18155		invalidParams.Add(request.NewErrParamMinLen("Qualifier", 1))
18156	}
18157
18158	if invalidParams.Len() > 0 {
18159		return invalidParams
18160	}
18161	return nil
18162}
18163
18164// SetDestinationConfig sets the DestinationConfig field's value.
18165func (s *UpdateFunctionEventInvokeConfigInput) SetDestinationConfig(v *DestinationConfig) *UpdateFunctionEventInvokeConfigInput {
18166	s.DestinationConfig = v
18167	return s
18168}
18169
18170// SetFunctionName sets the FunctionName field's value.
18171func (s *UpdateFunctionEventInvokeConfigInput) SetFunctionName(v string) *UpdateFunctionEventInvokeConfigInput {
18172	s.FunctionName = &v
18173	return s
18174}
18175
18176// SetMaximumEventAgeInSeconds sets the MaximumEventAgeInSeconds field's value.
18177func (s *UpdateFunctionEventInvokeConfigInput) SetMaximumEventAgeInSeconds(v int64) *UpdateFunctionEventInvokeConfigInput {
18178	s.MaximumEventAgeInSeconds = &v
18179	return s
18180}
18181
18182// SetMaximumRetryAttempts sets the MaximumRetryAttempts field's value.
18183func (s *UpdateFunctionEventInvokeConfigInput) SetMaximumRetryAttempts(v int64) *UpdateFunctionEventInvokeConfigInput {
18184	s.MaximumRetryAttempts = &v
18185	return s
18186}
18187
18188// SetQualifier sets the Qualifier field's value.
18189func (s *UpdateFunctionEventInvokeConfigInput) SetQualifier(v string) *UpdateFunctionEventInvokeConfigInput {
18190	s.Qualifier = &v
18191	return s
18192}
18193
18194type UpdateFunctionEventInvokeConfigOutput struct {
18195	_ struct{} `type:"structure"`
18196
18197	// A destination for events after they have been sent to a function for processing.
18198	//
18199	// Destinations
18200	//
18201	//    * Function - The Amazon Resource Name (ARN) of a Lambda function.
18202	//
18203	//    * Queue - The ARN of an SQS queue.
18204	//
18205	//    * Topic - The ARN of an SNS topic.
18206	//
18207	//    * Event Bus - The ARN of an Amazon EventBridge event bus.
18208	DestinationConfig *DestinationConfig `type:"structure"`
18209
18210	// The Amazon Resource Name (ARN) of the function.
18211	FunctionArn *string `type:"string"`
18212
18213	// The date and time that the configuration was last updated.
18214	LastModified *time.Time `type:"timestamp"`
18215
18216	// The maximum age of a request that Lambda sends to a function for processing.
18217	MaximumEventAgeInSeconds *int64 `min:"60" type:"integer"`
18218
18219	// The maximum number of times to retry when the function returns an error.
18220	MaximumRetryAttempts *int64 `type:"integer"`
18221}
18222
18223// String returns the string representation.
18224//
18225// API parameter values that are decorated as "sensitive" in the API will not
18226// be included in the string output. The member name will be present, but the
18227// value will be replaced with "sensitive".
18228func (s UpdateFunctionEventInvokeConfigOutput) String() string {
18229	return awsutil.Prettify(s)
18230}
18231
18232// GoString returns the string representation.
18233//
18234// API parameter values that are decorated as "sensitive" in the API will not
18235// be included in the string output. The member name will be present, but the
18236// value will be replaced with "sensitive".
18237func (s UpdateFunctionEventInvokeConfigOutput) GoString() string {
18238	return s.String()
18239}
18240
18241// SetDestinationConfig sets the DestinationConfig field's value.
18242func (s *UpdateFunctionEventInvokeConfigOutput) SetDestinationConfig(v *DestinationConfig) *UpdateFunctionEventInvokeConfigOutput {
18243	s.DestinationConfig = v
18244	return s
18245}
18246
18247// SetFunctionArn sets the FunctionArn field's value.
18248func (s *UpdateFunctionEventInvokeConfigOutput) SetFunctionArn(v string) *UpdateFunctionEventInvokeConfigOutput {
18249	s.FunctionArn = &v
18250	return s
18251}
18252
18253// SetLastModified sets the LastModified field's value.
18254func (s *UpdateFunctionEventInvokeConfigOutput) SetLastModified(v time.Time) *UpdateFunctionEventInvokeConfigOutput {
18255	s.LastModified = &v
18256	return s
18257}
18258
18259// SetMaximumEventAgeInSeconds sets the MaximumEventAgeInSeconds field's value.
18260func (s *UpdateFunctionEventInvokeConfigOutput) SetMaximumEventAgeInSeconds(v int64) *UpdateFunctionEventInvokeConfigOutput {
18261	s.MaximumEventAgeInSeconds = &v
18262	return s
18263}
18264
18265// SetMaximumRetryAttempts sets the MaximumRetryAttempts field's value.
18266func (s *UpdateFunctionEventInvokeConfigOutput) SetMaximumRetryAttempts(v int64) *UpdateFunctionEventInvokeConfigOutput {
18267	s.MaximumRetryAttempts = &v
18268	return s
18269}
18270
18271// The VPC security groups and subnets that are attached to a Lambda function.
18272// For more information, see VPC Settings (https://docs.aws.amazon.com/lambda/latest/dg/configuration-vpc.html).
18273type VpcConfig struct {
18274	_ struct{} `type:"structure"`
18275
18276	// A list of VPC security groups IDs.
18277	SecurityGroupIds []*string `type:"list"`
18278
18279	// A list of VPC subnet IDs.
18280	SubnetIds []*string `type:"list"`
18281}
18282
18283// String returns the string representation.
18284//
18285// API parameter values that are decorated as "sensitive" in the API will not
18286// be included in the string output. The member name will be present, but the
18287// value will be replaced with "sensitive".
18288func (s VpcConfig) String() string {
18289	return awsutil.Prettify(s)
18290}
18291
18292// GoString returns the string representation.
18293//
18294// API parameter values that are decorated as "sensitive" in the API will not
18295// be included in the string output. The member name will be present, but the
18296// value will be replaced with "sensitive".
18297func (s VpcConfig) GoString() string {
18298	return s.String()
18299}
18300
18301// SetSecurityGroupIds sets the SecurityGroupIds field's value.
18302func (s *VpcConfig) SetSecurityGroupIds(v []*string) *VpcConfig {
18303	s.SecurityGroupIds = v
18304	return s
18305}
18306
18307// SetSubnetIds sets the SubnetIds field's value.
18308func (s *VpcConfig) SetSubnetIds(v []*string) *VpcConfig {
18309	s.SubnetIds = v
18310	return s
18311}
18312
18313// The VPC security groups and subnets that are attached to a Lambda function.
18314type VpcConfigResponse struct {
18315	_ struct{} `type:"structure"`
18316
18317	// A list of VPC security groups IDs.
18318	SecurityGroupIds []*string `type:"list"`
18319
18320	// A list of VPC subnet IDs.
18321	SubnetIds []*string `type:"list"`
18322
18323	// The ID of the VPC.
18324	VpcId *string `type:"string"`
18325}
18326
18327// String returns the string representation.
18328//
18329// API parameter values that are decorated as "sensitive" in the API will not
18330// be included in the string output. The member name will be present, but the
18331// value will be replaced with "sensitive".
18332func (s VpcConfigResponse) String() string {
18333	return awsutil.Prettify(s)
18334}
18335
18336// GoString returns the string representation.
18337//
18338// API parameter values that are decorated as "sensitive" in the API will not
18339// be included in the string output. The member name will be present, but the
18340// value will be replaced with "sensitive".
18341func (s VpcConfigResponse) GoString() string {
18342	return s.String()
18343}
18344
18345// SetSecurityGroupIds sets the SecurityGroupIds field's value.
18346func (s *VpcConfigResponse) SetSecurityGroupIds(v []*string) *VpcConfigResponse {
18347	s.SecurityGroupIds = v
18348	return s
18349}
18350
18351// SetSubnetIds sets the SubnetIds field's value.
18352func (s *VpcConfigResponse) SetSubnetIds(v []*string) *VpcConfigResponse {
18353	s.SubnetIds = v
18354	return s
18355}
18356
18357// SetVpcId sets the VpcId field's value.
18358func (s *VpcConfigResponse) SetVpcId(v string) *VpcConfigResponse {
18359	s.VpcId = &v
18360	return s
18361}
18362
18363const (
18364	// ArchitectureX8664 is a Architecture enum value
18365	ArchitectureX8664 = "x86_64"
18366
18367	// ArchitectureArm64 is a Architecture enum value
18368	ArchitectureArm64 = "arm64"
18369)
18370
18371// Architecture_Values returns all elements of the Architecture enum
18372func Architecture_Values() []string {
18373	return []string{
18374		ArchitectureX8664,
18375		ArchitectureArm64,
18376	}
18377}
18378
18379const (
18380	// CodeSigningPolicyWarn is a CodeSigningPolicy enum value
18381	CodeSigningPolicyWarn = "Warn"
18382
18383	// CodeSigningPolicyEnforce is a CodeSigningPolicy enum value
18384	CodeSigningPolicyEnforce = "Enforce"
18385)
18386
18387// CodeSigningPolicy_Values returns all elements of the CodeSigningPolicy enum
18388func CodeSigningPolicy_Values() []string {
18389	return []string{
18390		CodeSigningPolicyWarn,
18391		CodeSigningPolicyEnforce,
18392	}
18393}
18394
18395const (
18396	// EndPointTypeKafkaBootstrapServers is a EndPointType enum value
18397	EndPointTypeKafkaBootstrapServers = "KAFKA_BOOTSTRAP_SERVERS"
18398)
18399
18400// EndPointType_Values returns all elements of the EndPointType enum
18401func EndPointType_Values() []string {
18402	return []string{
18403		EndPointTypeKafkaBootstrapServers,
18404	}
18405}
18406
18407const (
18408	// EventSourcePositionTrimHorizon is a EventSourcePosition enum value
18409	EventSourcePositionTrimHorizon = "TRIM_HORIZON"
18410
18411	// EventSourcePositionLatest is a EventSourcePosition enum value
18412	EventSourcePositionLatest = "LATEST"
18413
18414	// EventSourcePositionAtTimestamp is a EventSourcePosition enum value
18415	EventSourcePositionAtTimestamp = "AT_TIMESTAMP"
18416)
18417
18418// EventSourcePosition_Values returns all elements of the EventSourcePosition enum
18419func EventSourcePosition_Values() []string {
18420	return []string{
18421		EventSourcePositionTrimHorizon,
18422		EventSourcePositionLatest,
18423		EventSourcePositionAtTimestamp,
18424	}
18425}
18426
18427const (
18428	// FunctionResponseTypeReportBatchItemFailures is a FunctionResponseType enum value
18429	FunctionResponseTypeReportBatchItemFailures = "ReportBatchItemFailures"
18430)
18431
18432// FunctionResponseType_Values returns all elements of the FunctionResponseType enum
18433func FunctionResponseType_Values() []string {
18434	return []string{
18435		FunctionResponseTypeReportBatchItemFailures,
18436	}
18437}
18438
18439const (
18440	// FunctionVersionAll is a FunctionVersion enum value
18441	FunctionVersionAll = "ALL"
18442)
18443
18444// FunctionVersion_Values returns all elements of the FunctionVersion enum
18445func FunctionVersion_Values() []string {
18446	return []string{
18447		FunctionVersionAll,
18448	}
18449}
18450
18451const (
18452	// InvocationTypeEvent is a InvocationType enum value
18453	InvocationTypeEvent = "Event"
18454
18455	// InvocationTypeRequestResponse is a InvocationType enum value
18456	InvocationTypeRequestResponse = "RequestResponse"
18457
18458	// InvocationTypeDryRun is a InvocationType enum value
18459	InvocationTypeDryRun = "DryRun"
18460)
18461
18462// InvocationType_Values returns all elements of the InvocationType enum
18463func InvocationType_Values() []string {
18464	return []string{
18465		InvocationTypeEvent,
18466		InvocationTypeRequestResponse,
18467		InvocationTypeDryRun,
18468	}
18469}
18470
18471const (
18472	// LastUpdateStatusSuccessful is a LastUpdateStatus enum value
18473	LastUpdateStatusSuccessful = "Successful"
18474
18475	// LastUpdateStatusFailed is a LastUpdateStatus enum value
18476	LastUpdateStatusFailed = "Failed"
18477
18478	// LastUpdateStatusInProgress is a LastUpdateStatus enum value
18479	LastUpdateStatusInProgress = "InProgress"
18480)
18481
18482// LastUpdateStatus_Values returns all elements of the LastUpdateStatus enum
18483func LastUpdateStatus_Values() []string {
18484	return []string{
18485		LastUpdateStatusSuccessful,
18486		LastUpdateStatusFailed,
18487		LastUpdateStatusInProgress,
18488	}
18489}
18490
18491const (
18492	// LastUpdateStatusReasonCodeEniLimitExceeded is a LastUpdateStatusReasonCode enum value
18493	LastUpdateStatusReasonCodeEniLimitExceeded = "EniLimitExceeded"
18494
18495	// LastUpdateStatusReasonCodeInsufficientRolePermissions is a LastUpdateStatusReasonCode enum value
18496	LastUpdateStatusReasonCodeInsufficientRolePermissions = "InsufficientRolePermissions"
18497
18498	// LastUpdateStatusReasonCodeInvalidConfiguration is a LastUpdateStatusReasonCode enum value
18499	LastUpdateStatusReasonCodeInvalidConfiguration = "InvalidConfiguration"
18500
18501	// LastUpdateStatusReasonCodeInternalError is a LastUpdateStatusReasonCode enum value
18502	LastUpdateStatusReasonCodeInternalError = "InternalError"
18503
18504	// LastUpdateStatusReasonCodeSubnetOutOfIpaddresses is a LastUpdateStatusReasonCode enum value
18505	LastUpdateStatusReasonCodeSubnetOutOfIpaddresses = "SubnetOutOfIPAddresses"
18506
18507	// LastUpdateStatusReasonCodeInvalidSubnet is a LastUpdateStatusReasonCode enum value
18508	LastUpdateStatusReasonCodeInvalidSubnet = "InvalidSubnet"
18509
18510	// LastUpdateStatusReasonCodeInvalidSecurityGroup is a LastUpdateStatusReasonCode enum value
18511	LastUpdateStatusReasonCodeInvalidSecurityGroup = "InvalidSecurityGroup"
18512
18513	// LastUpdateStatusReasonCodeImageDeleted is a LastUpdateStatusReasonCode enum value
18514	LastUpdateStatusReasonCodeImageDeleted = "ImageDeleted"
18515
18516	// LastUpdateStatusReasonCodeImageAccessDenied is a LastUpdateStatusReasonCode enum value
18517	LastUpdateStatusReasonCodeImageAccessDenied = "ImageAccessDenied"
18518
18519	// LastUpdateStatusReasonCodeInvalidImage is a LastUpdateStatusReasonCode enum value
18520	LastUpdateStatusReasonCodeInvalidImage = "InvalidImage"
18521)
18522
18523// LastUpdateStatusReasonCode_Values returns all elements of the LastUpdateStatusReasonCode enum
18524func LastUpdateStatusReasonCode_Values() []string {
18525	return []string{
18526		LastUpdateStatusReasonCodeEniLimitExceeded,
18527		LastUpdateStatusReasonCodeInsufficientRolePermissions,
18528		LastUpdateStatusReasonCodeInvalidConfiguration,
18529		LastUpdateStatusReasonCodeInternalError,
18530		LastUpdateStatusReasonCodeSubnetOutOfIpaddresses,
18531		LastUpdateStatusReasonCodeInvalidSubnet,
18532		LastUpdateStatusReasonCodeInvalidSecurityGroup,
18533		LastUpdateStatusReasonCodeImageDeleted,
18534		LastUpdateStatusReasonCodeImageAccessDenied,
18535		LastUpdateStatusReasonCodeInvalidImage,
18536	}
18537}
18538
18539const (
18540	// LogTypeNone is a LogType enum value
18541	LogTypeNone = "None"
18542
18543	// LogTypeTail is a LogType enum value
18544	LogTypeTail = "Tail"
18545)
18546
18547// LogType_Values returns all elements of the LogType enum
18548func LogType_Values() []string {
18549	return []string{
18550		LogTypeNone,
18551		LogTypeTail,
18552	}
18553}
18554
18555const (
18556	// PackageTypeZip is a PackageType enum value
18557	PackageTypeZip = "Zip"
18558
18559	// PackageTypeImage is a PackageType enum value
18560	PackageTypeImage = "Image"
18561)
18562
18563// PackageType_Values returns all elements of the PackageType enum
18564func PackageType_Values() []string {
18565	return []string{
18566		PackageTypeZip,
18567		PackageTypeImage,
18568	}
18569}
18570
18571const (
18572	// ProvisionedConcurrencyStatusEnumInProgress is a ProvisionedConcurrencyStatusEnum enum value
18573	ProvisionedConcurrencyStatusEnumInProgress = "IN_PROGRESS"
18574
18575	// ProvisionedConcurrencyStatusEnumReady is a ProvisionedConcurrencyStatusEnum enum value
18576	ProvisionedConcurrencyStatusEnumReady = "READY"
18577
18578	// ProvisionedConcurrencyStatusEnumFailed is a ProvisionedConcurrencyStatusEnum enum value
18579	ProvisionedConcurrencyStatusEnumFailed = "FAILED"
18580)
18581
18582// ProvisionedConcurrencyStatusEnum_Values returns all elements of the ProvisionedConcurrencyStatusEnum enum
18583func ProvisionedConcurrencyStatusEnum_Values() []string {
18584	return []string{
18585		ProvisionedConcurrencyStatusEnumInProgress,
18586		ProvisionedConcurrencyStatusEnumReady,
18587		ProvisionedConcurrencyStatusEnumFailed,
18588	}
18589}
18590
18591const (
18592	// RuntimeNodejs is a Runtime enum value
18593	RuntimeNodejs = "nodejs"
18594
18595	// RuntimeNodejs43 is a Runtime enum value
18596	RuntimeNodejs43 = "nodejs4.3"
18597
18598	// RuntimeNodejs610 is a Runtime enum value
18599	RuntimeNodejs610 = "nodejs6.10"
18600
18601	// RuntimeNodejs810 is a Runtime enum value
18602	RuntimeNodejs810 = "nodejs8.10"
18603
18604	// RuntimeNodejs10X is a Runtime enum value
18605	RuntimeNodejs10X = "nodejs10.x"
18606
18607	// RuntimeNodejs12X is a Runtime enum value
18608	RuntimeNodejs12X = "nodejs12.x"
18609
18610	// RuntimeNodejs14X is a Runtime enum value
18611	RuntimeNodejs14X = "nodejs14.x"
18612
18613	// RuntimeJava8 is a Runtime enum value
18614	RuntimeJava8 = "java8"
18615
18616	// RuntimeJava8Al2 is a Runtime enum value
18617	RuntimeJava8Al2 = "java8.al2"
18618
18619	// RuntimeJava11 is a Runtime enum value
18620	RuntimeJava11 = "java11"
18621
18622	// RuntimePython27 is a Runtime enum value
18623	RuntimePython27 = "python2.7"
18624
18625	// RuntimePython36 is a Runtime enum value
18626	RuntimePython36 = "python3.6"
18627
18628	// RuntimePython37 is a Runtime enum value
18629	RuntimePython37 = "python3.7"
18630
18631	// RuntimePython38 is a Runtime enum value
18632	RuntimePython38 = "python3.8"
18633
18634	// RuntimePython39 is a Runtime enum value
18635	RuntimePython39 = "python3.9"
18636
18637	// RuntimeDotnetcore10 is a Runtime enum value
18638	RuntimeDotnetcore10 = "dotnetcore1.0"
18639
18640	// RuntimeDotnetcore20 is a Runtime enum value
18641	RuntimeDotnetcore20 = "dotnetcore2.0"
18642
18643	// RuntimeDotnetcore21 is a Runtime enum value
18644	RuntimeDotnetcore21 = "dotnetcore2.1"
18645
18646	// RuntimeDotnetcore31 is a Runtime enum value
18647	RuntimeDotnetcore31 = "dotnetcore3.1"
18648
18649	// RuntimeNodejs43Edge is a Runtime enum value
18650	RuntimeNodejs43Edge = "nodejs4.3-edge"
18651
18652	// RuntimeGo1X is a Runtime enum value
18653	RuntimeGo1X = "go1.x"
18654
18655	// RuntimeRuby25 is a Runtime enum value
18656	RuntimeRuby25 = "ruby2.5"
18657
18658	// RuntimeRuby27 is a Runtime enum value
18659	RuntimeRuby27 = "ruby2.7"
18660
18661	// RuntimeProvided is a Runtime enum value
18662	RuntimeProvided = "provided"
18663
18664	// RuntimeProvidedAl2 is a Runtime enum value
18665	RuntimeProvidedAl2 = "provided.al2"
18666)
18667
18668// Runtime_Values returns all elements of the Runtime enum
18669func Runtime_Values() []string {
18670	return []string{
18671		RuntimeNodejs,
18672		RuntimeNodejs43,
18673		RuntimeNodejs610,
18674		RuntimeNodejs810,
18675		RuntimeNodejs10X,
18676		RuntimeNodejs12X,
18677		RuntimeNodejs14X,
18678		RuntimeJava8,
18679		RuntimeJava8Al2,
18680		RuntimeJava11,
18681		RuntimePython27,
18682		RuntimePython36,
18683		RuntimePython37,
18684		RuntimePython38,
18685		RuntimePython39,
18686		RuntimeDotnetcore10,
18687		RuntimeDotnetcore20,
18688		RuntimeDotnetcore21,
18689		RuntimeDotnetcore31,
18690		RuntimeNodejs43Edge,
18691		RuntimeGo1X,
18692		RuntimeRuby25,
18693		RuntimeRuby27,
18694		RuntimeProvided,
18695		RuntimeProvidedAl2,
18696	}
18697}
18698
18699const (
18700	// SourceAccessTypeBasicAuth is a SourceAccessType enum value
18701	SourceAccessTypeBasicAuth = "BASIC_AUTH"
18702
18703	// SourceAccessTypeVpcSubnet is a SourceAccessType enum value
18704	SourceAccessTypeVpcSubnet = "VPC_SUBNET"
18705
18706	// SourceAccessTypeVpcSecurityGroup is a SourceAccessType enum value
18707	SourceAccessTypeVpcSecurityGroup = "VPC_SECURITY_GROUP"
18708
18709	// SourceAccessTypeSaslScram512Auth is a SourceAccessType enum value
18710	SourceAccessTypeSaslScram512Auth = "SASL_SCRAM_512_AUTH"
18711
18712	// SourceAccessTypeSaslScram256Auth is a SourceAccessType enum value
18713	SourceAccessTypeSaslScram256Auth = "SASL_SCRAM_256_AUTH"
18714
18715	// SourceAccessTypeVirtualHost is a SourceAccessType enum value
18716	SourceAccessTypeVirtualHost = "VIRTUAL_HOST"
18717)
18718
18719// SourceAccessType_Values returns all elements of the SourceAccessType enum
18720func SourceAccessType_Values() []string {
18721	return []string{
18722		SourceAccessTypeBasicAuth,
18723		SourceAccessTypeVpcSubnet,
18724		SourceAccessTypeVpcSecurityGroup,
18725		SourceAccessTypeSaslScram512Auth,
18726		SourceAccessTypeSaslScram256Auth,
18727		SourceAccessTypeVirtualHost,
18728	}
18729}
18730
18731const (
18732	// StatePending is a State enum value
18733	StatePending = "Pending"
18734
18735	// StateActive is a State enum value
18736	StateActive = "Active"
18737
18738	// StateInactive is a State enum value
18739	StateInactive = "Inactive"
18740
18741	// StateFailed is a State enum value
18742	StateFailed = "Failed"
18743)
18744
18745// State_Values returns all elements of the State enum
18746func State_Values() []string {
18747	return []string{
18748		StatePending,
18749		StateActive,
18750		StateInactive,
18751		StateFailed,
18752	}
18753}
18754
18755const (
18756	// StateReasonCodeIdle is a StateReasonCode enum value
18757	StateReasonCodeIdle = "Idle"
18758
18759	// StateReasonCodeCreating is a StateReasonCode enum value
18760	StateReasonCodeCreating = "Creating"
18761
18762	// StateReasonCodeRestoring is a StateReasonCode enum value
18763	StateReasonCodeRestoring = "Restoring"
18764
18765	// StateReasonCodeEniLimitExceeded is a StateReasonCode enum value
18766	StateReasonCodeEniLimitExceeded = "EniLimitExceeded"
18767
18768	// StateReasonCodeInsufficientRolePermissions is a StateReasonCode enum value
18769	StateReasonCodeInsufficientRolePermissions = "InsufficientRolePermissions"
18770
18771	// StateReasonCodeInvalidConfiguration is a StateReasonCode enum value
18772	StateReasonCodeInvalidConfiguration = "InvalidConfiguration"
18773
18774	// StateReasonCodeInternalError is a StateReasonCode enum value
18775	StateReasonCodeInternalError = "InternalError"
18776
18777	// StateReasonCodeSubnetOutOfIpaddresses is a StateReasonCode enum value
18778	StateReasonCodeSubnetOutOfIpaddresses = "SubnetOutOfIPAddresses"
18779
18780	// StateReasonCodeInvalidSubnet is a StateReasonCode enum value
18781	StateReasonCodeInvalidSubnet = "InvalidSubnet"
18782
18783	// StateReasonCodeInvalidSecurityGroup is a StateReasonCode enum value
18784	StateReasonCodeInvalidSecurityGroup = "InvalidSecurityGroup"
18785
18786	// StateReasonCodeImageDeleted is a StateReasonCode enum value
18787	StateReasonCodeImageDeleted = "ImageDeleted"
18788
18789	// StateReasonCodeImageAccessDenied is a StateReasonCode enum value
18790	StateReasonCodeImageAccessDenied = "ImageAccessDenied"
18791
18792	// StateReasonCodeInvalidImage is a StateReasonCode enum value
18793	StateReasonCodeInvalidImage = "InvalidImage"
18794)
18795
18796// StateReasonCode_Values returns all elements of the StateReasonCode enum
18797func StateReasonCode_Values() []string {
18798	return []string{
18799		StateReasonCodeIdle,
18800		StateReasonCodeCreating,
18801		StateReasonCodeRestoring,
18802		StateReasonCodeEniLimitExceeded,
18803		StateReasonCodeInsufficientRolePermissions,
18804		StateReasonCodeInvalidConfiguration,
18805		StateReasonCodeInternalError,
18806		StateReasonCodeSubnetOutOfIpaddresses,
18807		StateReasonCodeInvalidSubnet,
18808		StateReasonCodeInvalidSecurityGroup,
18809		StateReasonCodeImageDeleted,
18810		StateReasonCodeImageAccessDenied,
18811		StateReasonCodeInvalidImage,
18812	}
18813}
18814
18815const (
18816	// ThrottleReasonConcurrentInvocationLimitExceeded is a ThrottleReason enum value
18817	ThrottleReasonConcurrentInvocationLimitExceeded = "ConcurrentInvocationLimitExceeded"
18818
18819	// ThrottleReasonFunctionInvocationRateLimitExceeded is a ThrottleReason enum value
18820	ThrottleReasonFunctionInvocationRateLimitExceeded = "FunctionInvocationRateLimitExceeded"
18821
18822	// ThrottleReasonReservedFunctionConcurrentInvocationLimitExceeded is a ThrottleReason enum value
18823	ThrottleReasonReservedFunctionConcurrentInvocationLimitExceeded = "ReservedFunctionConcurrentInvocationLimitExceeded"
18824
18825	// ThrottleReasonReservedFunctionInvocationRateLimitExceeded is a ThrottleReason enum value
18826	ThrottleReasonReservedFunctionInvocationRateLimitExceeded = "ReservedFunctionInvocationRateLimitExceeded"
18827
18828	// ThrottleReasonCallerRateLimitExceeded is a ThrottleReason enum value
18829	ThrottleReasonCallerRateLimitExceeded = "CallerRateLimitExceeded"
18830)
18831
18832// ThrottleReason_Values returns all elements of the ThrottleReason enum
18833func ThrottleReason_Values() []string {
18834	return []string{
18835		ThrottleReasonConcurrentInvocationLimitExceeded,
18836		ThrottleReasonFunctionInvocationRateLimitExceeded,
18837		ThrottleReasonReservedFunctionConcurrentInvocationLimitExceeded,
18838		ThrottleReasonReservedFunctionInvocationRateLimitExceeded,
18839		ThrottleReasonCallerRateLimitExceeded,
18840	}
18841}
18842
18843const (
18844	// TracingModeActive is a TracingMode enum value
18845	TracingModeActive = "Active"
18846
18847	// TracingModePassThrough is a TracingMode enum value
18848	TracingModePassThrough = "PassThrough"
18849)
18850
18851// TracingMode_Values returns all elements of the TracingMode enum
18852func TracingMode_Values() []string {
18853	return []string{
18854		TracingModeActive,
18855		TracingModePassThrough,
18856	}
18857}
18858