1// Code generated by smithy-go-codegen DO NOT EDIT.
2
3package types
4
5import (
6	"time"
7)
8
9// Limits that are related to concurrency and storage. All file and storage sizes
10// are in bytes.
11type AccountLimit struct {
12
13	// The maximum size of a function's deployment package and layers when they're
14	// extracted.
15	CodeSizeUnzipped int64
16
17	// The maximum size of a deployment package when it's uploaded directly to AWS
18	// Lambda. Use Amazon S3 for larger files.
19	CodeSizeZipped int64
20
21	// The maximum number of simultaneous function executions.
22	ConcurrentExecutions int32
23
24	// The amount of storage space that you can use for all deployment packages and
25	// layer archives.
26	TotalCodeSize int64
27
28	// The maximum number of simultaneous function executions, minus the capacity
29	// that's reserved for individual functions with PutFunctionConcurrency.
30	UnreservedConcurrentExecutions *int32
31}
32
33// The number of functions and amount of storage in use.
34type AccountUsage struct {
35
36	// The number of Lambda functions.
37	FunctionCount int64
38
39	// The amount of storage space, in bytes, that's being used by deployment packages
40	// and layer archives.
41	TotalCodeSize int64
42}
43
44// Provides configuration information about a Lambda function alias
45// (https://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html).
46type AliasConfiguration struct {
47
48	// The Amazon Resource Name (ARN) of the alias.
49	AliasArn *string
50
51	// A description of the alias.
52	Description *string
53
54	// The function version that the alias invokes.
55	FunctionVersion *string
56
57	// The name of the alias.
58	Name *string
59
60	// A unique identifier that changes when you update the alias.
61	RevisionId *string
62
63	// The routing configuration
64	// (https://docs.aws.amazon.com/lambda/latest/dg/lambda-traffic-shifting-using-aliases.html)
65	// of the alias.
66	RoutingConfig *AliasRoutingConfiguration
67}
68
69// The traffic-shifting
70// (https://docs.aws.amazon.com/lambda/latest/dg/lambda-traffic-shifting-using-aliases.html)
71// configuration of a Lambda function alias.
72type AliasRoutingConfiguration struct {
73
74	// The second version, and the percentage of traffic that's routed to it.
75	AdditionalVersionWeights map[string]float64
76}
77
78// List of signing profiles that can sign a code package.
79type AllowedPublishers struct {
80
81	// The Amazon Resource Name (ARN) for each of the signing profiles. A signing
82	// profile defines a trusted user who can sign a code package.
83	//
84	// This member is required.
85	SigningProfileVersionArns []string
86}
87
88// Details about a Code signing configuration.
89type CodeSigningConfig struct {
90
91	// List of allowed publishers.
92	//
93	// This member is required.
94	AllowedPublishers *AllowedPublishers
95
96	// The Amazon Resource Name (ARN) of the Code signing configuration.
97	//
98	// This member is required.
99	CodeSigningConfigArn *string
100
101	// Unique identifer for the Code signing configuration.
102	//
103	// This member is required.
104	CodeSigningConfigId *string
105
106	// The code signing policy controls the validation failure action for signature
107	// mismatch or expiry.
108	//
109	// This member is required.
110	CodeSigningPolicies *CodeSigningPolicies
111
112	// The date and time that the Code signing configuration was last modified, in
113	// ISO-8601 format (YYYY-MM-DDThh:mm:ss.sTZD).
114	//
115	// This member is required.
116	LastModified *string
117
118	// Code signing configuration description.
119	Description *string
120}
121
122// Code signing configuration policies specifies the validation failure action for
123// signature mismatch or expiry.
124type CodeSigningPolicies struct {
125
126	// Code signing configuration policy for deployment validation failure. If you set
127	// the policy to Enforce, Lambda blocks the deployment request if signature
128	// validation checks fail. If you set the policy to Warn, Lambda allows the
129	// deployment and creates a CloudWatch log. Default value: Warn
130	UntrustedArtifactOnDeployment CodeSigningPolicy
131}
132
133type Concurrency struct {
134
135	// The number of concurrent executions that are reserved for this function. For
136	// more information, see Managing Concurrency
137	// (https://docs.aws.amazon.com/lambda/latest/dg/concurrent-executions.html).
138	ReservedConcurrentExecutions *int32
139}
140
141// The dead-letter queue
142// (https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#dlq) for
143// failed asynchronous invocations.
144type DeadLetterConfig struct {
145
146	// The Amazon Resource Name (ARN) of an Amazon SQS queue or Amazon SNS topic.
147	TargetArn *string
148}
149
150// A configuration object that specifies the destination of an event after Lambda
151// processes it.
152type DestinationConfig struct {
153
154	// The destination configuration for failed invocations.
155	OnFailure *OnFailure
156
157	// The destination configuration for successful invocations.
158	OnSuccess *OnSuccess
159}
160
161// A function's environment variable settings.
162type Environment struct {
163
164	// Environment variable key-value pairs.
165	Variables map[string]string
166}
167
168// Error messages for environment variables that couldn't be applied.
169type EnvironmentError struct {
170
171	// The error code.
172	ErrorCode *string
173
174	// The error message.
175	Message *string
176}
177
178// The results of an operation to update or read environment variables. If the
179// operation is successful, the response contains the environment variables. If it
180// failed, the response contains details about the error.
181type EnvironmentResponse struct {
182
183	// Error messages for environment variables that couldn't be applied.
184	Error *EnvironmentError
185
186	// Environment variable key-value pairs.
187	Variables map[string]string
188}
189
190// A mapping between an AWS resource and an AWS Lambda function. See
191// CreateEventSourceMapping for details.
192type EventSourceMappingConfiguration struct {
193
194	// The maximum number of items to retrieve in a single batch.
195	BatchSize *int32
196
197	// (Streams) If the function returns an error, split the batch in two and retry.
198	// The default value is false.
199	BisectBatchOnFunctionError *bool
200
201	// (Streams) An Amazon SQS queue or Amazon SNS topic destination for discarded
202	// records.
203	DestinationConfig *DestinationConfig
204
205	// The Amazon Resource Name (ARN) of the event source.
206	EventSourceArn *string
207
208	// The ARN of the Lambda function.
209	FunctionArn *string
210
211	// (Streams) A list of current response type enums applied to the event source
212	// mapping.
213	FunctionResponseTypes []FunctionResponseType
214
215	// The date that the event source mapping was last updated, or its state changed.
216	LastModified *time.Time
217
218	// The result of the last AWS Lambda invocation of your Lambda function.
219	LastProcessingResult *string
220
221	// (Streams and SQS standard queues) The maximum amount of time to gather records
222	// before invoking the function, in seconds. The default value is zero.
223	MaximumBatchingWindowInSeconds *int32
224
225	// (Streams) Discard records older than the specified age. The default value is
226	// infinite (-1). When set to infinite (-1), failed records are retried until the
227	// record expires.
228	MaximumRecordAgeInSeconds *int32
229
230	// (Streams) Discard records after the specified number of retries. The default
231	// value is infinite (-1). When set to infinite (-1), failed records are retried
232	// until the record expires.
233	MaximumRetryAttempts *int32
234
235	// (Streams) The number of batches to process from each shard concurrently. The
236	// default value is 1.
237	ParallelizationFactor *int32
238
239	// (MQ) The name of the Amazon MQ broker destination queue to consume.
240	Queues []string
241
242	// The Self-Managed Apache Kafka cluster for your event source.
243	SelfManagedEventSource *SelfManagedEventSource
244
245	// An array of the authentication protocol, or the VPC components to secure your
246	// event source.
247	SourceAccessConfigurations []SourceAccessConfiguration
248
249	// The position in a stream from which to start reading. Required for Amazon
250	// Kinesis, Amazon DynamoDB, and Amazon MSK Streams sources. AT_TIMESTAMP is only
251	// supported for Amazon Kinesis streams.
252	StartingPosition EventSourcePosition
253
254	// With StartingPosition set to AT_TIMESTAMP, the time from which to start reading.
255	StartingPositionTimestamp *time.Time
256
257	// The state of the event source mapping. It can be one of the following: Creating,
258	// Enabling, Enabled, Disabling, Disabled, Updating, or Deleting.
259	State *string
260
261	// Indicates whether the last change to the event source mapping was made by a
262	// user, or by the Lambda service.
263	StateTransitionReason *string
264
265	// The name of the Kafka topic.
266	Topics []string
267
268	// (Streams) The duration of a processing window in seconds. The range is between 1
269	// second up to 15 minutes.
270	TumblingWindowInSeconds *int32
271
272	// The identifier of the event source mapping.
273	UUID *string
274}
275
276// Details about the connection between a Lambda function and an Amazon EFS file
277// system.
278type FileSystemConfig struct {
279
280	// The Amazon Resource Name (ARN) of the Amazon EFS access point that provides
281	// access to the file system.
282	//
283	// This member is required.
284	Arn *string
285
286	// The path where the function can access the file system, starting with /mnt/.
287	//
288	// This member is required.
289	LocalMountPath *string
290}
291
292// The code for the Lambda function. You can specify either an object in Amazon S3,
293// upload a .zip file archive deployment package directly, or specify the URI of a
294// container image.
295type FunctionCode struct {
296
297	// URI of a container image in the Amazon ECR registry.
298	ImageUri *string
299
300	// An Amazon S3 bucket in the same AWS Region as your function. The bucket can be
301	// in a different AWS account.
302	S3Bucket *string
303
304	// The Amazon S3 key of the deployment package.
305	S3Key *string
306
307	// For versioned objects, the version of the deployment package object to use.
308	S3ObjectVersion *string
309
310	// The base64-encoded contents of the deployment package. AWS SDK and AWS CLI
311	// clients handle the encoding for you.
312	ZipFile []byte
313}
314
315// Details about a function's deployment package.
316type FunctionCodeLocation struct {
317
318	// URI of a container image in the Amazon ECR registry.
319	ImageUri *string
320
321	// A presigned URL that you can use to download the deployment package.
322	Location *string
323
324	// The service that's hosting the file.
325	RepositoryType *string
326
327	// The resolved URI for the image.
328	ResolvedImageUri *string
329}
330
331// Details about a function's configuration.
332type FunctionConfiguration struct {
333
334	// The SHA256 hash of the function's deployment package.
335	CodeSha256 *string
336
337	// The size of the function's deployment package, in bytes.
338	CodeSize int64
339
340	// The function's dead letter queue.
341	DeadLetterConfig *DeadLetterConfig
342
343	// The function's description.
344	Description *string
345
346	// The function's environment variables.
347	Environment *EnvironmentResponse
348
349	// Connection settings for an Amazon EFS file system.
350	FileSystemConfigs []FileSystemConfig
351
352	// The function's Amazon Resource Name (ARN).
353	FunctionArn *string
354
355	// The name of the function.
356	FunctionName *string
357
358	// The function that Lambda calls to begin executing your function.
359	Handler *string
360
361	// The function's image configuration values.
362	ImageConfigResponse *ImageConfigResponse
363
364	// The KMS key that's used to encrypt the function's environment variables. This
365	// key is only returned if you've configured a customer managed CMK.
366	KMSKeyArn *string
367
368	// The date and time that the function was last updated, in ISO-8601 format
369	// (https://www.w3.org/TR/NOTE-datetime) (YYYY-MM-DDThh:mm:ss.sTZD).
370	LastModified *string
371
372	// The status of the last update that was performed on the function. This is first
373	// set to Successful after function creation completes.
374	LastUpdateStatus LastUpdateStatus
375
376	// The reason for the last update that was performed on the function.
377	LastUpdateStatusReason *string
378
379	// The reason code for the last update that was performed on the function.
380	LastUpdateStatusReasonCode LastUpdateStatusReasonCode
381
382	// The function's  layers
383	// (https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html).
384	Layers []Layer
385
386	// For Lambda@Edge functions, the ARN of the master function.
387	MasterArn *string
388
389	// The amount of memory available to the function at runtime.
390	MemorySize *int32
391
392	// The type of deployment package. Set to Image for container image and set Zip for
393	// .zip file archive.
394	PackageType PackageType
395
396	// The latest updated revision of the function or alias.
397	RevisionId *string
398
399	// The function's execution role.
400	Role *string
401
402	// The runtime environment for the Lambda function.
403	Runtime Runtime
404
405	// The ARN of the signing job.
406	SigningJobArn *string
407
408	// The ARN of the signing profile version.
409	SigningProfileVersionArn *string
410
411	// The current state of the function. When the state is Inactive, you can
412	// reactivate the function by invoking it.
413	State State
414
415	// The reason for the function's current state.
416	StateReason *string
417
418	// The reason code for the function's current state. When the code is Creating, you
419	// can't invoke or modify the function.
420	StateReasonCode StateReasonCode
421
422	// The amount of time in seconds that Lambda allows a function to run before
423	// stopping it.
424	Timeout *int32
425
426	// The function's AWS X-Ray tracing configuration.
427	TracingConfig *TracingConfigResponse
428
429	// The version of the Lambda function.
430	Version *string
431
432	// The function's networking configuration.
433	VpcConfig *VpcConfigResponse
434}
435
436type FunctionEventInvokeConfig struct {
437
438	// A destination for events after they have been sent to a function for processing.
439	// Destinations
440	//
441	// * Function - The Amazon Resource Name (ARN) of a Lambda
442	// function.
443	//
444	// * Queue - The ARN of an SQS queue.
445	//
446	// * Topic - The ARN of an SNS
447	// topic.
448	//
449	// * Event Bus - The ARN of an Amazon EventBridge event bus.
450	DestinationConfig *DestinationConfig
451
452	// The Amazon Resource Name (ARN) of the function.
453	FunctionArn *string
454
455	// The date and time that the configuration was last updated.
456	LastModified *time.Time
457
458	// The maximum age of a request that Lambda sends to a function for processing.
459	MaximumEventAgeInSeconds *int32
460
461	// The maximum number of times to retry when the function returns an error.
462	MaximumRetryAttempts *int32
463}
464
465// Configuration values that override the container image Dockerfile settings. See
466// Container settings
467// (https://docs.aws.amazon.com/lambda/latest/dg/images-parms.html).
468type ImageConfig struct {
469
470	// Specifies parameters that you want to pass in with ENTRYPOINT.
471	Command []string
472
473	// Specifies the entry point to their application, which is typically the location
474	// of the runtime executable.
475	EntryPoint []string
476
477	// Specifies the working directory.
478	WorkingDirectory *string
479}
480
481// Error response to GetFunctionConfiguration.
482type ImageConfigError struct {
483
484	// Error code.
485	ErrorCode *string
486
487	// Error message.
488	Message *string
489}
490
491// Response to GetFunctionConfiguration request.
492type ImageConfigResponse struct {
493
494	// Error response to GetFunctionConfiguration.
495	Error *ImageConfigError
496
497	// Configuration values that override the container image Dockerfile.
498	ImageConfig *ImageConfig
499}
500
501// An AWS Lambda layer
502// (https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html).
503type Layer struct {
504
505	// The Amazon Resource Name (ARN) of the function layer.
506	Arn *string
507
508	// The size of the layer archive in bytes.
509	CodeSize int64
510
511	// The Amazon Resource Name (ARN) of a signing job.
512	SigningJobArn *string
513
514	// The Amazon Resource Name (ARN) for a signing profile version.
515	SigningProfileVersionArn *string
516}
517
518// Details about an AWS Lambda layer
519// (https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html).
520type LayersListItem struct {
521
522	// The newest version of the layer.
523	LatestMatchingVersion *LayerVersionsListItem
524
525	// The Amazon Resource Name (ARN) of the function layer.
526	LayerArn *string
527
528	// The name of the layer.
529	LayerName *string
530}
531
532// A ZIP archive that contains the contents of an AWS Lambda layer
533// (https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html). You
534// can specify either an Amazon S3 location, or upload a layer archive directly.
535type LayerVersionContentInput struct {
536
537	// The Amazon S3 bucket of the layer archive.
538	S3Bucket *string
539
540	// The Amazon S3 key of the layer archive.
541	S3Key *string
542
543	// For versioned objects, the version of the layer archive object to use.
544	S3ObjectVersion *string
545
546	// The base64-encoded contents of the layer archive. AWS SDK and AWS CLI clients
547	// handle the encoding for you.
548	ZipFile []byte
549}
550
551// Details about a version of an AWS Lambda layer
552// (https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html).
553type LayerVersionContentOutput struct {
554
555	// The SHA-256 hash of the layer archive.
556	CodeSha256 *string
557
558	// The size of the layer archive in bytes.
559	CodeSize int64
560
561	// A link to the layer archive in Amazon S3 that is valid for 10 minutes.
562	Location *string
563
564	// The Amazon Resource Name (ARN) of a signing job.
565	SigningJobArn *string
566
567	// The Amazon Resource Name (ARN) for a signing profile version.
568	SigningProfileVersionArn *string
569}
570
571// Details about a version of an AWS Lambda layer
572// (https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html).
573type LayerVersionsListItem struct {
574
575	// The layer's compatible runtimes.
576	CompatibleRuntimes []Runtime
577
578	// The date that the version was created, in ISO 8601 format. For example,
579	// 2018-11-27T15:10:45.123+0000.
580	CreatedDate *string
581
582	// The description of the version.
583	Description *string
584
585	// The ARN of the layer version.
586	LayerVersionArn *string
587
588	// The layer's open-source license.
589	LicenseInfo *string
590
591	// The version number.
592	Version int64
593}
594
595// A destination for events that failed processing.
596type OnFailure struct {
597
598	// The Amazon Resource Name (ARN) of the destination resource.
599	Destination *string
600}
601
602// A destination for events that were processed successfully.
603type OnSuccess struct {
604
605	// The Amazon Resource Name (ARN) of the destination resource.
606	Destination *string
607}
608
609// Details about the provisioned concurrency configuration for a function alias or
610// version.
611type ProvisionedConcurrencyConfigListItem struct {
612
613	// The amount of provisioned concurrency allocated.
614	AllocatedProvisionedConcurrentExecutions *int32
615
616	// The amount of provisioned concurrency available.
617	AvailableProvisionedConcurrentExecutions *int32
618
619	// The Amazon Resource Name (ARN) of the alias or version.
620	FunctionArn *string
621
622	// The date and time that a user last updated the configuration, in ISO 8601 format
623	// (https://www.iso.org/iso-8601-date-and-time-format.html).
624	LastModified *string
625
626	// The amount of provisioned concurrency requested.
627	RequestedProvisionedConcurrentExecutions *int32
628
629	// The status of the allocation process.
630	Status ProvisionedConcurrencyStatusEnum
631
632	// For failed allocations, the reason that provisioned concurrency could not be
633	// allocated.
634	StatusReason *string
635}
636
637// The Self-Managed Apache Kafka cluster for your event source.
638type SelfManagedEventSource struct {
639
640	// The list of bootstrap servers for your Kafka brokers in the following format:
641	// "KAFKA_BOOTSTRAP_SERVERS": ["abc.xyz.com:xxxx","abc2.xyz.com:xxxx"].
642	Endpoints map[string][]string
643}
644
645// You can specify the authentication protocol, or the VPC components to secure
646// access to your event source.
647type SourceAccessConfiguration struct {
648
649	// The type of authentication protocol or the VPC components for your event source.
650	// For example: "Type":"SASL_SCRAM_512_AUTH".
651	//
652	// * BASIC_AUTH - (MQ) The Secrets
653	// Manager secret that stores your broker credentials.
654	//
655	// * VPC_SUBNET - The subnets
656	// associated with your VPC. Lambda connects to these subnets to fetch data from
657	// your Kafka cluster.
658	//
659	// * VPC_SECURITY_GROUP - The VPC security group used to
660	// manage access to your Kafka brokers.
661	//
662	// * SASL_SCRAM_256_AUTH - The ARN of your
663	// secret key used for SASL SCRAM-256 authentication of your Kafka brokers.
664	//
665	// *
666	// SASL_SCRAM_512_AUTH - The ARN of your secret key used for SASL SCRAM-512
667	// authentication of your Kafka brokers.
668	Type SourceAccessType
669
670	// The value for your chosen configuration in Type. For example: "URI":
671	// "arn:aws:secretsmanager:us-east-1:01234567890:secret:MyBrokerSecretName".
672	URI *string
673}
674
675// The function's AWS X-Ray tracing configuration. To sample and record incoming
676// requests, set Mode to Active.
677type TracingConfig struct {
678
679	// The tracing mode.
680	Mode TracingMode
681}
682
683// The function's AWS X-Ray tracing configuration.
684type TracingConfigResponse struct {
685
686	// The tracing mode.
687	Mode TracingMode
688}
689
690// The VPC security groups and subnets that are attached to a Lambda function. For
691// more information, see VPC Settings
692// (https://docs.aws.amazon.com/lambda/latest/dg/configuration-vpc.html).
693type VpcConfig struct {
694
695	// A list of VPC security groups IDs.
696	SecurityGroupIds []string
697
698	// A list of VPC subnet IDs.
699	SubnetIds []string
700}
701
702// The VPC security groups and subnets that are attached to a Lambda function.
703type VpcConfigResponse struct {
704
705	// A list of VPC security groups IDs.
706	SecurityGroupIds []string
707
708	// A list of VPC subnet IDs.
709	SubnetIds []string
710
711	// The ID of the VPC.
712	VpcId *string
713}
714