aws-sdk-lambda 1.76.0 → 1.107.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -27,8 +27,13 @@ require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
27
27
  require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
28
28
  require 'aws-sdk-core/plugins/transfer_encoding.rb'
29
29
  require 'aws-sdk-core/plugins/http_checksum.rb'
30
- require 'aws-sdk-core/plugins/signature_v4.rb'
30
+ require 'aws-sdk-core/plugins/checksum_algorithm.rb'
31
+ require 'aws-sdk-core/plugins/request_compression.rb'
32
+ require 'aws-sdk-core/plugins/defaults_mode.rb'
33
+ require 'aws-sdk-core/plugins/recursion_detection.rb'
34
+ require 'aws-sdk-core/plugins/sign.rb'
31
35
  require 'aws-sdk-core/plugins/protocols/rest_json.rb'
36
+ require 'aws-sdk-core/plugins/event_stream_configuration.rb'
32
37
 
33
38
  Aws::Plugins::GlobalConfiguration.add_identifier(:lambda)
34
39
 
@@ -73,8 +78,14 @@ module Aws::Lambda
73
78
  add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
74
79
  add_plugin(Aws::Plugins::TransferEncoding)
75
80
  add_plugin(Aws::Plugins::HttpChecksum)
76
- add_plugin(Aws::Plugins::SignatureV4)
81
+ add_plugin(Aws::Plugins::ChecksumAlgorithm)
82
+ add_plugin(Aws::Plugins::RequestCompression)
83
+ add_plugin(Aws::Plugins::DefaultsMode)
84
+ add_plugin(Aws::Plugins::RecursionDetection)
85
+ add_plugin(Aws::Plugins::Sign)
77
86
  add_plugin(Aws::Plugins::Protocols::RestJson)
87
+ add_plugin(Aws::Plugins::EventStreamConfiguration)
88
+ add_plugin(Aws::Lambda::Plugins::Endpoints)
78
89
 
79
90
  # @overload initialize(options)
80
91
  # @param [Hash] options
@@ -175,10 +186,18 @@ module Aws::Lambda
175
186
  # Used only in `standard` and adaptive retry modes. Specifies whether to apply
176
187
  # a clock skew correction and retry requests with skewed client clocks.
177
188
  #
189
+ # @option options [String] :defaults_mode ("legacy")
190
+ # See {Aws::DefaultsModeConfiguration} for a list of the
191
+ # accepted modes and the configuration defaults that are included.
192
+ #
178
193
  # @option options [Boolean] :disable_host_prefix_injection (false)
179
194
  # Set to true to disable SDK automatically adding host prefix
180
195
  # to default service endpoint when available.
181
196
  #
197
+ # @option options [Boolean] :disable_request_compression (false)
198
+ # When set to 'true' the request body will not be compressed
199
+ # for supported operations.
200
+ #
182
201
  # @option options [String] :endpoint
183
202
  # The client endpoint is normally constructed from the `:region`
184
203
  # option. You should only configure an `:endpoint` when connecting
@@ -199,6 +218,16 @@ module Aws::Lambda
199
218
  # @option options [Boolean] :endpoint_discovery (false)
200
219
  # When set to `true`, endpoint discovery will be enabled for operations when available.
201
220
  #
221
+ # @option options [Proc] :event_stream_handler
222
+ # When an EventStream or Proc object is provided, it will be used as callback for each chunk of event stream response received along the way.
223
+ #
224
+ # @option options [Boolean] :ignore_configured_endpoint_urls
225
+ # Setting to true disables use of endpoint URLs provided via environment
226
+ # variables and the shared configuration file.
227
+ #
228
+ # @option options [Proc] :input_event_stream_handler
229
+ # When an EventStream or Proc object is provided, it can be used for sending events for the event stream.
230
+ #
202
231
  # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
203
232
  # The log formatter.
204
233
  #
@@ -215,10 +244,18 @@ module Aws::Lambda
215
244
  # setting this value to 5 will result in a request being retried up to
216
245
  # 4 times. Used in `standard` and `adaptive` retry modes.
217
246
  #
247
+ # @option options [Proc] :output_event_stream_handler
248
+ # When an EventStream or Proc object is provided, it will be used as callback for each chunk of event stream response received along the way.
249
+ #
218
250
  # @option options [String] :profile ("default")
219
251
  # Used when loading credentials from the shared credentials file
220
252
  # at HOME/.aws/credentials. When not specified, 'default' is used.
221
253
  #
254
+ # @option options [Integer] :request_min_compression_size_bytes (10240)
255
+ # The minimum size in bytes that triggers compression for request
256
+ # bodies. The value must be non-negative integer value between 0
257
+ # and 10485780 bytes inclusive.
258
+ #
222
259
  # @option options [Proc] :retry_backoff
223
260
  # A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay.
224
261
  # This option is only used in the `legacy` retry mode.
@@ -264,6 +301,11 @@ module Aws::Lambda
264
301
  # in the future.
265
302
  #
266
303
  #
304
+ # @option options [String] :sdk_ua_app_id
305
+ # A unique and opaque application ID that is appended to the
306
+ # User-Agent header as app/<sdk_ua_app_id>. It should have a
307
+ # maximum length of 50.
308
+ #
267
309
  # @option options [String] :secret_access_key
268
310
  #
269
311
  # @option options [String] :session_token
@@ -277,6 +319,19 @@ module Aws::Lambda
277
319
  # ** Please note ** When response stubbing is enabled, no HTTP
278
320
  # requests are made, and retries are disabled.
279
321
  #
322
+ # @option options [Aws::TokenProvider] :token_provider
323
+ # A Bearer Token Provider. This can be an instance of any one of the
324
+ # following classes:
325
+ #
326
+ # * `Aws::StaticTokenProvider` - Used for configuring static, non-refreshing
327
+ # tokens.
328
+ #
329
+ # * `Aws::SSOTokenProvider` - Used for loading tokens from AWS SSO using an
330
+ # access token generated from `aws login`.
331
+ #
332
+ # When `:token_provider` is not configured directly, the `Aws::TokenProviderChain`
333
+ # will be used to search for tokens configured for your profile in shared configuration files.
334
+ #
280
335
  # @option options [Boolean] :use_dualstack_endpoint
281
336
  # When set to `true`, dualstack enabled endpoints (with `.aws` TLD)
282
337
  # will be used if available.
@@ -290,6 +345,9 @@ module Aws::Lambda
290
345
  # When `true`, request parameters are validated before
291
346
  # sending the request.
292
347
  #
348
+ # @option options [Aws::Lambda::EndpointProvider] :endpoint_provider
349
+ # The endpoint provider used to resolve endpoints. Any object that responds to `#resolve_endpoint(parameters)` where `parameters` is a Struct similar to `Aws::Lambda::EndpointParameters`
350
+ #
293
351
  # @option options [URI::HTTP,String] :http_proxy A proxy to send
294
352
  # requests through. Formatted like 'http://proxy.com:123'.
295
353
  #
@@ -297,7 +355,7 @@ module Aws::Lambda
297
355
  # seconds to wait when opening a HTTP session before raising a
298
356
  # `Timeout::Error`.
299
357
  #
300
- # @option options [Integer] :http_read_timeout (60) The default
358
+ # @option options [Float] :http_read_timeout (60) The default
301
359
  # number of seconds to wait for response data. This value can
302
360
  # safely be set per-request on the session.
303
361
  #
@@ -313,6 +371,9 @@ module Aws::Lambda
313
371
  # disables this behaviour. This value can safely be set per
314
372
  # request on the session.
315
373
  #
374
+ # @option options [Float] :ssl_timeout (nil) Sets the SSL timeout
375
+ # in seconds.
376
+ #
316
377
  # @option options [Boolean] :http_wire_trace (false) When `true`,
317
378
  # HTTP debug output will be sent to the `:logger`.
318
379
  #
@@ -411,25 +472,28 @@ module Aws::Lambda
411
472
  req.send_request(options)
412
473
  end
413
474
 
414
- # Grants an Amazon Web Services service or another account permission to
415
- # use a function. You can apply the policy at the function level, or
416
- # specify a qualifier to restrict access to a single version or alias.
417
- # If you use a qualifier, the invoker must use the full Amazon Resource
418
- # Name (ARN) of that version or alias to invoke the function. Note:
419
- # Lambda does not support adding policies to version $LATEST.
475
+ # Grants an Amazon Web Service, Amazon Web Services account, or Amazon
476
+ # Web Services organization permission to use a function. You can apply
477
+ # the policy at the function level, or specify a qualifier to restrict
478
+ # access to a single version or alias. If you use a qualifier, the
479
+ # invoker must use the full Amazon Resource Name (ARN) of that version
480
+ # or alias to invoke the function. Note: Lambda does not support adding
481
+ # policies to version $LATEST.
420
482
  #
421
483
  # To grant permission to another account, specify the account ID as the
422
- # `Principal`. For Amazon Web Services services, the principal is a
423
- # domain-style identifier defined by the service, like
424
- # `s3.amazonaws.com` or `sns.amazonaws.com`. For Amazon Web Services
425
- # services, you can also specify the ARN of the associated resource as
426
- # the `SourceArn`. If you grant permission to a service principal
427
- # without specifying the source, other accounts could potentially
428
- # configure resources in their account to invoke your Lambda function.
429
- #
430
- # This action adds a statement to a resource-based permissions policy
484
+ # `Principal`. To grant permission to an organization defined in
485
+ # Organizations, specify the organization ID as the `PrincipalOrgID`.
486
+ # For Amazon Web Services, the principal is a domain-style identifier
487
+ # that the service defines, such as `s3.amazonaws.com` or
488
+ # `sns.amazonaws.com`. For Amazon Web Services, you can also specify the
489
+ # ARN of the associated resource as the `SourceArn`. If you grant
490
+ # permission to a service principal without specifying the source, other
491
+ # accounts could potentially configure resources in their account to
492
+ # invoke your Lambda function.
493
+ #
494
+ # This operation adds a statement to a resource-based permissions policy
431
495
  # for the function. For more information about function policies, see
432
- # [Lambda Function Policies][1].
496
+ # [Using resource-based policies for Lambda][1].
433
497
  #
434
498
  #
435
499
  #
@@ -440,13 +504,13 @@ module Aws::Lambda
440
504
  #
441
505
  # **Name formats**
442
506
  #
443
- # * **Function name** - `my-function` (name-only), `my-function:v1`
507
+ # * **Function name** `my-function` (name-only), `my-function:v1`
444
508
  # (with alias).
445
509
  #
446
- # * **Function ARN** -
510
+ # * **Function ARN**
447
511
  # `arn:aws:lambda:us-west-2:123456789012:function:my-function`.
448
512
  #
449
- # * **Partial ARN** - `123456789012:function:my-function`.
513
+ # * **Partial ARN** `123456789012:function:my-function`.
450
514
  #
451
515
  # You can append a version number or alias to any of the formats. The
452
516
  # length constraint applies only to the full ARN. If you specify only
@@ -461,37 +525,52 @@ module Aws::Lambda
461
525
  # `lambda:InvokeFunction` or `lambda:GetFunction`.
462
526
  #
463
527
  # @option params [required, String] :principal
464
- # The Amazon Web Services service or account that invokes the function.
465
- # If you specify a service, use `SourceArn` or `SourceAccount` to limit
466
- # who can invoke the function through that service.
528
+ # The Amazon Web Service or Amazon Web Services account that invokes the
529
+ # function. If you specify a service, use `SourceArn` or `SourceAccount`
530
+ # to limit who can invoke the function through that service.
467
531
  #
468
532
  # @option params [String] :source_arn
469
- # For Amazon Web Services services, the ARN of the Amazon Web Services
470
- # resource that invokes the function. For example, an Amazon S3 bucket
471
- # or Amazon SNS topic.
533
+ # For Amazon Web Services, the ARN of the Amazon Web Services resource
534
+ # that invokes the function. For example, an Amazon S3 bucket or Amazon
535
+ # SNS topic.
472
536
  #
473
537
  # Note that Lambda configures the comparison using the `StringLike`
474
538
  # operator.
475
539
  #
476
540
  # @option params [String] :source_account
477
- # For Amazon S3, the ID of the account that owns the resource. Use this
478
- # together with `SourceArn` to ensure that the resource is owned by the
479
- # specified account. It is possible for an Amazon S3 bucket to be
480
- # deleted by its owner and recreated by another account.
541
+ # For Amazon Web Service, the ID of the Amazon Web Services account that
542
+ # owns the resource. Use this together with `SourceArn` to ensure that
543
+ # the specified account owns the resource. It is possible for an Amazon
544
+ # S3 bucket to be deleted by its owner and recreated by another account.
481
545
  #
482
546
  # @option params [String] :event_source_token
483
- # For Alexa Smart Home functions, a token that must be supplied by the
484
- # invoker.
547
+ # For Alexa Smart Home functions, a token that the invoker must supply.
485
548
  #
486
549
  # @option params [String] :qualifier
487
550
  # Specify a version or alias to add permissions to a published version
488
551
  # of the function.
489
552
  #
490
553
  # @option params [String] :revision_id
491
- # Only update the policy if the revision ID matches the ID that's
554
+ # Update the policy only if the revision ID matches the ID that's
492
555
  # specified. Use this option to avoid modifying a policy that has
493
556
  # changed since you last read it.
494
557
  #
558
+ # @option params [String] :principal_org_id
559
+ # The identifier for your organization in Organizations. Use this to
560
+ # grant permissions to all the Amazon Web Services accounts under this
561
+ # organization.
562
+ #
563
+ # @option params [String] :function_url_auth_type
564
+ # The type of authentication that your function URL uses. Set to
565
+ # `AWS_IAM` if you want to restrict access to authenticated users only.
566
+ # Set to `NONE` if you want to bypass IAM authentication to create a
567
+ # public endpoint. For more information, see [Security and auth model
568
+ # for Lambda function URLs][1].
569
+ #
570
+ #
571
+ #
572
+ # [1]: https://docs.aws.amazon.com/lambda/latest/dg/urls-auth.html
573
+ #
495
574
  # @return [Types::AddPermissionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
496
575
  #
497
576
  # * {Types::AddPermissionResponse#statement #statement} => String
@@ -508,6 +587,8 @@ module Aws::Lambda
508
587
  # event_source_token: "EventSourceToken",
509
588
  # qualifier: "Qualifier",
510
589
  # revision_id: "String",
590
+ # principal_org_id: "PrincipalOrgID",
591
+ # function_url_auth_type: "NONE", # accepts NONE, AWS_IAM
511
592
  # })
512
593
  #
513
594
  # @example Response structure
@@ -533,7 +614,7 @@ module Aws::Lambda
533
614
  #
534
615
  #
535
616
  #
536
- # [1]: https://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html
617
+ # [1]: https://docs.aws.amazon.com/lambda/latest/dg/configuration-aliases.html
537
618
  #
538
619
  # @option params [required, String] :function_name
539
620
  # The name of the Lambda function.
@@ -615,7 +696,7 @@ module Aws::Lambda
615
696
  #
616
697
  #
617
698
  #
618
- # [1]: https://docs.aws.amazon.com/lambda/latest/dg/configuration-trustedcode.html
699
+ # [1]: https://docs.aws.amazon.com/lambda/latest/dg/configuration-codesigning.html
619
700
  #
620
701
  # @option params [String] :description
621
702
  # Descriptive name for this code signing configuration.
@@ -663,7 +744,7 @@ module Aws::Lambda
663
744
  end
664
745
 
665
746
  # Creates a mapping between an event source and an Lambda function.
666
- # Lambda reads items from the event source and triggers the function.
747
+ # Lambda reads items from the event source and invokes the function.
667
748
  #
668
749
  # For details about how to configure different event sources, see the
669
750
  # following topics.
@@ -680,40 +761,44 @@ module Aws::Lambda
680
761
  #
681
762
  # * [ Apache Kafka][6]
682
763
  #
683
- # The following error handling options are only available for stream
764
+ # * [ Amazon DocumentDB][7]
765
+ #
766
+ # The following error handling options are available only for stream
684
767
  # sources (DynamoDB and Kinesis):
685
768
  #
686
- # * `BisectBatchOnFunctionError` - If the function returns an error,
769
+ # * `BisectBatchOnFunctionError` If the function returns an error,
687
770
  # split the batch in two and retry.
688
771
  #
689
- # * `DestinationConfig` - Send discarded records to an Amazon SQS queue
772
+ # * `DestinationConfig` Send discarded records to an Amazon SQS queue
690
773
  # or Amazon SNS topic.
691
774
  #
692
- # * `MaximumRecordAgeInSeconds` - Discard records older than the
775
+ # * `MaximumRecordAgeInSeconds` Discard records older than the
693
776
  # specified age. The default value is infinite (-1). When set to
694
777
  # infinite (-1), failed records are retried until the record expires
695
778
  #
696
- # * `MaximumRetryAttempts` - Discard records after the specified number
779
+ # * `MaximumRetryAttempts` Discard records after the specified number
697
780
  # of retries. The default value is infinite (-1). When set to infinite
698
781
  # (-1), failed records are retried until the record expires.
699
782
  #
700
- # * `ParallelizationFactor` - Process multiple batches from each shard
783
+ # * `ParallelizationFactor` Process multiple batches from each shard
701
784
  # concurrently.
702
785
  #
703
786
  # For information about which configuration parameters apply to each
704
787
  # event source, see the following topics.
705
788
  #
706
- # * [ Amazon DynamoDB Streams][7]
789
+ # * [ Amazon DynamoDB Streams][8]
790
+ #
791
+ # * [ Amazon Kinesis][9]
707
792
  #
708
- # * [ Amazon Kinesis][8]
793
+ # * [ Amazon SQS][10]
709
794
  #
710
- # * [ Amazon SQS][9]
795
+ # * [ Amazon MQ and RabbitMQ][11]
711
796
  #
712
- # * [ Amazon MQ and RabbitMQ][10]
797
+ # * [ Amazon MSK][12]
713
798
  #
714
- # * [ Amazon MSK][11]
799
+ # * [ Apache Kafka][13]
715
800
  #
716
- # * [ Apache Kafka][12]
801
+ # * [ Amazon DocumentDB][14]
717
802
  #
718
803
  #
719
804
  #
@@ -723,40 +808,46 @@ module Aws::Lambda
723
808
  # [4]: https://docs.aws.amazon.com/lambda/latest/dg/with-mq.html#services-mq-eventsourcemapping
724
809
  # [5]: https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html
725
810
  # [6]: https://docs.aws.amazon.com/lambda/latest/dg/kafka-smaa.html
726
- # [7]: https://docs.aws.amazon.com/lambda/latest/dg/with-ddb.html#services-ddb-params
727
- # [8]: https://docs.aws.amazon.com/lambda/latest/dg/with-kinesis.html#services-kinesis-params
728
- # [9]: https://docs.aws.amazon.com/lambda/latest/dg/with-sqs.html#services-sqs-params
729
- # [10]: https://docs.aws.amazon.com/lambda/latest/dg/with-mq.html#services-mq-params
730
- # [11]: https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html#services-msk-parms
731
- # [12]: https://docs.aws.amazon.com/lambda/latest/dg/with-kafka.html#services-kafka-parms
811
+ # [7]: https://docs.aws.amazon.com/lambda/latest/dg/with-documentdb.html
812
+ # [8]: https://docs.aws.amazon.com/lambda/latest/dg/with-ddb.html#services-ddb-params
813
+ # [9]: https://docs.aws.amazon.com/lambda/latest/dg/with-kinesis.html#services-kinesis-params
814
+ # [10]: https://docs.aws.amazon.com/lambda/latest/dg/with-sqs.html#services-sqs-params
815
+ # [11]: https://docs.aws.amazon.com/lambda/latest/dg/with-mq.html#services-mq-params
816
+ # [12]: https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html#services-msk-parms
817
+ # [13]: https://docs.aws.amazon.com/lambda/latest/dg/with-kafka.html#services-kafka-parms
818
+ # [14]: https://docs.aws.amazon.com/lambda/latest/dg/with-documentdb.html#docdb-configuration
732
819
  #
733
820
  # @option params [String] :event_source_arn
734
821
  # The Amazon Resource Name (ARN) of the event source.
735
822
  #
736
- # * **Amazon Kinesis** - The ARN of the data stream or a stream
823
+ # * **Amazon Kinesis** The ARN of the data stream or a stream
737
824
  # consumer.
738
825
  #
739
- # * **Amazon DynamoDB Streams** - The ARN of the stream.
826
+ # * **Amazon DynamoDB Streams** The ARN of the stream.
740
827
  #
741
- # * **Amazon Simple Queue Service** - The ARN of the queue.
828
+ # * **Amazon Simple Queue Service** The ARN of the queue.
742
829
  #
743
- # * **Amazon Managed Streaming for Apache Kafka** - The ARN of the
830
+ # * **Amazon Managed Streaming for Apache Kafka** The ARN of the
744
831
  # cluster.
745
832
  #
833
+ # * **Amazon MQ** – The ARN of the broker.
834
+ #
835
+ # * **Amazon DocumentDB** – The ARN of the DocumentDB change stream.
836
+ #
746
837
  # @option params [required, String] :function_name
747
838
  # The name of the Lambda function.
748
839
  #
749
840
  # **Name formats**
750
841
  #
751
- # * **Function name** - `MyFunction`.
842
+ # * **Function name** `MyFunction`.
752
843
  #
753
- # * **Function ARN** -
844
+ # * **Function ARN**
754
845
  # `arn:aws:lambda:us-west-2:123456789012:function:MyFunction`.
755
846
  #
756
- # * **Version or Alias ARN** -
847
+ # * **Version or Alias ARN**
757
848
  # `arn:aws:lambda:us-west-2:123456789012:function:MyFunction:PROD`.
758
849
  #
759
- # * **Partial ARN** - `123456789012:function:MyFunction`.
850
+ # * **Partial ARN** `123456789012:function:MyFunction`.
760
851
  #
761
852
  # The length constraint applies only to the full ARN. If you specify
762
853
  # only the function name, it's limited to 64 characters in length.
@@ -773,72 +864,85 @@ module Aws::Lambda
773
864
  # the records in the batch to the function in a single call, up to the
774
865
  # payload limit for synchronous invocation (6 MB).
775
866
  #
776
- # * **Amazon Kinesis** - Default 100. Max 10,000.
867
+ # * **Amazon Kinesis** Default 100. Max 10,000.
777
868
  #
778
- # * **Amazon DynamoDB Streams** - Default 100. Max 1,000.
869
+ # * **Amazon DynamoDB Streams** Default 100. Max 10,000.
779
870
  #
780
- # * **Amazon Simple Queue Service** - Default 10. For standard queues
871
+ # * **Amazon Simple Queue Service** Default 10. For standard queues
781
872
  # the max is 10,000. For FIFO queues the max is 10.
782
873
  #
783
- # * **Amazon Managed Streaming for Apache Kafka** - Default 100. Max
874
+ # * **Amazon Managed Streaming for Apache Kafka** Default 100. Max
784
875
  # 10,000.
785
876
  #
786
- # * **Self-Managed Apache Kafka** - Default 100. Max 10,000.
877
+ # * **Self-managed Apache Kafka** Default 100. Max 10,000.
878
+ #
879
+ # * **Amazon MQ (ActiveMQ and RabbitMQ)** – Default 100. Max 10,000.
787
880
  #
788
- # * **Amazon MQ (ActiveMQ and RabbitMQ)** - Default 100. Max 10,000.
881
+ # * **DocumentDB** Default 100. Max 10,000.
789
882
  #
790
883
  # @option params [Types::FilterCriteria] :filter_criteria
791
- # (Streams and Amazon SQS) An object that defines the filter criteria
792
- # that determine whether Lambda should process an event. For more
793
- # information, see [Lambda event filtering][1].
884
+ # An object that defines the filter criteria that determine whether
885
+ # Lambda should process an event. For more information, see [Lambda
886
+ # event filtering][1].
794
887
  #
795
888
  #
796
889
  #
797
890
  # [1]: https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventfiltering.html
798
891
  #
799
892
  # @option params [Integer] :maximum_batching_window_in_seconds
800
- # (Streams and Amazon SQS standard queues) The maximum amount of time,
801
- # in seconds, that Lambda spends gathering records before invoking the
802
- # function.
803
- #
804
- # Default: 0
805
- #
806
- # Related setting: When you set `BatchSize` to a value greater than 10,
807
- # you must set `MaximumBatchingWindowInSeconds` to at least 1.
893
+ # The maximum amount of time, in seconds, that Lambda spends gathering
894
+ # records before invoking the function. You can configure
895
+ # `MaximumBatchingWindowInSeconds` to any value from 0 seconds to 300
896
+ # seconds in increments of seconds.
897
+ #
898
+ # For streams and Amazon SQS event sources, the default batching window
899
+ # is 0 seconds. For Amazon MSK, Self-managed Apache Kafka, Amazon MQ,
900
+ # and DocumentDB event sources, the default batching window is 500 ms.
901
+ # Note that because you can only change `MaximumBatchingWindowInSeconds`
902
+ # in increments of seconds, you cannot revert back to the 500 ms default
903
+ # batching window after you have changed it. To restore the default
904
+ # batching window, you must create a new event source mapping.
905
+ #
906
+ # Related setting: For streams and Amazon SQS event sources, when you
907
+ # set `BatchSize` to a value greater than 10, you must set
908
+ # `MaximumBatchingWindowInSeconds` to at least 1.
808
909
  #
809
910
  # @option params [Integer] :parallelization_factor
810
- # (Streams only) The number of batches to process from each shard
811
- # concurrently.
911
+ # (Kinesis and DynamoDB Streams only) The number of batches to process
912
+ # from each shard concurrently.
812
913
  #
813
914
  # @option params [String] :starting_position
814
915
  # The position in a stream from which to start reading. Required for
815
- # Amazon Kinesis, Amazon DynamoDB, and Amazon MSK Streams sources.
816
- # `AT_TIMESTAMP` is only supported for Amazon Kinesis streams.
916
+ # Amazon Kinesis and Amazon DynamoDB Stream event sources.
917
+ # `AT_TIMESTAMP` is supported only for Amazon Kinesis streams, Amazon
918
+ # DocumentDB, Amazon MSK, and self-managed Apache Kafka.
817
919
  #
818
920
  # @option params [Time,DateTime,Date,Integer,String] :starting_position_timestamp
819
921
  # With `StartingPosition` set to `AT_TIMESTAMP`, the time from which to
820
- # start reading.
922
+ # start reading. `StartingPositionTimestamp` cannot be in the future.
821
923
  #
822
924
  # @option params [Types::DestinationConfig] :destination_config
823
- # (Streams only) An Amazon SQS queue or Amazon SNS topic destination for
824
- # discarded records.
925
+ # (Kinesis and DynamoDB Streams only) A standard Amazon SQS queue or
926
+ # standard Amazon SNS topic destination for discarded records.
825
927
  #
826
928
  # @option params [Integer] :maximum_record_age_in_seconds
827
- # (Streams only) Discard records older than the specified age. The
828
- # default value is infinite (-1).
929
+ # (Kinesis and DynamoDB Streams only) Discard records older than the
930
+ # specified age. The default value is infinite (-1).
829
931
  #
830
932
  # @option params [Boolean] :bisect_batch_on_function_error
831
- # (Streams only) If the function returns an error, split the batch in
832
- # two and retry.
933
+ # (Kinesis and DynamoDB Streams only) If the function returns an error,
934
+ # split the batch in two and retry.
833
935
  #
834
936
  # @option params [Integer] :maximum_retry_attempts
835
- # (Streams only) Discard records after the specified number of retries.
836
- # The default value is infinite (-1). When set to infinite (-1), failed
837
- # records will be retried until the record expires.
937
+ # (Kinesis and DynamoDB Streams only) Discard records after the
938
+ # specified number of retries. The default value is infinite (-1). When
939
+ # set to infinite (-1), failed records are retried until the record
940
+ # expires.
838
941
  #
839
942
  # @option params [Integer] :tumbling_window_in_seconds
840
- # (Streams only) The duration in seconds of a processing window. The
841
- # range is between 1 second up to 900 seconds.
943
+ # (Kinesis and DynamoDB Streams only) The duration in seconds of a
944
+ # processing window for DynamoDB and Kinesis Streams event sources. A
945
+ # value of 0 seconds indicates no tumbling window.
842
946
  #
843
947
  # @option params [Array<String>] :topics
844
948
  # The name of the Kafka topic.
@@ -851,11 +955,31 @@ module Aws::Lambda
851
955
  # secure your event source.
852
956
  #
853
957
  # @option params [Types::SelfManagedEventSource] :self_managed_event_source
854
- # The Self-Managed Apache Kafka cluster to send records.
958
+ # The self-managed Apache Kafka cluster to receive records from.
855
959
  #
856
960
  # @option params [Array<String>] :function_response_types
857
- # (Streams and Amazon SQS) A list of current response type enums applied
858
- # to the event source mapping.
961
+ # (Kinesis, DynamoDB Streams, and Amazon SQS) A list of current response
962
+ # type enums applied to the event source mapping.
963
+ #
964
+ # @option params [Types::AmazonManagedKafkaEventSourceConfig] :amazon_managed_kafka_event_source_config
965
+ # Specific configuration settings for an Amazon Managed Streaming for
966
+ # Apache Kafka (Amazon MSK) event source.
967
+ #
968
+ # @option params [Types::SelfManagedKafkaEventSourceConfig] :self_managed_kafka_event_source_config
969
+ # Specific configuration settings for a self-managed Apache Kafka event
970
+ # source.
971
+ #
972
+ # @option params [Types::ScalingConfig] :scaling_config
973
+ # (Amazon SQS only) The scaling configuration for the event source. For
974
+ # more information, see [Configuring maximum concurrency for Amazon SQS
975
+ # event sources][1].
976
+ #
977
+ #
978
+ #
979
+ # [1]: https://docs.aws.amazon.com/lambda/latest/dg/with-sqs.html#events-sqs-max-concurrency
980
+ #
981
+ # @option params [Types::DocumentDBEventSourceConfig] :document_db_event_source_config
982
+ # Specific configuration settings for a DocumentDB event source.
859
983
  #
860
984
  # @return [Types::EventSourceMappingConfiguration] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
861
985
  #
@@ -882,6 +1006,10 @@ module Aws::Lambda
882
1006
  # * {Types::EventSourceMappingConfiguration#maximum_retry_attempts #maximum_retry_attempts} => Integer
883
1007
  # * {Types::EventSourceMappingConfiguration#tumbling_window_in_seconds #tumbling_window_in_seconds} => Integer
884
1008
  # * {Types::EventSourceMappingConfiguration#function_response_types #function_response_types} => Array&lt;String&gt;
1009
+ # * {Types::EventSourceMappingConfiguration#amazon_managed_kafka_event_source_config #amazon_managed_kafka_event_source_config} => Types::AmazonManagedKafkaEventSourceConfig
1010
+ # * {Types::EventSourceMappingConfiguration#self_managed_kafka_event_source_config #self_managed_kafka_event_source_config} => Types::SelfManagedKafkaEventSourceConfig
1011
+ # * {Types::EventSourceMappingConfiguration#scaling_config #scaling_config} => Types::ScalingConfig
1012
+ # * {Types::EventSourceMappingConfiguration#document_db_event_source_config #document_db_event_source_config} => Types::DocumentDBEventSourceConfig
885
1013
  #
886
1014
  # @example Request syntax with placeholder values
887
1015
  #
@@ -927,6 +1055,20 @@ module Aws::Lambda
927
1055
  # },
928
1056
  # },
929
1057
  # function_response_types: ["ReportBatchItemFailures"], # accepts ReportBatchItemFailures
1058
+ # amazon_managed_kafka_event_source_config: {
1059
+ # consumer_group_id: "URI",
1060
+ # },
1061
+ # self_managed_kafka_event_source_config: {
1062
+ # consumer_group_id: "URI",
1063
+ # },
1064
+ # scaling_config: {
1065
+ # maximum_concurrency: 1,
1066
+ # },
1067
+ # document_db_event_source_config: {
1068
+ # database_name: "DatabaseName",
1069
+ # collection_name: "CollectionName",
1070
+ # full_document: "UpdateLookup", # accepts UpdateLookup, Default
1071
+ # },
930
1072
  # })
931
1073
  #
932
1074
  # @example Response structure
@@ -963,6 +1105,12 @@ module Aws::Lambda
963
1105
  # resp.tumbling_window_in_seconds #=> Integer
964
1106
  # resp.function_response_types #=> Array
965
1107
  # resp.function_response_types[0] #=> String, one of "ReportBatchItemFailures"
1108
+ # resp.amazon_managed_kafka_event_source_config.consumer_group_id #=> String
1109
+ # resp.self_managed_kafka_event_source_config.consumer_group_id #=> String
1110
+ # resp.scaling_config.maximum_concurrency #=> Integer
1111
+ # resp.document_db_event_source_config.database_name #=> String
1112
+ # resp.document_db_event_source_config.collection_name #=> String
1113
+ # resp.document_db_event_source_config.full_document #=> String, one of "UpdateLookup", "Default"
966
1114
  #
967
1115
  # @see http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/CreateEventSourceMapping AWS API Documentation
968
1116
  #
@@ -977,21 +1125,21 @@ module Aws::Lambda
977
1125
  # [deployment package][1] and an [execution role][2]. The deployment
978
1126
  # package is a .zip file archive or container image that contains your
979
1127
  # function code. The execution role grants the function permission to
980
- # use Amazon Web Services services, such as Amazon CloudWatch Logs for
981
- # log streaming and X-Ray for request tracing.
1128
+ # use Amazon Web Services, such as Amazon CloudWatch Logs for log
1129
+ # streaming and X-Ray for request tracing.
982
1130
  #
983
- # You set the package type to `Image` if the deployment package is a
984
- # [container image][3]. For a container image, the code property must
1131
+ # If the deployment package is a [container image][3], then you set the
1132
+ # package type to `Image`. For a container image, the code property must
985
1133
  # include the URI of a container image in the Amazon ECR registry. You
986
1134
  # do not need to specify the handler and runtime properties.
987
1135
  #
988
- # You set the package type to `Zip` if the deployment package is a [.zip
989
- # file archive][4]. For a .zip file archive, the code property specifies
990
- # the location of the .zip file. You must also specify the handler and
991
- # runtime properties. The code in the deployment package must be
992
- # compatible with the target instruction set architecture of the
1136
+ # If the deployment package is a [.zip file archive][4], then you set
1137
+ # the package type to `Zip`. For a .zip file archive, the code property
1138
+ # specifies the location of the .zip file. You must also specify the
1139
+ # handler and runtime properties. The code in the deployment package
1140
+ # must be compatible with the target instruction set architecture of the
993
1141
  # function (`x86-64` or `arm64`). If you do not specify the
994
- # architecture, the default value is `x86-64`.
1142
+ # architecture, then the default value is `x86-64`.
995
1143
  #
996
1144
  # When you create a function, Lambda provisions an instance of the
997
1145
  # function and its supporting resources. If your function connects to a
@@ -999,7 +1147,7 @@ module Aws::Lambda
999
1147
  # can't invoke or modify the function. The `State`, `StateReason`, and
1000
1148
  # `StateReasonCode` fields in the response from GetFunctionConfiguration
1001
1149
  # indicate when the function is ready to invoke. For more information,
1002
- # see [Function States][5].
1150
+ # see [Lambda function states][5].
1003
1151
  #
1004
1152
  # A function has an unpublished version, and can have published versions
1005
1153
  # and aliases. The unpublished version changes when you update your
@@ -1021,19 +1169,20 @@ module Aws::Lambda
1021
1169
  # a code-signing configuration. When a user attempts to deploy a code
1022
1170
  # package with UpdateFunctionCode, Lambda checks that the code package
1023
1171
  # has a valid signature from a trusted publisher. The code-signing
1024
- # configuration includes set set of signing profiles, which define the
1172
+ # configuration includes set of signing profiles, which define the
1025
1173
  # trusted publishers for this function.
1026
1174
  #
1027
- # If another account or an Amazon Web Services service invokes your
1028
- # function, use AddPermission to grant permission by creating a
1029
- # resource-based IAM policy. You can grant permissions at the function
1030
- # level, on a version, or on an alias.
1175
+ # If another Amazon Web Services account or an Amazon Web Service
1176
+ # invokes your function, use AddPermission to grant permission by
1177
+ # creating a resource-based Identity and Access Management (IAM) policy.
1178
+ # You can grant permissions at the function level, on a version, or on
1179
+ # an alias.
1031
1180
  #
1032
1181
  # To invoke your function directly, use Invoke. To invoke your function
1033
- # in response to events in other Amazon Web Services services, create an
1034
- # event source mapping (CreateEventSourceMapping), or configure a
1035
- # function trigger in the other service. For more information, see
1036
- # [Invoking Functions][6].
1182
+ # in response to events in other Amazon Web Services, create an event
1183
+ # source mapping (CreateEventSourceMapping), or configure a function
1184
+ # trigger in the other service. For more information, see [Invoking
1185
+ # Lambda functions][6].
1037
1186
  #
1038
1187
  #
1039
1188
  #
@@ -1049,12 +1198,12 @@ module Aws::Lambda
1049
1198
  #
1050
1199
  # **Name formats**
1051
1200
  #
1052
- # * **Function name** - `my-function`.
1201
+ # * **Function name** `my-function`.
1053
1202
  #
1054
- # * **Function ARN** -
1203
+ # * **Function ARN**
1055
1204
  # `arn:aws:lambda:us-west-2:123456789012:function:my-function`.
1056
1205
  #
1057
- # * **Partial ARN** - `123456789012:function:my-function`.
1206
+ # * **Partial ARN** `123456789012:function:my-function`.
1058
1207
  #
1059
1208
  # The length constraint applies only to the full ARN. If you specify
1060
1209
  # only the function name, it is limited to 64 characters in length.
@@ -1063,23 +1212,27 @@ module Aws::Lambda
1063
1212
  # The identifier of the function's [runtime][1]. Runtime is required if
1064
1213
  # the deployment package is a .zip file archive.
1065
1214
  #
1215
+ # The following list includes deprecated runtimes. For more information,
1216
+ # see [Runtime deprecation policy][2].
1217
+ #
1066
1218
  #
1067
1219
  #
1068
1220
  # [1]: https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html
1221
+ # [2]: https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html#runtime-support-policy
1069
1222
  #
1070
1223
  # @option params [required, String] :role
1071
1224
  # The Amazon Resource Name (ARN) of the function's execution role.
1072
1225
  #
1073
1226
  # @option params [String] :handler
1074
- # The name of the method within your code that Lambda calls to execute
1075
- # your function. Handler is required if the deployment package is a .zip
1076
- # file archive. The format includes the file name. It can also include
1227
+ # The name of the method within your code that Lambda calls to run your
1228
+ # function. Handler is required if the deployment package is a .zip file
1229
+ # archive. The format includes the file name. It can also include
1077
1230
  # namespaces and other qualifiers, depending on the runtime. For more
1078
- # information, see [Programming Model][1].
1231
+ # information, see [Lambda programming model][1].
1079
1232
  #
1080
1233
  #
1081
1234
  #
1082
- # [1]: https://docs.aws.amazon.com/lambda/latest/dg/programming-model-v2.html
1235
+ # [1]: https://docs.aws.amazon.com/lambda/latest/dg/foundation-progmodel.html
1083
1236
  #
1084
1237
  # @option params [required, Types::FunctionCode] :code
1085
1238
  # The code for the function.
@@ -1090,8 +1243,8 @@ module Aws::Lambda
1090
1243
  # @option params [Integer] :timeout
1091
1244
  # The amount of time (in seconds) that Lambda allows a function to run
1092
1245
  # before stopping it. The default is 3 seconds. The maximum allowed
1093
- # value is 900 seconds. For additional information, see [Lambda
1094
- # execution environment][1].
1246
+ # value is 900 seconds. For more information, see [Lambda execution
1247
+ # environment][1].
1095
1248
  #
1096
1249
  #
1097
1250
  #
@@ -1104,7 +1257,7 @@ module Aws::Lambda
1104
1257
  #
1105
1258
  #
1106
1259
  #
1107
- # [1]: https://docs.aws.amazon.com/lambda/latest/dg/configuration-memory.html
1260
+ # [1]: https://docs.aws.amazon.com/lambda/latest/dg/configuration-function-common.html#configuration-memory-console
1108
1261
  #
1109
1262
  # @option params [Boolean] :publish
1110
1263
  # Set to true to publish the first version of the function during
@@ -1113,9 +1266,9 @@ module Aws::Lambda
1113
1266
  # @option params [Types::VpcConfig] :vpc_config
1114
1267
  # For network connectivity to Amazon Web Services resources in a VPC,
1115
1268
  # specify a list of security groups and subnets in the VPC. When you
1116
- # connect a function to a VPC, it can only access resources and the
1117
- # internet through that VPC. For more information, see [VPC
1118
- # Settings][1].
1269
+ # connect a function to a VPC, it can access resources and the internet
1270
+ # only through that VPC. For more information, see [Configuring a Lambda
1271
+ # function to access resources in a VPC][1].
1119
1272
  #
1120
1273
  #
1121
1274
  #
@@ -1123,25 +1276,36 @@ module Aws::Lambda
1123
1276
  #
1124
1277
  # @option params [String] :package_type
1125
1278
  # The type of deployment package. Set to `Image` for container image and
1126
- # set `Zip` for ZIP archive.
1279
+ # set to `Zip` for .zip file archive.
1127
1280
  #
1128
1281
  # @option params [Types::DeadLetterConfig] :dead_letter_config
1129
- # A dead letter queue configuration that specifies the queue or topic
1282
+ # A dead-letter queue configuration that specifies the queue or topic
1130
1283
  # where Lambda sends asynchronous events when they fail processing. For
1131
- # more information, see [Dead Letter Queues][1].
1284
+ # more information, see [Dead-letter queues][1].
1132
1285
  #
1133
1286
  #
1134
1287
  #
1135
- # [1]: https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#dlq
1288
+ # [1]: https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#invocation-dlq
1136
1289
  #
1137
1290
  # @option params [Types::Environment] :environment
1138
1291
  # Environment variables that are accessible from function code during
1139
1292
  # execution.
1140
1293
  #
1141
1294
  # @option params [String] :kms_key_arn
1142
- # The ARN of the Amazon Web Services Key Management Service (KMS) key
1143
- # that's used to encrypt your function's environment variables. If
1144
- # it's not provided, Lambda uses a default service key.
1295
+ # The ARN of the Key Management Service (KMS) customer managed key
1296
+ # that's used to encrypt your function's [environment variables][1].
1297
+ # When [Lambda SnapStart][2] is activated, Lambda also uses this key is
1298
+ # to encrypt your function's snapshot. If you deploy your function
1299
+ # using a container image, Lambda also uses this key to encrypt your
1300
+ # function when it's deployed. Note that this is not the same key
1301
+ # that's used to protect your container image in the Amazon Elastic
1302
+ # Container Registry (Amazon ECR). If you don't provide a customer
1303
+ # managed key, Lambda uses a default service key.
1304
+ #
1305
+ #
1306
+ #
1307
+ # [1]: https://docs.aws.amazon.com/lambda/latest/dg/configuration-envvars.html#configuration-envvars-encryption
1308
+ # [2]: https://docs.aws.amazon.com/lambda/latest/dg/snapstart-security.html
1145
1309
  #
1146
1310
  # @option params [Types::TracingConfig] :tracing_config
1147
1311
  # Set `Mode` to `Active` to sample and trace a subset of incoming
@@ -1188,6 +1352,22 @@ module Aws::Lambda
1188
1352
  # string array with one of the valid values (arm64 or x86\_64). The
1189
1353
  # default value is `x86_64`.
1190
1354
  #
1355
+ # @option params [Types::EphemeralStorage] :ephemeral_storage
1356
+ # The size of the function's `/tmp` directory in MB. The default value
1357
+ # is 512, but can be any whole number between 512 and 10,240 MB. For
1358
+ # more information, see [Configuring ephemeral storage (console)][1].
1359
+ #
1360
+ #
1361
+ #
1362
+ # [1]: https://docs.aws.amazon.com/lambda/latest/dg/configuration-function-common.html#configuration-ephemeral-storage
1363
+ #
1364
+ # @option params [Types::SnapStart] :snap_start
1365
+ # The function's [SnapStart][1] setting.
1366
+ #
1367
+ #
1368
+ #
1369
+ # [1]: https://docs.aws.amazon.com/lambda/latest/dg/snapstart.html
1370
+ #
1191
1371
  # @return [Types::FunctionConfiguration] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1192
1372
  #
1193
1373
  # * {Types::FunctionConfiguration#function_name #function_name} => String
@@ -1222,12 +1402,15 @@ module Aws::Lambda
1222
1402
  # * {Types::FunctionConfiguration#signing_profile_version_arn #signing_profile_version_arn} => String
1223
1403
  # * {Types::FunctionConfiguration#signing_job_arn #signing_job_arn} => String
1224
1404
  # * {Types::FunctionConfiguration#architectures #architectures} => Array&lt;String&gt;
1405
+ # * {Types::FunctionConfiguration#ephemeral_storage #ephemeral_storage} => Types::EphemeralStorage
1406
+ # * {Types::FunctionConfiguration#snap_start #snap_start} => Types::SnapStartResponse
1407
+ # * {Types::FunctionConfiguration#runtime_version_config #runtime_version_config} => Types::RuntimeVersionConfig
1225
1408
  #
1226
1409
  # @example Request syntax with placeholder values
1227
1410
  #
1228
1411
  # resp = client.create_function({
1229
1412
  # function_name: "FunctionName", # required
1230
- # runtime: "nodejs", # accepts nodejs, nodejs4.3, nodejs6.10, nodejs8.10, nodejs10.x, nodejs12.x, nodejs14.x, java8, java8.al2, java11, python2.7, python3.6, python3.7, python3.8, python3.9, dotnetcore1.0, dotnetcore2.0, dotnetcore2.1, dotnetcore3.1, nodejs4.3-edge, go1.x, ruby2.5, ruby2.7, provided, provided.al2
1413
+ # runtime: "nodejs", # accepts nodejs, nodejs4.3, nodejs6.10, nodejs8.10, nodejs10.x, nodejs12.x, nodejs14.x, nodejs16.x, java8, java8.al2, java11, python2.7, python3.6, python3.7, python3.8, python3.9, dotnetcore1.0, dotnetcore2.0, dotnetcore2.1, dotnetcore3.1, dotnet6, nodejs4.3-edge, go1.x, ruby2.5, ruby2.7, provided, provided.al2, nodejs18.x, python3.10, java17, ruby3.2, python3.11, nodejs20.x
1231
1414
  # role: "RoleArn", # required
1232
1415
  # handler: "Handler",
1233
1416
  # code: { # required
@@ -1244,6 +1427,7 @@ module Aws::Lambda
1244
1427
  # vpc_config: {
1245
1428
  # subnet_ids: ["SubnetId"],
1246
1429
  # security_group_ids: ["SecurityGroupId"],
1430
+ # ipv_6_allowed_for_dual_stack: false,
1247
1431
  # },
1248
1432
  # package_type: "Zip", # accepts Zip, Image
1249
1433
  # dead_letter_config: {
@@ -1275,13 +1459,19 @@ module Aws::Lambda
1275
1459
  # },
1276
1460
  # code_signing_config_arn: "CodeSigningConfigArn",
1277
1461
  # architectures: ["x86_64"], # accepts x86_64, arm64
1462
+ # ephemeral_storage: {
1463
+ # size: 1, # required
1464
+ # },
1465
+ # snap_start: {
1466
+ # apply_on: "PublishedVersions", # accepts PublishedVersions, None
1467
+ # },
1278
1468
  # })
1279
1469
  #
1280
1470
  # @example Response structure
1281
1471
  #
1282
1472
  # resp.function_name #=> String
1283
1473
  # resp.function_arn #=> String
1284
- # resp.runtime #=> String, one of "nodejs", "nodejs4.3", "nodejs6.10", "nodejs8.10", "nodejs10.x", "nodejs12.x", "nodejs14.x", "java8", "java8.al2", "java11", "python2.7", "python3.6", "python3.7", "python3.8", "python3.9", "dotnetcore1.0", "dotnetcore2.0", "dotnetcore2.1", "dotnetcore3.1", "nodejs4.3-edge", "go1.x", "ruby2.5", "ruby2.7", "provided", "provided.al2"
1474
+ # resp.runtime #=> String, one of "nodejs", "nodejs4.3", "nodejs6.10", "nodejs8.10", "nodejs10.x", "nodejs12.x", "nodejs14.x", "nodejs16.x", "java8", "java8.al2", "java11", "python2.7", "python3.6", "python3.7", "python3.8", "python3.9", "dotnetcore1.0", "dotnetcore2.0", "dotnetcore2.1", "dotnetcore3.1", "dotnet6", "nodejs4.3-edge", "go1.x", "ruby2.5", "ruby2.7", "provided", "provided.al2", "nodejs18.x", "python3.10", "java17", "ruby3.2", "python3.11", "nodejs20.x"
1285
1475
  # resp.role #=> String
1286
1476
  # resp.handler #=> String
1287
1477
  # resp.code_size #=> Integer
@@ -1296,6 +1486,7 @@ module Aws::Lambda
1296
1486
  # resp.vpc_config.security_group_ids #=> Array
1297
1487
  # resp.vpc_config.security_group_ids[0] #=> String
1298
1488
  # resp.vpc_config.vpc_id #=> String
1489
+ # resp.vpc_config.ipv_6_allowed_for_dual_stack #=> Boolean
1299
1490
  # resp.dead_letter_config.target_arn #=> String
1300
1491
  # resp.environment.variables #=> Hash
1301
1492
  # resp.environment.variables["EnvironmentVariableName"] #=> String
@@ -1312,10 +1503,10 @@ module Aws::Lambda
1312
1503
  # resp.layers[0].signing_job_arn #=> String
1313
1504
  # resp.state #=> String, one of "Pending", "Active", "Inactive", "Failed"
1314
1505
  # resp.state_reason #=> String
1315
- # resp.state_reason_code #=> String, one of "Idle", "Creating", "Restoring", "EniLimitExceeded", "InsufficientRolePermissions", "InvalidConfiguration", "InternalError", "SubnetOutOfIPAddresses", "InvalidSubnet", "InvalidSecurityGroup", "ImageDeleted", "ImageAccessDenied", "InvalidImage"
1506
+ # resp.state_reason_code #=> String, one of "Idle", "Creating", "Restoring", "EniLimitExceeded", "InsufficientRolePermissions", "InvalidConfiguration", "InternalError", "SubnetOutOfIPAddresses", "InvalidSubnet", "InvalidSecurityGroup", "ImageDeleted", "ImageAccessDenied", "InvalidImage", "KMSKeyAccessDenied", "KMSKeyNotFound", "InvalidStateKMSKey", "DisabledKMSKey", "EFSIOError", "EFSMountConnectivityError", "EFSMountFailure", "EFSMountTimeout", "InvalidRuntime", "InvalidZipFileException", "FunctionError"
1316
1507
  # resp.last_update_status #=> String, one of "Successful", "Failed", "InProgress"
1317
1508
  # resp.last_update_status_reason #=> String
1318
- # resp.last_update_status_reason_code #=> String, one of "EniLimitExceeded", "InsufficientRolePermissions", "InvalidConfiguration", "InternalError", "SubnetOutOfIPAddresses", "InvalidSubnet", "InvalidSecurityGroup", "ImageDeleted", "ImageAccessDenied", "InvalidImage"
1509
+ # resp.last_update_status_reason_code #=> String, one of "EniLimitExceeded", "InsufficientRolePermissions", "InvalidConfiguration", "InternalError", "SubnetOutOfIPAddresses", "InvalidSubnet", "InvalidSecurityGroup", "ImageDeleted", "ImageAccessDenied", "InvalidImage", "KMSKeyAccessDenied", "KMSKeyNotFound", "InvalidStateKMSKey", "DisabledKMSKey", "EFSIOError", "EFSMountConnectivityError", "EFSMountFailure", "EFSMountTimeout", "InvalidRuntime", "InvalidZipFileException", "FunctionError"
1319
1510
  # resp.file_system_configs #=> Array
1320
1511
  # resp.file_system_configs[0].arn #=> String
1321
1512
  # resp.file_system_configs[0].local_mount_path #=> String
@@ -1331,6 +1522,12 @@ module Aws::Lambda
1331
1522
  # resp.signing_job_arn #=> String
1332
1523
  # resp.architectures #=> Array
1333
1524
  # resp.architectures[0] #=> String, one of "x86_64", "arm64"
1525
+ # resp.ephemeral_storage.size #=> Integer
1526
+ # resp.snap_start.apply_on #=> String, one of "PublishedVersions", "None"
1527
+ # resp.snap_start.optimization_status #=> String, one of "On", "Off"
1528
+ # resp.runtime_version_config.runtime_version_arn #=> String
1529
+ # resp.runtime_version_config.error.error_code #=> String
1530
+ # resp.runtime_version_config.error.message #=> String
1334
1531
  #
1335
1532
  # @see http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/CreateFunction AWS API Documentation
1336
1533
  #
@@ -1341,11 +1538,123 @@ module Aws::Lambda
1341
1538
  req.send_request(options)
1342
1539
  end
1343
1540
 
1541
+ # Creates a Lambda function URL with the specified configuration
1542
+ # parameters. A function URL is a dedicated HTTP(S) endpoint that you
1543
+ # can use to invoke your function.
1544
+ #
1545
+ # @option params [required, String] :function_name
1546
+ # The name of the Lambda function.
1547
+ #
1548
+ # **Name formats**
1549
+ #
1550
+ # * **Function name** – `my-function`.
1551
+ #
1552
+ # * **Function ARN** –
1553
+ # `arn:aws:lambda:us-west-2:123456789012:function:my-function`.
1554
+ #
1555
+ # * **Partial ARN** – `123456789012:function:my-function`.
1556
+ #
1557
+ # The length constraint applies only to the full ARN. If you specify
1558
+ # only the function name, it is limited to 64 characters in length.
1559
+ #
1560
+ # @option params [String] :qualifier
1561
+ # The alias name.
1562
+ #
1563
+ # @option params [required, String] :auth_type
1564
+ # The type of authentication that your function URL uses. Set to
1565
+ # `AWS_IAM` if you want to restrict access to authenticated users only.
1566
+ # Set to `NONE` if you want to bypass IAM authentication to create a
1567
+ # public endpoint. For more information, see [Security and auth model
1568
+ # for Lambda function URLs][1].
1569
+ #
1570
+ #
1571
+ #
1572
+ # [1]: https://docs.aws.amazon.com/lambda/latest/dg/urls-auth.html
1573
+ #
1574
+ # @option params [Types::Cors] :cors
1575
+ # The [cross-origin resource sharing (CORS)][1] settings for your
1576
+ # function URL.
1577
+ #
1578
+ #
1579
+ #
1580
+ # [1]: https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS
1581
+ #
1582
+ # @option params [String] :invoke_mode
1583
+ # Use one of the following options:
1584
+ #
1585
+ # * `BUFFERED` – This is the default option. Lambda invokes your
1586
+ # function using the `Invoke` API operation. Invocation results are
1587
+ # available when the payload is complete. The maximum payload size is
1588
+ # 6 MB.
1589
+ #
1590
+ # * `RESPONSE_STREAM` – Your function streams payload results as they
1591
+ # become available. Lambda invokes your function using the
1592
+ # `InvokeWithResponseStream` API operation. The maximum response
1593
+ # payload size is 20 MB, however, you can [request a quota
1594
+ # increase][1].
1595
+ #
1596
+ #
1597
+ #
1598
+ # [1]: https://docs.aws.amazon.com/servicequotas/latest/userguide/request-quota-increase.html
1599
+ #
1600
+ # @return [Types::CreateFunctionUrlConfigResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1601
+ #
1602
+ # * {Types::CreateFunctionUrlConfigResponse#function_url #function_url} => String
1603
+ # * {Types::CreateFunctionUrlConfigResponse#function_arn #function_arn} => String
1604
+ # * {Types::CreateFunctionUrlConfigResponse#auth_type #auth_type} => String
1605
+ # * {Types::CreateFunctionUrlConfigResponse#cors #cors} => Types::Cors
1606
+ # * {Types::CreateFunctionUrlConfigResponse#creation_time #creation_time} => Time
1607
+ # * {Types::CreateFunctionUrlConfigResponse#invoke_mode #invoke_mode} => String
1608
+ #
1609
+ # @example Request syntax with placeholder values
1610
+ #
1611
+ # resp = client.create_function_url_config({
1612
+ # function_name: "FunctionName", # required
1613
+ # qualifier: "FunctionUrlQualifier",
1614
+ # auth_type: "NONE", # required, accepts NONE, AWS_IAM
1615
+ # cors: {
1616
+ # allow_credentials: false,
1617
+ # allow_headers: ["Header"],
1618
+ # allow_methods: ["Method"],
1619
+ # allow_origins: ["Origin"],
1620
+ # expose_headers: ["Header"],
1621
+ # max_age: 1,
1622
+ # },
1623
+ # invoke_mode: "BUFFERED", # accepts BUFFERED, RESPONSE_STREAM
1624
+ # })
1625
+ #
1626
+ # @example Response structure
1627
+ #
1628
+ # resp.function_url #=> String
1629
+ # resp.function_arn #=> String
1630
+ # resp.auth_type #=> String, one of "NONE", "AWS_IAM"
1631
+ # resp.cors.allow_credentials #=> Boolean
1632
+ # resp.cors.allow_headers #=> Array
1633
+ # resp.cors.allow_headers[0] #=> String
1634
+ # resp.cors.allow_methods #=> Array
1635
+ # resp.cors.allow_methods[0] #=> String
1636
+ # resp.cors.allow_origins #=> Array
1637
+ # resp.cors.allow_origins[0] #=> String
1638
+ # resp.cors.expose_headers #=> Array
1639
+ # resp.cors.expose_headers[0] #=> String
1640
+ # resp.cors.max_age #=> Integer
1641
+ # resp.creation_time #=> Time
1642
+ # resp.invoke_mode #=> String, one of "BUFFERED", "RESPONSE_STREAM"
1643
+ #
1644
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/CreateFunctionUrlConfig AWS API Documentation
1645
+ #
1646
+ # @overload create_function_url_config(params = {})
1647
+ # @param [Hash] params ({})
1648
+ def create_function_url_config(params = {}, options = {})
1649
+ req = build_request(:create_function_url_config, params)
1650
+ req.send_request(options)
1651
+ end
1652
+
1344
1653
  # Deletes a Lambda function [alias][1].
1345
1654
  #
1346
1655
  #
1347
1656
  #
1348
- # [1]: https://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html
1657
+ # [1]: https://docs.aws.amazon.com/lambda/latest/dg/configuration-aliases.html
1349
1658
  #
1350
1659
  # @option params [required, String] :function_name
1351
1660
  # The name of the Lambda function.
@@ -1444,6 +1753,10 @@ module Aws::Lambda
1444
1753
  # * {Types::EventSourceMappingConfiguration#maximum_retry_attempts #maximum_retry_attempts} => Integer
1445
1754
  # * {Types::EventSourceMappingConfiguration#tumbling_window_in_seconds #tumbling_window_in_seconds} => Integer
1446
1755
  # * {Types::EventSourceMappingConfiguration#function_response_types #function_response_types} => Array&lt;String&gt;
1756
+ # * {Types::EventSourceMappingConfiguration#amazon_managed_kafka_event_source_config #amazon_managed_kafka_event_source_config} => Types::AmazonManagedKafkaEventSourceConfig
1757
+ # * {Types::EventSourceMappingConfiguration#self_managed_kafka_event_source_config #self_managed_kafka_event_source_config} => Types::SelfManagedKafkaEventSourceConfig
1758
+ # * {Types::EventSourceMappingConfiguration#scaling_config #scaling_config} => Types::ScalingConfig
1759
+ # * {Types::EventSourceMappingConfiguration#document_db_event_source_config #document_db_event_source_config} => Types::DocumentDBEventSourceConfig
1447
1760
  #
1448
1761
  # @example Request syntax with placeholder values
1449
1762
  #
@@ -1485,6 +1798,12 @@ module Aws::Lambda
1485
1798
  # resp.tumbling_window_in_seconds #=> Integer
1486
1799
  # resp.function_response_types #=> Array
1487
1800
  # resp.function_response_types[0] #=> String, one of "ReportBatchItemFailures"
1801
+ # resp.amazon_managed_kafka_event_source_config.consumer_group_id #=> String
1802
+ # resp.self_managed_kafka_event_source_config.consumer_group_id #=> String
1803
+ # resp.scaling_config.maximum_concurrency #=> Integer
1804
+ # resp.document_db_event_source_config.database_name #=> String
1805
+ # resp.document_db_event_source_config.collection_name #=> String
1806
+ # resp.document_db_event_source_config.full_document #=> String, one of "UpdateLookup", "Default"
1488
1807
  #
1489
1808
  # @see http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/DeleteEventSourceMapping AWS API Documentation
1490
1809
  #
@@ -1497,33 +1816,34 @@ module Aws::Lambda
1497
1816
 
1498
1817
  # Deletes a Lambda function. To delete a specific function version, use
1499
1818
  # the `Qualifier` parameter. Otherwise, all versions and aliases are
1500
- # deleted.
1819
+ # deleted. This doesn't require the user to have explicit permissions
1820
+ # for DeleteAlias.
1501
1821
  #
1502
1822
  # To delete Lambda event source mappings that invoke a function, use
1503
- # DeleteEventSourceMapping. For Amazon Web Services services and
1504
- # resources that invoke your function directly, delete the trigger in
1505
- # the service where you originally configured it.
1823
+ # DeleteEventSourceMapping. For Amazon Web Services and resources that
1824
+ # invoke your function directly, delete the trigger in the service where
1825
+ # you originally configured it.
1506
1826
  #
1507
1827
  # @option params [required, String] :function_name
1508
1828
  # The name of the Lambda function or version.
1509
1829
  #
1510
1830
  # **Name formats**
1511
1831
  #
1512
- # * **Function name** - `my-function` (name-only), `my-function:1` (with
1832
+ # * **Function name** `my-function` (name-only), `my-function:1` (with
1513
1833
  # version).
1514
1834
  #
1515
- # * **Function ARN** -
1835
+ # * **Function ARN**
1516
1836
  # `arn:aws:lambda:us-west-2:123456789012:function:my-function`.
1517
1837
  #
1518
- # * **Partial ARN** - `123456789012:function:my-function`.
1838
+ # * **Partial ARN** `123456789012:function:my-function`.
1519
1839
  #
1520
1840
  # You can append a version number or alias to any of the formats. The
1521
1841
  # length constraint applies only to the full ARN. If you specify only
1522
1842
  # the function name, it is limited to 64 characters in length.
1523
1843
  #
1524
1844
  # @option params [String] :qualifier
1525
- # Specify a version to delete. You can't delete a version that's
1526
- # referenced by an alias.
1845
+ # Specify a version to delete. You can't delete a version that an alias
1846
+ # references.
1527
1847
  #
1528
1848
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1529
1849
  #
@@ -1584,12 +1904,12 @@ module Aws::Lambda
1584
1904
  #
1585
1905
  # **Name formats**
1586
1906
  #
1587
- # * **Function name** - `my-function`.
1907
+ # * **Function name** `my-function`.
1588
1908
  #
1589
- # * **Function ARN** -
1909
+ # * **Function ARN**
1590
1910
  # `arn:aws:lambda:us-west-2:123456789012:function:my-function`.
1591
1911
  #
1592
- # * **Partial ARN** - `123456789012:function:my-function`.
1912
+ # * **Partial ARN** `123456789012:function:my-function`.
1593
1913
  #
1594
1914
  # The length constraint applies only to the full ARN. If you specify
1595
1915
  # only the function name, it is limited to 64 characters in length.
@@ -1655,6 +1975,46 @@ module Aws::Lambda
1655
1975
  req.send_request(options)
1656
1976
  end
1657
1977
 
1978
+ # Deletes a Lambda function URL. When you delete a function URL, you
1979
+ # can't recover it. Creating a new function URL results in a different
1980
+ # URL address.
1981
+ #
1982
+ # @option params [required, String] :function_name
1983
+ # The name of the Lambda function.
1984
+ #
1985
+ # **Name formats**
1986
+ #
1987
+ # * **Function name** – `my-function`.
1988
+ #
1989
+ # * **Function ARN** –
1990
+ # `arn:aws:lambda:us-west-2:123456789012:function:my-function`.
1991
+ #
1992
+ # * **Partial ARN** – `123456789012:function:my-function`.
1993
+ #
1994
+ # The length constraint applies only to the full ARN. If you specify
1995
+ # only the function name, it is limited to 64 characters in length.
1996
+ #
1997
+ # @option params [String] :qualifier
1998
+ # The alias name.
1999
+ #
2000
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2001
+ #
2002
+ # @example Request syntax with placeholder values
2003
+ #
2004
+ # resp = client.delete_function_url_config({
2005
+ # function_name: "FunctionName", # required
2006
+ # qualifier: "FunctionUrlQualifier",
2007
+ # })
2008
+ #
2009
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/DeleteFunctionUrlConfig AWS API Documentation
2010
+ #
2011
+ # @overload delete_function_url_config(params = {})
2012
+ # @param [Hash] params ({})
2013
+ def delete_function_url_config(params = {}, options = {})
2014
+ req = build_request(:delete_function_url_config, params)
2015
+ req.send_request(options)
2016
+ end
2017
+
1658
2018
  # Deletes a version of an [Lambda layer][1]. Deleted versions can no
1659
2019
  # longer be viewed or added to functions. To avoid breaking functions, a
1660
2020
  # copy of the version remains in Lambda until no functions refer to it.
@@ -1694,12 +2054,12 @@ module Aws::Lambda
1694
2054
  #
1695
2055
  # **Name formats**
1696
2056
  #
1697
- # * **Function name** - `my-function`.
2057
+ # * **Function name** `my-function`.
1698
2058
  #
1699
- # * **Function ARN** -
2059
+ # * **Function ARN**
1700
2060
  # `arn:aws:lambda:us-west-2:123456789012:function:my-function`.
1701
2061
  #
1702
- # * **Partial ARN** - `123456789012:function:my-function`.
2062
+ # * **Partial ARN** `123456789012:function:my-function`.
1703
2063
  #
1704
2064
  # The length constraint applies only to the full ARN. If you specify
1705
2065
  # only the function name, it is limited to 64 characters in length.
@@ -1760,7 +2120,7 @@ module Aws::Lambda
1760
2120
  #
1761
2121
  #
1762
2122
  #
1763
- # [1]: https://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html
2123
+ # [1]: https://docs.aws.amazon.com/lambda/latest/dg/configuration-aliases.html
1764
2124
  #
1765
2125
  # @option params [required, String] :function_name
1766
2126
  # The name of the Lambda function.
@@ -1880,6 +2240,10 @@ module Aws::Lambda
1880
2240
  # * {Types::EventSourceMappingConfiguration#maximum_retry_attempts #maximum_retry_attempts} => Integer
1881
2241
  # * {Types::EventSourceMappingConfiguration#tumbling_window_in_seconds #tumbling_window_in_seconds} => Integer
1882
2242
  # * {Types::EventSourceMappingConfiguration#function_response_types #function_response_types} => Array&lt;String&gt;
2243
+ # * {Types::EventSourceMappingConfiguration#amazon_managed_kafka_event_source_config #amazon_managed_kafka_event_source_config} => Types::AmazonManagedKafkaEventSourceConfig
2244
+ # * {Types::EventSourceMappingConfiguration#self_managed_kafka_event_source_config #self_managed_kafka_event_source_config} => Types::SelfManagedKafkaEventSourceConfig
2245
+ # * {Types::EventSourceMappingConfiguration#scaling_config #scaling_config} => Types::ScalingConfig
2246
+ # * {Types::EventSourceMappingConfiguration#document_db_event_source_config #document_db_event_source_config} => Types::DocumentDBEventSourceConfig
1883
2247
  #
1884
2248
  # @example Request syntax with placeholder values
1885
2249
  #
@@ -1921,6 +2285,12 @@ module Aws::Lambda
1921
2285
  # resp.tumbling_window_in_seconds #=> Integer
1922
2286
  # resp.function_response_types #=> Array
1923
2287
  # resp.function_response_types[0] #=> String, one of "ReportBatchItemFailures"
2288
+ # resp.amazon_managed_kafka_event_source_config.consumer_group_id #=> String
2289
+ # resp.self_managed_kafka_event_source_config.consumer_group_id #=> String
2290
+ # resp.scaling_config.maximum_concurrency #=> Integer
2291
+ # resp.document_db_event_source_config.database_name #=> String
2292
+ # resp.document_db_event_source_config.collection_name #=> String
2293
+ # resp.document_db_event_source_config.full_document #=> String, one of "UpdateLookup", "Default"
1924
2294
  #
1925
2295
  # @see http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetEventSourceMapping AWS API Documentation
1926
2296
  #
@@ -1941,13 +2311,13 @@ module Aws::Lambda
1941
2311
  #
1942
2312
  # **Name formats**
1943
2313
  #
1944
- # * **Function name** - `my-function` (name-only), `my-function:v1`
2314
+ # * **Function name** `my-function` (name-only), `my-function:v1`
1945
2315
  # (with alias).
1946
2316
  #
1947
- # * **Function ARN** -
2317
+ # * **Function ARN**
1948
2318
  # `arn:aws:lambda:us-west-2:123456789012:function:my-function`.
1949
2319
  #
1950
- # * **Partial ARN** - `123456789012:function:my-function`.
2320
+ # * **Partial ARN** `123456789012:function:my-function`.
1951
2321
  #
1952
2322
  # You can append a version number or alias to any of the formats. The
1953
2323
  # length constraint applies only to the full ARN. If you specify only
@@ -1975,7 +2345,7 @@ module Aws::Lambda
1975
2345
  #
1976
2346
  # resp.configuration.function_name #=> String
1977
2347
  # resp.configuration.function_arn #=> String
1978
- # resp.configuration.runtime #=> String, one of "nodejs", "nodejs4.3", "nodejs6.10", "nodejs8.10", "nodejs10.x", "nodejs12.x", "nodejs14.x", "java8", "java8.al2", "java11", "python2.7", "python3.6", "python3.7", "python3.8", "python3.9", "dotnetcore1.0", "dotnetcore2.0", "dotnetcore2.1", "dotnetcore3.1", "nodejs4.3-edge", "go1.x", "ruby2.5", "ruby2.7", "provided", "provided.al2"
2348
+ # resp.configuration.runtime #=> String, one of "nodejs", "nodejs4.3", "nodejs6.10", "nodejs8.10", "nodejs10.x", "nodejs12.x", "nodejs14.x", "nodejs16.x", "java8", "java8.al2", "java11", "python2.7", "python3.6", "python3.7", "python3.8", "python3.9", "dotnetcore1.0", "dotnetcore2.0", "dotnetcore2.1", "dotnetcore3.1", "dotnet6", "nodejs4.3-edge", "go1.x", "ruby2.5", "ruby2.7", "provided", "provided.al2", "nodejs18.x", "python3.10", "java17", "ruby3.2", "python3.11", "nodejs20.x"
1979
2349
  # resp.configuration.role #=> String
1980
2350
  # resp.configuration.handler #=> String
1981
2351
  # resp.configuration.code_size #=> Integer
@@ -1990,6 +2360,7 @@ module Aws::Lambda
1990
2360
  # resp.configuration.vpc_config.security_group_ids #=> Array
1991
2361
  # resp.configuration.vpc_config.security_group_ids[0] #=> String
1992
2362
  # resp.configuration.vpc_config.vpc_id #=> String
2363
+ # resp.configuration.vpc_config.ipv_6_allowed_for_dual_stack #=> Boolean
1993
2364
  # resp.configuration.dead_letter_config.target_arn #=> String
1994
2365
  # resp.configuration.environment.variables #=> Hash
1995
2366
  # resp.configuration.environment.variables["EnvironmentVariableName"] #=> String
@@ -2006,10 +2377,10 @@ module Aws::Lambda
2006
2377
  # resp.configuration.layers[0].signing_job_arn #=> String
2007
2378
  # resp.configuration.state #=> String, one of "Pending", "Active", "Inactive", "Failed"
2008
2379
  # resp.configuration.state_reason #=> String
2009
- # resp.configuration.state_reason_code #=> String, one of "Idle", "Creating", "Restoring", "EniLimitExceeded", "InsufficientRolePermissions", "InvalidConfiguration", "InternalError", "SubnetOutOfIPAddresses", "InvalidSubnet", "InvalidSecurityGroup", "ImageDeleted", "ImageAccessDenied", "InvalidImage"
2380
+ # resp.configuration.state_reason_code #=> String, one of "Idle", "Creating", "Restoring", "EniLimitExceeded", "InsufficientRolePermissions", "InvalidConfiguration", "InternalError", "SubnetOutOfIPAddresses", "InvalidSubnet", "InvalidSecurityGroup", "ImageDeleted", "ImageAccessDenied", "InvalidImage", "KMSKeyAccessDenied", "KMSKeyNotFound", "InvalidStateKMSKey", "DisabledKMSKey", "EFSIOError", "EFSMountConnectivityError", "EFSMountFailure", "EFSMountTimeout", "InvalidRuntime", "InvalidZipFileException", "FunctionError"
2010
2381
  # resp.configuration.last_update_status #=> String, one of "Successful", "Failed", "InProgress"
2011
2382
  # resp.configuration.last_update_status_reason #=> String
2012
- # resp.configuration.last_update_status_reason_code #=> String, one of "EniLimitExceeded", "InsufficientRolePermissions", "InvalidConfiguration", "InternalError", "SubnetOutOfIPAddresses", "InvalidSubnet", "InvalidSecurityGroup", "ImageDeleted", "ImageAccessDenied", "InvalidImage"
2383
+ # resp.configuration.last_update_status_reason_code #=> String, one of "EniLimitExceeded", "InsufficientRolePermissions", "InvalidConfiguration", "InternalError", "SubnetOutOfIPAddresses", "InvalidSubnet", "InvalidSecurityGroup", "ImageDeleted", "ImageAccessDenied", "InvalidImage", "KMSKeyAccessDenied", "KMSKeyNotFound", "InvalidStateKMSKey", "DisabledKMSKey", "EFSIOError", "EFSMountConnectivityError", "EFSMountFailure", "EFSMountTimeout", "InvalidRuntime", "InvalidZipFileException", "FunctionError"
2013
2384
  # resp.configuration.file_system_configs #=> Array
2014
2385
  # resp.configuration.file_system_configs[0].arn #=> String
2015
2386
  # resp.configuration.file_system_configs[0].local_mount_path #=> String
@@ -2025,6 +2396,12 @@ module Aws::Lambda
2025
2396
  # resp.configuration.signing_job_arn #=> String
2026
2397
  # resp.configuration.architectures #=> Array
2027
2398
  # resp.configuration.architectures[0] #=> String, one of "x86_64", "arm64"
2399
+ # resp.configuration.ephemeral_storage.size #=> Integer
2400
+ # resp.configuration.snap_start.apply_on #=> String, one of "PublishedVersions", "None"
2401
+ # resp.configuration.snap_start.optimization_status #=> String, one of "On", "Off"
2402
+ # resp.configuration.runtime_version_config.runtime_version_arn #=> String
2403
+ # resp.configuration.runtime_version_config.error.error_code #=> String
2404
+ # resp.configuration.runtime_version_config.error.message #=> String
2028
2405
  # resp.code.repository_type #=> String
2029
2406
  # resp.code.location #=> String
2030
2407
  # resp.code.image_uri #=> String
@@ -2036,7 +2413,9 @@ module Aws::Lambda
2036
2413
  #
2037
2414
  # The following waiters are defined for this operation (see {Client#wait_until} for detailed usage):
2038
2415
  #
2416
+ # * function_active_v2
2039
2417
  # * function_exists
2418
+ # * function_updated_v2
2040
2419
  #
2041
2420
  # @see http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetFunction AWS API Documentation
2042
2421
  #
@@ -2098,12 +2477,12 @@ module Aws::Lambda
2098
2477
  #
2099
2478
  # **Name formats**
2100
2479
  #
2101
- # * **Function name** - `my-function`.
2480
+ # * **Function name** `my-function`.
2102
2481
  #
2103
- # * **Function ARN** -
2482
+ # * **Function ARN**
2104
2483
  # `arn:aws:lambda:us-west-2:123456789012:function:my-function`.
2105
2484
  #
2106
- # * **Partial ARN** - `123456789012:function:my-function`.
2485
+ # * **Partial ARN** `123456789012:function:my-function`.
2107
2486
  #
2108
2487
  # The length constraint applies only to the full ARN. If you specify
2109
2488
  # only the function name, it is limited to 64 characters in length.
@@ -2143,13 +2522,13 @@ module Aws::Lambda
2143
2522
  #
2144
2523
  # **Name formats**
2145
2524
  #
2146
- # * **Function name** - `my-function` (name-only), `my-function:v1`
2525
+ # * **Function name** `my-function` (name-only), `my-function:v1`
2147
2526
  # (with alias).
2148
2527
  #
2149
- # * **Function ARN** -
2528
+ # * **Function ARN**
2150
2529
  # `arn:aws:lambda:us-west-2:123456789012:function:my-function`.
2151
2530
  #
2152
- # * **Partial ARN** - `123456789012:function:my-function`.
2531
+ # * **Partial ARN** `123456789012:function:my-function`.
2153
2532
  #
2154
2533
  # You can append a version number or alias to any of the formats. The
2155
2534
  # length constraint applies only to the full ARN. If you specify only
@@ -2193,6 +2572,9 @@ module Aws::Lambda
2193
2572
  # * {Types::FunctionConfiguration#signing_profile_version_arn #signing_profile_version_arn} => String
2194
2573
  # * {Types::FunctionConfiguration#signing_job_arn #signing_job_arn} => String
2195
2574
  # * {Types::FunctionConfiguration#architectures #architectures} => Array&lt;String&gt;
2575
+ # * {Types::FunctionConfiguration#ephemeral_storage #ephemeral_storage} => Types::EphemeralStorage
2576
+ # * {Types::FunctionConfiguration#snap_start #snap_start} => Types::SnapStartResponse
2577
+ # * {Types::FunctionConfiguration#runtime_version_config #runtime_version_config} => Types::RuntimeVersionConfig
2196
2578
  #
2197
2579
  # @example Request syntax with placeholder values
2198
2580
  #
@@ -2205,7 +2587,7 @@ module Aws::Lambda
2205
2587
  #
2206
2588
  # resp.function_name #=> String
2207
2589
  # resp.function_arn #=> String
2208
- # resp.runtime #=> String, one of "nodejs", "nodejs4.3", "nodejs6.10", "nodejs8.10", "nodejs10.x", "nodejs12.x", "nodejs14.x", "java8", "java8.al2", "java11", "python2.7", "python3.6", "python3.7", "python3.8", "python3.9", "dotnetcore1.0", "dotnetcore2.0", "dotnetcore2.1", "dotnetcore3.1", "nodejs4.3-edge", "go1.x", "ruby2.5", "ruby2.7", "provided", "provided.al2"
2590
+ # resp.runtime #=> String, one of "nodejs", "nodejs4.3", "nodejs6.10", "nodejs8.10", "nodejs10.x", "nodejs12.x", "nodejs14.x", "nodejs16.x", "java8", "java8.al2", "java11", "python2.7", "python3.6", "python3.7", "python3.8", "python3.9", "dotnetcore1.0", "dotnetcore2.0", "dotnetcore2.1", "dotnetcore3.1", "dotnet6", "nodejs4.3-edge", "go1.x", "ruby2.5", "ruby2.7", "provided", "provided.al2", "nodejs18.x", "python3.10", "java17", "ruby3.2", "python3.11", "nodejs20.x"
2209
2591
  # resp.role #=> String
2210
2592
  # resp.handler #=> String
2211
2593
  # resp.code_size #=> Integer
@@ -2220,6 +2602,7 @@ module Aws::Lambda
2220
2602
  # resp.vpc_config.security_group_ids #=> Array
2221
2603
  # resp.vpc_config.security_group_ids[0] #=> String
2222
2604
  # resp.vpc_config.vpc_id #=> String
2605
+ # resp.vpc_config.ipv_6_allowed_for_dual_stack #=> Boolean
2223
2606
  # resp.dead_letter_config.target_arn #=> String
2224
2607
  # resp.environment.variables #=> Hash
2225
2608
  # resp.environment.variables["EnvironmentVariableName"] #=> String
@@ -2236,10 +2619,10 @@ module Aws::Lambda
2236
2619
  # resp.layers[0].signing_job_arn #=> String
2237
2620
  # resp.state #=> String, one of "Pending", "Active", "Inactive", "Failed"
2238
2621
  # resp.state_reason #=> String
2239
- # resp.state_reason_code #=> String, one of "Idle", "Creating", "Restoring", "EniLimitExceeded", "InsufficientRolePermissions", "InvalidConfiguration", "InternalError", "SubnetOutOfIPAddresses", "InvalidSubnet", "InvalidSecurityGroup", "ImageDeleted", "ImageAccessDenied", "InvalidImage"
2622
+ # resp.state_reason_code #=> String, one of "Idle", "Creating", "Restoring", "EniLimitExceeded", "InsufficientRolePermissions", "InvalidConfiguration", "InternalError", "SubnetOutOfIPAddresses", "InvalidSubnet", "InvalidSecurityGroup", "ImageDeleted", "ImageAccessDenied", "InvalidImage", "KMSKeyAccessDenied", "KMSKeyNotFound", "InvalidStateKMSKey", "DisabledKMSKey", "EFSIOError", "EFSMountConnectivityError", "EFSMountFailure", "EFSMountTimeout", "InvalidRuntime", "InvalidZipFileException", "FunctionError"
2240
2623
  # resp.last_update_status #=> String, one of "Successful", "Failed", "InProgress"
2241
2624
  # resp.last_update_status_reason #=> String
2242
- # resp.last_update_status_reason_code #=> String, one of "EniLimitExceeded", "InsufficientRolePermissions", "InvalidConfiguration", "InternalError", "SubnetOutOfIPAddresses", "InvalidSubnet", "InvalidSecurityGroup", "ImageDeleted", "ImageAccessDenied", "InvalidImage"
2625
+ # resp.last_update_status_reason_code #=> String, one of "EniLimitExceeded", "InsufficientRolePermissions", "InvalidConfiguration", "InternalError", "SubnetOutOfIPAddresses", "InvalidSubnet", "InvalidSecurityGroup", "ImageDeleted", "ImageAccessDenied", "InvalidImage", "KMSKeyAccessDenied", "KMSKeyNotFound", "InvalidStateKMSKey", "DisabledKMSKey", "EFSIOError", "EFSMountConnectivityError", "EFSMountFailure", "EFSMountTimeout", "InvalidRuntime", "InvalidZipFileException", "FunctionError"
2243
2626
  # resp.file_system_configs #=> Array
2244
2627
  # resp.file_system_configs[0].arn #=> String
2245
2628
  # resp.file_system_configs[0].local_mount_path #=> String
@@ -2255,12 +2638,19 @@ module Aws::Lambda
2255
2638
  # resp.signing_job_arn #=> String
2256
2639
  # resp.architectures #=> Array
2257
2640
  # resp.architectures[0] #=> String, one of "x86_64", "arm64"
2641
+ # resp.ephemeral_storage.size #=> Integer
2642
+ # resp.snap_start.apply_on #=> String, one of "PublishedVersions", "None"
2643
+ # resp.snap_start.optimization_status #=> String, one of "On", "Off"
2644
+ # resp.runtime_version_config.runtime_version_arn #=> String
2645
+ # resp.runtime_version_config.error.error_code #=> String
2646
+ # resp.runtime_version_config.error.message #=> String
2258
2647
  #
2259
2648
  #
2260
2649
  # The following waiters are defined for this operation (see {Client#wait_until} for detailed usage):
2261
2650
  #
2262
2651
  # * function_active
2263
2652
  # * function_updated
2653
+ # * published_version_active
2264
2654
  #
2265
2655
  # @see http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetFunctionConfiguration AWS API Documentation
2266
2656
  #
@@ -2330,6 +2720,71 @@ module Aws::Lambda
2330
2720
  req.send_request(options)
2331
2721
  end
2332
2722
 
2723
+ # Returns details about a Lambda function URL.
2724
+ #
2725
+ # @option params [required, String] :function_name
2726
+ # The name of the Lambda function.
2727
+ #
2728
+ # **Name formats**
2729
+ #
2730
+ # * **Function name** – `my-function`.
2731
+ #
2732
+ # * **Function ARN** –
2733
+ # `arn:aws:lambda:us-west-2:123456789012:function:my-function`.
2734
+ #
2735
+ # * **Partial ARN** – `123456789012:function:my-function`.
2736
+ #
2737
+ # The length constraint applies only to the full ARN. If you specify
2738
+ # only the function name, it is limited to 64 characters in length.
2739
+ #
2740
+ # @option params [String] :qualifier
2741
+ # The alias name.
2742
+ #
2743
+ # @return [Types::GetFunctionUrlConfigResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2744
+ #
2745
+ # * {Types::GetFunctionUrlConfigResponse#function_url #function_url} => String
2746
+ # * {Types::GetFunctionUrlConfigResponse#function_arn #function_arn} => String
2747
+ # * {Types::GetFunctionUrlConfigResponse#auth_type #auth_type} => String
2748
+ # * {Types::GetFunctionUrlConfigResponse#cors #cors} => Types::Cors
2749
+ # * {Types::GetFunctionUrlConfigResponse#creation_time #creation_time} => Time
2750
+ # * {Types::GetFunctionUrlConfigResponse#last_modified_time #last_modified_time} => Time
2751
+ # * {Types::GetFunctionUrlConfigResponse#invoke_mode #invoke_mode} => String
2752
+ #
2753
+ # @example Request syntax with placeholder values
2754
+ #
2755
+ # resp = client.get_function_url_config({
2756
+ # function_name: "FunctionName", # required
2757
+ # qualifier: "FunctionUrlQualifier",
2758
+ # })
2759
+ #
2760
+ # @example Response structure
2761
+ #
2762
+ # resp.function_url #=> String
2763
+ # resp.function_arn #=> String
2764
+ # resp.auth_type #=> String, one of "NONE", "AWS_IAM"
2765
+ # resp.cors.allow_credentials #=> Boolean
2766
+ # resp.cors.allow_headers #=> Array
2767
+ # resp.cors.allow_headers[0] #=> String
2768
+ # resp.cors.allow_methods #=> Array
2769
+ # resp.cors.allow_methods[0] #=> String
2770
+ # resp.cors.allow_origins #=> Array
2771
+ # resp.cors.allow_origins[0] #=> String
2772
+ # resp.cors.expose_headers #=> Array
2773
+ # resp.cors.expose_headers[0] #=> String
2774
+ # resp.cors.max_age #=> Integer
2775
+ # resp.creation_time #=> Time
2776
+ # resp.last_modified_time #=> Time
2777
+ # resp.invoke_mode #=> String, one of "BUFFERED", "RESPONSE_STREAM"
2778
+ #
2779
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetFunctionUrlConfig AWS API Documentation
2780
+ #
2781
+ # @overload get_function_url_config(params = {})
2782
+ # @param [Hash] params ({})
2783
+ def get_function_url_config(params = {}, options = {})
2784
+ req = build_request(:get_function_url_config, params)
2785
+ req.send_request(options)
2786
+ end
2787
+
2333
2788
  # Returns information about a version of an [Lambda layer][1], with a
2334
2789
  # link to download the layer archive that's valid for 10 minutes.
2335
2790
  #
@@ -2375,7 +2830,7 @@ module Aws::Lambda
2375
2830
  # resp.created_date #=> Time
2376
2831
  # resp.version #=> Integer
2377
2832
  # resp.compatible_runtimes #=> Array
2378
- # resp.compatible_runtimes[0] #=> String, one of "nodejs", "nodejs4.3", "nodejs6.10", "nodejs8.10", "nodejs10.x", "nodejs12.x", "nodejs14.x", "java8", "java8.al2", "java11", "python2.7", "python3.6", "python3.7", "python3.8", "python3.9", "dotnetcore1.0", "dotnetcore2.0", "dotnetcore2.1", "dotnetcore3.1", "nodejs4.3-edge", "go1.x", "ruby2.5", "ruby2.7", "provided", "provided.al2"
2833
+ # resp.compatible_runtimes[0] #=> String, one of "nodejs", "nodejs4.3", "nodejs6.10", "nodejs8.10", "nodejs10.x", "nodejs12.x", "nodejs14.x", "nodejs16.x", "java8", "java8.al2", "java11", "python2.7", "python3.6", "python3.7", "python3.8", "python3.9", "dotnetcore1.0", "dotnetcore2.0", "dotnetcore2.1", "dotnetcore3.1", "dotnet6", "nodejs4.3-edge", "go1.x", "ruby2.5", "ruby2.7", "provided", "provided.al2", "nodejs18.x", "python3.10", "java17", "ruby3.2", "python3.11", "nodejs20.x"
2379
2834
  # resp.license_info #=> String
2380
2835
  # resp.compatible_architectures #=> Array
2381
2836
  # resp.compatible_architectures[0] #=> String, one of "x86_64", "arm64"
@@ -2430,7 +2885,7 @@ module Aws::Lambda
2430
2885
  # resp.created_date #=> Time
2431
2886
  # resp.version #=> Integer
2432
2887
  # resp.compatible_runtimes #=> Array
2433
- # resp.compatible_runtimes[0] #=> String, one of "nodejs", "nodejs4.3", "nodejs6.10", "nodejs8.10", "nodejs10.x", "nodejs12.x", "nodejs14.x", "java8", "java8.al2", "java11", "python2.7", "python3.6", "python3.7", "python3.8", "python3.9", "dotnetcore1.0", "dotnetcore2.0", "dotnetcore2.1", "dotnetcore3.1", "nodejs4.3-edge", "go1.x", "ruby2.5", "ruby2.7", "provided", "provided.al2"
2888
+ # resp.compatible_runtimes[0] #=> String, one of "nodejs", "nodejs4.3", "nodejs6.10", "nodejs8.10", "nodejs10.x", "nodejs12.x", "nodejs14.x", "nodejs16.x", "java8", "java8.al2", "java11", "python2.7", "python3.6", "python3.7", "python3.8", "python3.9", "dotnetcore1.0", "dotnetcore2.0", "dotnetcore2.1", "dotnetcore3.1", "dotnet6", "nodejs4.3-edge", "go1.x", "ruby2.5", "ruby2.7", "provided", "provided.al2", "nodejs18.x", "python3.10", "java17", "ruby3.2", "python3.11", "nodejs20.x"
2434
2889
  # resp.license_info #=> String
2435
2890
  # resp.compatible_architectures #=> Array
2436
2891
  # resp.compatible_architectures[0] #=> String, one of "x86_64", "arm64"
@@ -2495,13 +2950,13 @@ module Aws::Lambda
2495
2950
  #
2496
2951
  # **Name formats**
2497
2952
  #
2498
- # * **Function name** - `my-function` (name-only), `my-function:v1`
2953
+ # * **Function name** `my-function` (name-only), `my-function:v1`
2499
2954
  # (with alias).
2500
2955
  #
2501
- # * **Function ARN** -
2956
+ # * **Function ARN**
2502
2957
  # `arn:aws:lambda:us-west-2:123456789012:function:my-function`.
2503
2958
  #
2504
- # * **Partial ARN** - `123456789012:function:my-function`.
2959
+ # * **Partial ARN** `123456789012:function:my-function`.
2505
2960
  #
2506
2961
  # You can append a version number or alias to any of the formats. The
2507
2962
  # length constraint applies only to the full ARN. If you specify only
@@ -2544,12 +2999,12 @@ module Aws::Lambda
2544
2999
  #
2545
3000
  # **Name formats**
2546
3001
  #
2547
- # * **Function name** - `my-function`.
3002
+ # * **Function name** `my-function`.
2548
3003
  #
2549
- # * **Function ARN** -
3004
+ # * **Function ARN**
2550
3005
  # `arn:aws:lambda:us-west-2:123456789012:function:my-function`.
2551
3006
  #
2552
- # * **Partial ARN** - `123456789012:function:my-function`.
3007
+ # * **Partial ARN** `123456789012:function:my-function`.
2553
3008
  #
2554
3009
  # The length constraint applies only to the full ARN. If you specify
2555
3010
  # only the function name, it is limited to 64 characters in length.
@@ -2591,9 +3046,71 @@ module Aws::Lambda
2591
3046
  req.send_request(options)
2592
3047
  end
2593
3048
 
3049
+ # Retrieves the runtime management configuration for a function's
3050
+ # version. If the runtime update mode is **Manual**, this includes the
3051
+ # ARN of the runtime version and the runtime update mode. If the runtime
3052
+ # update mode is **Auto** or **Function update**, this includes the
3053
+ # runtime update mode and `null` is returned for the ARN. For more
3054
+ # information, see [Runtime updates][1].
3055
+ #
3056
+ #
3057
+ #
3058
+ # [1]: https://docs.aws.amazon.com/lambda/latest/dg/runtimes-update.html
3059
+ #
3060
+ # @option params [required, String] :function_name
3061
+ # The name of the Lambda function.
3062
+ #
3063
+ # **Name formats**
3064
+ #
3065
+ # * **Function name** – `my-function`.
3066
+ #
3067
+ # * **Function ARN** –
3068
+ # `arn:aws:lambda:us-west-2:123456789012:function:my-function`.
3069
+ #
3070
+ # * **Partial ARN** – `123456789012:function:my-function`.
3071
+ #
3072
+ # The length constraint applies only to the full ARN. If you specify
3073
+ # only the function name, it is limited to 64 characters in length.
3074
+ #
3075
+ # @option params [String] :qualifier
3076
+ # Specify a version of the function. This can be `$LATEST` or a
3077
+ # published version number. If no value is specified, the configuration
3078
+ # for the `$LATEST` version is returned.
3079
+ #
3080
+ # @return [Types::GetRuntimeManagementConfigResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3081
+ #
3082
+ # * {Types::GetRuntimeManagementConfigResponse#update_runtime_on #update_runtime_on} => String
3083
+ # * {Types::GetRuntimeManagementConfigResponse#runtime_version_arn #runtime_version_arn} => String
3084
+ # * {Types::GetRuntimeManagementConfigResponse#function_arn #function_arn} => String
3085
+ #
3086
+ # @example Request syntax with placeholder values
3087
+ #
3088
+ # resp = client.get_runtime_management_config({
3089
+ # function_name: "NamespacedFunctionName", # required
3090
+ # qualifier: "Qualifier",
3091
+ # })
3092
+ #
3093
+ # @example Response structure
3094
+ #
3095
+ # resp.update_runtime_on #=> String, one of "Auto", "Manual", "FunctionUpdate"
3096
+ # resp.runtime_version_arn #=> String
3097
+ # resp.function_arn #=> String
3098
+ #
3099
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetRuntimeManagementConfig AWS API Documentation
3100
+ #
3101
+ # @overload get_runtime_management_config(params = {})
3102
+ # @param [Hash] params ({})
3103
+ def get_runtime_management_config(params = {}, options = {})
3104
+ req = build_request(:get_runtime_management_config, params)
3105
+ req.send_request(options)
3106
+ end
3107
+
2594
3108
  # Invokes a Lambda function. You can invoke a function synchronously
2595
- # (and wait for the response), or asynchronously. To invoke a function
2596
- # asynchronously, set `InvocationType` to `Event`.
3109
+ # (and wait for the response), or asynchronously. By default, Lambda
3110
+ # invokes your function synchronously (i.e. the`InvocationType` is
3111
+ # `RequestResponse`). To invoke a function asynchronously, set
3112
+ # `InvocationType` to `Event`. Lambda passes the `ClientContext` object
3113
+ # to your function for synchronous invocations only.
2597
3114
  #
2598
3115
  # For [synchronous invocation][1], details about the function response,
2599
3116
  # including errors, are included in the response body and headers. For
@@ -2604,7 +3121,8 @@ module Aws::Lambda
2604
3121
  # Retry behavior varies by error type, client, event source, and
2605
3122
  # invocation type. For example, if you invoke a function asynchronously
2606
3123
  # and it returns an error, Lambda executes the function up to two more
2607
- # times. For more information, see [Retry Behavior][4].
3124
+ # times. For more information, see [Error handling and automatic retries
3125
+ # in Lambda][4].
2608
3126
  #
2609
3127
  # For [asynchronous invocation][5], Lambda adds events to a queue before
2610
3128
  # sending them to your function. If your function does not have enough
@@ -2615,44 +3133,46 @@ module Aws::Lambda
2615
3133
  #
2616
3134
  # The status code in the API response doesn't reflect function errors.
2617
3135
  # Error codes are reserved for errors that prevent your function from
2618
- # executing, such as permissions errors, [limit errors][7], or issues
3136
+ # executing, such as permissions errors, [quota][7] errors, or issues
2619
3137
  # with your function's code and configuration. For example, Lambda
2620
- # returns `TooManyRequestsException` if executing the function would
2621
- # cause you to exceed a concurrency limit at either the account level
3138
+ # returns `TooManyRequestsException` if running the function would cause
3139
+ # you to exceed a concurrency limit at either the account level
2622
3140
  # (`ConcurrentInvocationLimitExceeded`) or function level
2623
3141
  # (`ReservedFunctionConcurrentInvocationLimitExceeded`).
2624
3142
  #
2625
- # For functions with a long timeout, your client might be disconnected
2626
- # during synchronous invocation while it waits for a response. Configure
2627
- # your HTTP client, SDK, firewall, proxy, or operating system to allow
2628
- # for long connections with timeout or keep-alive settings.
3143
+ # For functions with a long timeout, your client might disconnect during
3144
+ # synchronous invocation while it waits for a response. Configure your
3145
+ # HTTP client, SDK, firewall, proxy, or operating system to allow for
3146
+ # long connections with timeout or keep-alive settings.
2629
3147
  #
2630
3148
  # This operation requires permission for the [lambda:InvokeFunction][8]
2631
- # action.
3149
+ # action. For details on how to set up permissions for cross-account
3150
+ # invocations, see [Granting function access to other accounts][9].
2632
3151
  #
2633
3152
  #
2634
3153
  #
2635
3154
  # [1]: https://docs.aws.amazon.com/lambda/latest/dg/invocation-sync.html
2636
3155
  # [2]: https://docs.aws.amazon.com/lambda/latest/dg/monitoring-functions.html
2637
3156
  # [3]: https://docs.aws.amazon.com/lambda/latest/dg/lambda-x-ray.html
2638
- # [4]: https://docs.aws.amazon.com/lambda/latest/dg/retries-on-errors.html
3157
+ # [4]: https://docs.aws.amazon.com/lambda/latest/dg/invocation-retries.html
2639
3158
  # [5]: https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html
2640
- # [6]: https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#dlq
2641
- # [7]: https://docs.aws.amazon.com/lambda/latest/dg/limits.html
3159
+ # [6]: https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#invocation-dlq
3160
+ # [7]: https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-limits.html
2642
3161
  # [8]: https://docs.aws.amazon.com/IAM/latest/UserGuide/list_awslambda.html
3162
+ # [9]: https://docs.aws.amazon.com/lambda/latest/dg/access-control-resource-based.html#permissions-resource-xaccountinvoke
2643
3163
  #
2644
3164
  # @option params [required, String] :function_name
2645
3165
  # The name of the Lambda function, version, or alias.
2646
3166
  #
2647
3167
  # **Name formats**
2648
3168
  #
2649
- # * **Function name** - `my-function` (name-only), `my-function:v1`
3169
+ # * **Function name** `my-function` (name-only), `my-function:v1`
2650
3170
  # (with alias).
2651
3171
  #
2652
- # * **Function ARN** -
3172
+ # * **Function ARN**
2653
3173
  # `arn:aws:lambda:us-west-2:123456789012:function:my-function`.
2654
3174
  #
2655
- # * **Partial ARN** - `123456789012:function:my-function`.
3175
+ # * **Partial ARN** `123456789012:function:my-function`.
2656
3176
  #
2657
3177
  # You can append a version number or alias to any of the formats. The
2658
3178
  # length constraint applies only to the full ARN. If you specify only
@@ -2661,16 +3181,16 @@ module Aws::Lambda
2661
3181
  # @option params [String] :invocation_type
2662
3182
  # Choose from the following options.
2663
3183
  #
2664
- # * `RequestResponse` (default) - Invoke the function synchronously.
3184
+ # * `RequestResponse` (default) Invoke the function synchronously.
2665
3185
  # Keep the connection open until the function returns a response or
2666
3186
  # times out. The API response includes the function response and
2667
3187
  # additional data.
2668
3188
  #
2669
- # * `Event` - Invoke the function asynchronously. Send events that fail
2670
- # multiple times to the function's dead-letter queue (if it's
3189
+ # * `Event` Invoke the function asynchronously. Send events that fail
3190
+ # multiple times to the function's dead-letter queue (if one is
2671
3191
  # configured). The API response only includes a status code.
2672
3192
  #
2673
- # * `DryRun` - Validate parameter values and verify that the user or
3193
+ # * `DryRun` Validate parameter values and verify that the user or
2674
3194
  # role has permission to invoke the function.
2675
3195
  #
2676
3196
  # @option params [String] :log_type
@@ -2678,7 +3198,7 @@ module Aws::Lambda
2678
3198
  # synchronously invoked functions only.
2679
3199
  #
2680
3200
  # @option params [String] :client_context
2681
- # Up to 3583 bytes of base64-encoded data about the invoking client to
3201
+ # Up to 3,583 bytes of base64-encoded data about the invoking client to
2682
3202
  # pass to the function in the context object.
2683
3203
  #
2684
3204
  # @option params [String, StringIO, File] :payload
@@ -2732,17 +3252,23 @@ module Aws::Lambda
2732
3252
  #
2733
3253
  # Invokes a function asynchronously.
2734
3254
  #
3255
+ # <note markdown="1"> If you do use the InvokeAsync action, note that it doesn't support
3256
+ # the use of X-Ray active tracing. Trace ID is not propagated to the
3257
+ # function, even if X-Ray active tracing is turned on.
3258
+ #
3259
+ # </note>
3260
+ #
2735
3261
  # @option params [required, String] :function_name
2736
3262
  # The name of the Lambda function.
2737
3263
  #
2738
3264
  # **Name formats**
2739
3265
  #
2740
- # * **Function name** - `my-function`.
3266
+ # * **Function name** `my-function`.
2741
3267
  #
2742
- # * **Function ARN** -
3268
+ # * **Function ARN**
2743
3269
  # `arn:aws:lambda:us-west-2:123456789012:function:my-function`.
2744
3270
  #
2745
- # * **Partial ARN** - `123456789012:function:my-function`.
3271
+ # * **Partial ARN** `123456789012:function:my-function`.
2746
3272
  #
2747
3273
  # The length constraint applies only to the full ARN. If you specify
2748
3274
  # only the function name, it is limited to 64 characters in length.
@@ -2774,39 +3300,253 @@ module Aws::Lambda
2774
3300
  req.send_request(options)
2775
3301
  end
2776
3302
 
2777
- # Returns a list of [aliases][1] for a Lambda function.
3303
+ # Configure your Lambda functions to stream response payloads back to
3304
+ # clients. For more information, see [Configuring a Lambda function to
3305
+ # stream responses][1].
2778
3306
  #
3307
+ # This operation requires permission for the [lambda:InvokeFunction][2]
3308
+ # action. For details on how to set up permissions for cross-account
3309
+ # invocations, see [Granting function access to other accounts][3].
2779
3310
  #
2780
3311
  #
2781
- # [1]: https://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html
3312
+ #
3313
+ # [1]: https://docs.aws.amazon.com/lambda/latest/dg/configuration-response-streaming.html
3314
+ # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/list_awslambda.html
3315
+ # [3]: https://docs.aws.amazon.com/lambda/latest/dg/access-control-resource-based.html#permissions-resource-xaccountinvoke
2782
3316
  #
2783
3317
  # @option params [required, String] :function_name
2784
3318
  # The name of the Lambda function.
2785
3319
  #
2786
3320
  # **Name formats**
2787
3321
  #
2788
- # * **Function name** - `MyFunction`.
3322
+ # * **Function name** `my-function`.
2789
3323
  #
2790
- # * **Function ARN** -
2791
- # `arn:aws:lambda:us-west-2:123456789012:function:MyFunction`.
3324
+ # * **Function ARN**
3325
+ # `arn:aws:lambda:us-west-2:123456789012:function:my-function`.
2792
3326
  #
2793
- # * **Partial ARN** - `123456789012:function:MyFunction`.
3327
+ # * **Partial ARN** `123456789012:function:my-function`.
2794
3328
  #
2795
3329
  # The length constraint applies only to the full ARN. If you specify
2796
3330
  # only the function name, it is limited to 64 characters in length.
2797
3331
  #
2798
- # @option params [String] :function_version
2799
- # Specify a function version to only list aliases that invoke that
2800
- # version.
3332
+ # @option params [String] :invocation_type
3333
+ # Use one of the following options:
2801
3334
  #
2802
- # @option params [String] :marker
2803
- # Specify the pagination token that's returned by a previous request to
2804
- # retrieve the next page of results.
3335
+ # * `RequestResponse` (default) Invoke the function synchronously.
3336
+ # Keep the connection open until the function returns a response or
3337
+ # times out. The API operation response includes the function response
3338
+ # and additional data.
2805
3339
  #
2806
- # @option params [Integer] :max_items
2807
- # Limit the number of aliases returned.
3340
+ # * `DryRun` Validate parameter values and verify that the IAM user or
3341
+ # role has permission to invoke the function.
2808
3342
  #
2809
- # @return [Types::ListAliasesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3343
+ # @option params [String] :log_type
3344
+ # Set to `Tail` to include the execution log in the response. Applies to
3345
+ # synchronously invoked functions only.
3346
+ #
3347
+ # @option params [String] :client_context
3348
+ # Up to 3,583 bytes of base64-encoded data about the invoking client to
3349
+ # pass to the function in the context object.
3350
+ #
3351
+ # @option params [String] :qualifier
3352
+ # The alias name.
3353
+ #
3354
+ # @option params [String, StringIO, File] :payload
3355
+ # The JSON that you want to provide to your Lambda function as input.
3356
+ #
3357
+ # You can enter the JSON directly. For example, `--payload '\{ "key":
3358
+ # "value" \}'`. You can also specify a file path. For example,
3359
+ # `--payload file://payload.json`.
3360
+ #
3361
+ # @return [Types::InvokeWithResponseStreamResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3362
+ #
3363
+ # * {Types::InvokeWithResponseStreamResponse#status_code #status_code} => Integer
3364
+ # * {Types::InvokeWithResponseStreamResponse#executed_version #executed_version} => String
3365
+ # * {Types::InvokeWithResponseStreamResponse#event_stream #event_stream} => Types::InvokeWithResponseStreamResponseEvent
3366
+ # * {Types::InvokeWithResponseStreamResponse#response_stream_content_type #response_stream_content_type} => String
3367
+ #
3368
+ # @example EventStream Operation Example
3369
+ #
3370
+ # You can process event once it arrives immediately, or wait until
3371
+ # full response complete and iterate through eventstream enumerator.
3372
+ #
3373
+ # To interact with event immediately, you need to register #invoke_with_response_stream
3374
+ # with callbacks, callbacks can be register for specifc events or for all events,
3375
+ # callback for errors in the event stream is also available for register.
3376
+ #
3377
+ # Callbacks can be passed in by `:event_stream_handler` option or within block
3378
+ # statement attached to #invoke_with_response_stream call directly. Hybrid pattern of both
3379
+ # is also supported.
3380
+ #
3381
+ # `:event_stream_handler` option takes in either Proc object or
3382
+ # Aws::Lambda::EventStreams::InvokeWithResponseStreamResponseEvent object.
3383
+ #
3384
+ # Usage pattern a): callbacks with a block attached to #invoke_with_response_stream
3385
+ # Example for registering callbacks for all event types and error event
3386
+ #
3387
+ # client.invoke_with_response_stream( # params input# ) do |stream|
3388
+ # stream.on_error_event do |event|
3389
+ # # catch unmodeled error event in the stream
3390
+ # raise event
3391
+ # # => Aws::Errors::EventError
3392
+ # # event.event_type => :error
3393
+ # # event.error_code => String
3394
+ # # event.error_message => String
3395
+ # end
3396
+ #
3397
+ # stream.on_event do |event|
3398
+ # # process all events arrive
3399
+ # puts event.event_type
3400
+ # ...
3401
+ # end
3402
+ #
3403
+ # end
3404
+ #
3405
+ # Usage pattern b): pass in `:event_stream_handler` for #invoke_with_response_stream
3406
+ #
3407
+ # 1) create a Aws::Lambda::EventStreams::InvokeWithResponseStreamResponseEvent object
3408
+ # Example for registering callbacks with specific events
3409
+ #
3410
+ # handler = Aws::Lambda::EventStreams::InvokeWithResponseStreamResponseEvent.new
3411
+ # handler.on_payload_chunk_event do |event|
3412
+ # event # => Aws::Lambda::Types::PayloadChunk
3413
+ # end
3414
+ # handler.on_invoke_complete_event do |event|
3415
+ # event # => Aws::Lambda::Types::InvokeComplete
3416
+ # end
3417
+ #
3418
+ # client.invoke_with_response_stream( # params input #, event_stream_handler: handler)
3419
+ #
3420
+ # 2) use a Ruby Proc object
3421
+ # Example for registering callbacks with specific events
3422
+ #
3423
+ # handler = Proc.new do |stream|
3424
+ # stream.on_payload_chunk_event do |event|
3425
+ # event # => Aws::Lambda::Types::PayloadChunk
3426
+ # end
3427
+ # stream.on_invoke_complete_event do |event|
3428
+ # event # => Aws::Lambda::Types::InvokeComplete
3429
+ # end
3430
+ # end
3431
+ #
3432
+ # client.invoke_with_response_stream( # params input #, event_stream_handler: handler)
3433
+ #
3434
+ # Usage pattern c): hybird pattern of a) and b)
3435
+ #
3436
+ # handler = Aws::Lambda::EventStreams::InvokeWithResponseStreamResponseEvent.new
3437
+ # handler.on_payload_chunk_event do |event|
3438
+ # event # => Aws::Lambda::Types::PayloadChunk
3439
+ # end
3440
+ # handler.on_invoke_complete_event do |event|
3441
+ # event # => Aws::Lambda::Types::InvokeComplete
3442
+ # end
3443
+ #
3444
+ # client.invoke_with_response_stream( # params input #, event_stream_handler: handler) do |stream|
3445
+ # stream.on_error_event do |event|
3446
+ # # catch unmodeled error event in the stream
3447
+ # raise event
3448
+ # # => Aws::Errors::EventError
3449
+ # # event.event_type => :error
3450
+ # # event.error_code => String
3451
+ # # event.error_message => String
3452
+ # end
3453
+ # end
3454
+ #
3455
+ # Besides above usage patterns for process events when they arrive immediately, you can also
3456
+ # iterate through events after response complete.
3457
+ #
3458
+ # Events are available at resp.event_stream # => Enumerator
3459
+ # For parameter input example, please refer to following request syntax
3460
+ #
3461
+ # @example Request syntax with placeholder values
3462
+ #
3463
+ # resp = client.invoke_with_response_stream({
3464
+ # function_name: "NamespacedFunctionName", # required
3465
+ # invocation_type: "RequestResponse", # accepts RequestResponse, DryRun
3466
+ # log_type: "None", # accepts None, Tail
3467
+ # client_context: "String",
3468
+ # qualifier: "Qualifier",
3469
+ # payload: "data",
3470
+ # })
3471
+ #
3472
+ # @example Response structure
3473
+ #
3474
+ # resp.status_code #=> Integer
3475
+ # resp.executed_version #=> String
3476
+ # All events are available at resp.event_stream:
3477
+ # resp.event_stream #=> Enumerator
3478
+ # resp.event_stream.event_types #=> [:payload_chunk, :invoke_complete]
3479
+ #
3480
+ # For :payload_chunk event available at #on_payload_chunk_event callback and response eventstream enumerator:
3481
+ # event.payload #=> String
3482
+ #
3483
+ # For :invoke_complete event available at #on_invoke_complete_event callback and response eventstream enumerator:
3484
+ # event.error_code #=> String
3485
+ # event.error_details #=> String
3486
+ # event.log_result #=> String
3487
+ #
3488
+ # resp.response_stream_content_type #=> String
3489
+ #
3490
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/InvokeWithResponseStream AWS API Documentation
3491
+ #
3492
+ # @overload invoke_with_response_stream(params = {})
3493
+ # @param [Hash] params ({})
3494
+ def invoke_with_response_stream(params = {}, options = {}, &block)
3495
+ params = params.dup
3496
+ event_stream_handler = case handler = params.delete(:event_stream_handler)
3497
+ when EventStreams::InvokeWithResponseStreamResponseEvent then handler
3498
+ when Proc then EventStreams::InvokeWithResponseStreamResponseEvent.new.tap(&handler)
3499
+ when nil then EventStreams::InvokeWithResponseStreamResponseEvent.new
3500
+ else
3501
+ msg = "expected :event_stream_handler to be a block or "\
3502
+ "instance of Aws::Lambda::EventStreams::InvokeWithResponseStreamResponseEvent"\
3503
+ ", got `#{handler.inspect}` instead"
3504
+ raise ArgumentError, msg
3505
+ end
3506
+
3507
+ yield(event_stream_handler) if block_given?
3508
+
3509
+ req = build_request(:invoke_with_response_stream, params)
3510
+
3511
+ req.context[:event_stream_handler] = event_stream_handler
3512
+ req.handlers.add(Aws::Binary::DecodeHandler, priority: 95)
3513
+
3514
+ req.send_request(options, &block)
3515
+ end
3516
+
3517
+ # Returns a list of [aliases][1] for a Lambda function.
3518
+ #
3519
+ #
3520
+ #
3521
+ # [1]: https://docs.aws.amazon.com/lambda/latest/dg/configuration-aliases.html
3522
+ #
3523
+ # @option params [required, String] :function_name
3524
+ # The name of the Lambda function.
3525
+ #
3526
+ # **Name formats**
3527
+ #
3528
+ # * **Function name** - `MyFunction`.
3529
+ #
3530
+ # * **Function ARN** -
3531
+ # `arn:aws:lambda:us-west-2:123456789012:function:MyFunction`.
3532
+ #
3533
+ # * **Partial ARN** - `123456789012:function:MyFunction`.
3534
+ #
3535
+ # The length constraint applies only to the full ARN. If you specify
3536
+ # only the function name, it is limited to 64 characters in length.
3537
+ #
3538
+ # @option params [String] :function_version
3539
+ # Specify a function version to only list aliases that invoke that
3540
+ # version.
3541
+ #
3542
+ # @option params [String] :marker
3543
+ # Specify the pagination token that's returned by a previous request to
3544
+ # retrieve the next page of results.
3545
+ #
3546
+ # @option params [Integer] :max_items
3547
+ # Limit the number of aliases returned.
3548
+ #
3549
+ # @return [Types::ListAliasesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2810
3550
  #
2811
3551
  # * {Types::ListAliasesResponse#next_marker #next_marker} => String
2812
3552
  # * {Types::ListAliasesResponse#aliases #aliases} => Array&lt;Types::AliasConfiguration&gt;
@@ -2893,36 +3633,40 @@ module Aws::Lambda
2893
3633
  req.send_request(options)
2894
3634
  end
2895
3635
 
2896
- # Lists event source mappings. Specify an `EventSourceArn` to only show
3636
+ # Lists event source mappings. Specify an `EventSourceArn` to show only
2897
3637
  # event source mappings for a single event source.
2898
3638
  #
2899
3639
  # @option params [String] :event_source_arn
2900
3640
  # The Amazon Resource Name (ARN) of the event source.
2901
3641
  #
2902
- # * **Amazon Kinesis** - The ARN of the data stream or a stream
3642
+ # * **Amazon Kinesis** The ARN of the data stream or a stream
2903
3643
  # consumer.
2904
3644
  #
2905
- # * **Amazon DynamoDB Streams** - The ARN of the stream.
3645
+ # * **Amazon DynamoDB Streams** The ARN of the stream.
2906
3646
  #
2907
- # * **Amazon Simple Queue Service** - The ARN of the queue.
3647
+ # * **Amazon Simple Queue Service** The ARN of the queue.
2908
3648
  #
2909
- # * **Amazon Managed Streaming for Apache Kafka** - The ARN of the
3649
+ # * **Amazon Managed Streaming for Apache Kafka** The ARN of the
2910
3650
  # cluster.
2911
3651
  #
3652
+ # * **Amazon MQ** – The ARN of the broker.
3653
+ #
3654
+ # * **Amazon DocumentDB** – The ARN of the DocumentDB change stream.
3655
+ #
2912
3656
  # @option params [String] :function_name
2913
3657
  # The name of the Lambda function.
2914
3658
  #
2915
3659
  # **Name formats**
2916
3660
  #
2917
- # * **Function name** - `MyFunction`.
3661
+ # * **Function name** `MyFunction`.
2918
3662
  #
2919
- # * **Function ARN** -
3663
+ # * **Function ARN**
2920
3664
  # `arn:aws:lambda:us-west-2:123456789012:function:MyFunction`.
2921
3665
  #
2922
- # * **Version or Alias ARN** -
3666
+ # * **Version or Alias ARN**
2923
3667
  # `arn:aws:lambda:us-west-2:123456789012:function:MyFunction:PROD`.
2924
3668
  #
2925
- # * **Partial ARN** - `123456789012:function:MyFunction`.
3669
+ # * **Partial ARN** `123456789012:function:MyFunction`.
2926
3670
  #
2927
3671
  # The length constraint applies only to the full ARN. If you specify
2928
3672
  # only the function name, it's limited to 64 characters in length.
@@ -2987,6 +3731,12 @@ module Aws::Lambda
2987
3731
  # resp.event_source_mappings[0].tumbling_window_in_seconds #=> Integer
2988
3732
  # resp.event_source_mappings[0].function_response_types #=> Array
2989
3733
  # resp.event_source_mappings[0].function_response_types[0] #=> String, one of "ReportBatchItemFailures"
3734
+ # resp.event_source_mappings[0].amazon_managed_kafka_event_source_config.consumer_group_id #=> String
3735
+ # resp.event_source_mappings[0].self_managed_kafka_event_source_config.consumer_group_id #=> String
3736
+ # resp.event_source_mappings[0].scaling_config.maximum_concurrency #=> Integer
3737
+ # resp.event_source_mappings[0].document_db_event_source_config.database_name #=> String
3738
+ # resp.event_source_mappings[0].document_db_event_source_config.collection_name #=> String
3739
+ # resp.event_source_mappings[0].document_db_event_source_config.full_document #=> String, one of "UpdateLookup", "Default"
2990
3740
  #
2991
3741
  # @see http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListEventSourceMappings AWS API Documentation
2992
3742
  #
@@ -3060,24 +3810,95 @@ module Aws::Lambda
3060
3810
  req.send_request(options)
3061
3811
  end
3062
3812
 
3813
+ # Returns a list of Lambda function URLs for the specified function.
3814
+ #
3815
+ # @option params [required, String] :function_name
3816
+ # The name of the Lambda function.
3817
+ #
3818
+ # **Name formats**
3819
+ #
3820
+ # * **Function name** – `my-function`.
3821
+ #
3822
+ # * **Function ARN** –
3823
+ # `arn:aws:lambda:us-west-2:123456789012:function:my-function`.
3824
+ #
3825
+ # * **Partial ARN** – `123456789012:function:my-function`.
3826
+ #
3827
+ # The length constraint applies only to the full ARN. If you specify
3828
+ # only the function name, it is limited to 64 characters in length.
3829
+ #
3830
+ # @option params [String] :marker
3831
+ # Specify the pagination token that's returned by a previous request to
3832
+ # retrieve the next page of results.
3833
+ #
3834
+ # @option params [Integer] :max_items
3835
+ # The maximum number of function URLs to return in the response. Note
3836
+ # that `ListFunctionUrlConfigs` returns a maximum of 50 items in each
3837
+ # response, even if you set the number higher.
3838
+ #
3839
+ # @return [Types::ListFunctionUrlConfigsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3840
+ #
3841
+ # * {Types::ListFunctionUrlConfigsResponse#function_url_configs #function_url_configs} => Array&lt;Types::FunctionUrlConfig&gt;
3842
+ # * {Types::ListFunctionUrlConfigsResponse#next_marker #next_marker} => String
3843
+ #
3844
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
3845
+ #
3846
+ # @example Request syntax with placeholder values
3847
+ #
3848
+ # resp = client.list_function_url_configs({
3849
+ # function_name: "FunctionName", # required
3850
+ # marker: "String",
3851
+ # max_items: 1,
3852
+ # })
3853
+ #
3854
+ # @example Response structure
3855
+ #
3856
+ # resp.function_url_configs #=> Array
3857
+ # resp.function_url_configs[0].function_url #=> String
3858
+ # resp.function_url_configs[0].function_arn #=> String
3859
+ # resp.function_url_configs[0].creation_time #=> Time
3860
+ # resp.function_url_configs[0].last_modified_time #=> Time
3861
+ # resp.function_url_configs[0].cors.allow_credentials #=> Boolean
3862
+ # resp.function_url_configs[0].cors.allow_headers #=> Array
3863
+ # resp.function_url_configs[0].cors.allow_headers[0] #=> String
3864
+ # resp.function_url_configs[0].cors.allow_methods #=> Array
3865
+ # resp.function_url_configs[0].cors.allow_methods[0] #=> String
3866
+ # resp.function_url_configs[0].cors.allow_origins #=> Array
3867
+ # resp.function_url_configs[0].cors.allow_origins[0] #=> String
3868
+ # resp.function_url_configs[0].cors.expose_headers #=> Array
3869
+ # resp.function_url_configs[0].cors.expose_headers[0] #=> String
3870
+ # resp.function_url_configs[0].cors.max_age #=> Integer
3871
+ # resp.function_url_configs[0].auth_type #=> String, one of "NONE", "AWS_IAM"
3872
+ # resp.function_url_configs[0].invoke_mode #=> String, one of "BUFFERED", "RESPONSE_STREAM"
3873
+ # resp.next_marker #=> String
3874
+ #
3875
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListFunctionUrlConfigs AWS API Documentation
3876
+ #
3877
+ # @overload list_function_url_configs(params = {})
3878
+ # @param [Hash] params ({})
3879
+ def list_function_url_configs(params = {}, options = {})
3880
+ req = build_request(:list_function_url_configs, params)
3881
+ req.send_request(options)
3882
+ end
3883
+
3063
3884
  # Returns a list of Lambda functions, with the version-specific
3064
3885
  # configuration of each. Lambda returns up to 50 functions per call.
3065
3886
  #
3066
3887
  # Set `FunctionVersion` to `ALL` to include all published versions of
3067
3888
  # each function in addition to the unpublished version.
3068
3889
  #
3069
- # <note markdown="1"> The `ListFunctions` action returns a subset of the
3890
+ # <note markdown="1"> The `ListFunctions` operation returns a subset of the
3070
3891
  # FunctionConfiguration fields. To get the additional fields (State,
3071
3892
  # StateReasonCode, StateReason, LastUpdateStatus,
3072
- # LastUpdateStatusReason, LastUpdateStatusReasonCode) for a function or
3073
- # version, use GetFunction.
3893
+ # LastUpdateStatusReason, LastUpdateStatusReasonCode,
3894
+ # RuntimeVersionConfig) for a function or version, use GetFunction.
3074
3895
  #
3075
3896
  # </note>
3076
3897
  #
3077
3898
  # @option params [String] :master_region
3078
3899
  # For Lambda@Edge functions, the Amazon Web Services Region of the
3079
3900
  # master function. For example, `us-east-1` filters the list of
3080
- # functions to only include Lambda@Edge functions replicated from a
3901
+ # functions to include only Lambda@Edge functions replicated from a
3081
3902
  # master function in US East (N. Virginia). If specified, you must set
3082
3903
  # `FunctionVersion` to `ALL`.
3083
3904
  #
@@ -3116,7 +3937,7 @@ module Aws::Lambda
3116
3937
  # resp.functions #=> Array
3117
3938
  # resp.functions[0].function_name #=> String
3118
3939
  # resp.functions[0].function_arn #=> String
3119
- # resp.functions[0].runtime #=> String, one of "nodejs", "nodejs4.3", "nodejs6.10", "nodejs8.10", "nodejs10.x", "nodejs12.x", "nodejs14.x", "java8", "java8.al2", "java11", "python2.7", "python3.6", "python3.7", "python3.8", "python3.9", "dotnetcore1.0", "dotnetcore2.0", "dotnetcore2.1", "dotnetcore3.1", "nodejs4.3-edge", "go1.x", "ruby2.5", "ruby2.7", "provided", "provided.al2"
3940
+ # resp.functions[0].runtime #=> String, one of "nodejs", "nodejs4.3", "nodejs6.10", "nodejs8.10", "nodejs10.x", "nodejs12.x", "nodejs14.x", "nodejs16.x", "java8", "java8.al2", "java11", "python2.7", "python3.6", "python3.7", "python3.8", "python3.9", "dotnetcore1.0", "dotnetcore2.0", "dotnetcore2.1", "dotnetcore3.1", "dotnet6", "nodejs4.3-edge", "go1.x", "ruby2.5", "ruby2.7", "provided", "provided.al2", "nodejs18.x", "python3.10", "java17", "ruby3.2", "python3.11", "nodejs20.x"
3120
3941
  # resp.functions[0].role #=> String
3121
3942
  # resp.functions[0].handler #=> String
3122
3943
  # resp.functions[0].code_size #=> Integer
@@ -3131,6 +3952,7 @@ module Aws::Lambda
3131
3952
  # resp.functions[0].vpc_config.security_group_ids #=> Array
3132
3953
  # resp.functions[0].vpc_config.security_group_ids[0] #=> String
3133
3954
  # resp.functions[0].vpc_config.vpc_id #=> String
3955
+ # resp.functions[0].vpc_config.ipv_6_allowed_for_dual_stack #=> Boolean
3134
3956
  # resp.functions[0].dead_letter_config.target_arn #=> String
3135
3957
  # resp.functions[0].environment.variables #=> Hash
3136
3958
  # resp.functions[0].environment.variables["EnvironmentVariableName"] #=> String
@@ -3147,10 +3969,10 @@ module Aws::Lambda
3147
3969
  # resp.functions[0].layers[0].signing_job_arn #=> String
3148
3970
  # resp.functions[0].state #=> String, one of "Pending", "Active", "Inactive", "Failed"
3149
3971
  # resp.functions[0].state_reason #=> String
3150
- # resp.functions[0].state_reason_code #=> String, one of "Idle", "Creating", "Restoring", "EniLimitExceeded", "InsufficientRolePermissions", "InvalidConfiguration", "InternalError", "SubnetOutOfIPAddresses", "InvalidSubnet", "InvalidSecurityGroup", "ImageDeleted", "ImageAccessDenied", "InvalidImage"
3972
+ # resp.functions[0].state_reason_code #=> String, one of "Idle", "Creating", "Restoring", "EniLimitExceeded", "InsufficientRolePermissions", "InvalidConfiguration", "InternalError", "SubnetOutOfIPAddresses", "InvalidSubnet", "InvalidSecurityGroup", "ImageDeleted", "ImageAccessDenied", "InvalidImage", "KMSKeyAccessDenied", "KMSKeyNotFound", "InvalidStateKMSKey", "DisabledKMSKey", "EFSIOError", "EFSMountConnectivityError", "EFSMountFailure", "EFSMountTimeout", "InvalidRuntime", "InvalidZipFileException", "FunctionError"
3151
3973
  # resp.functions[0].last_update_status #=> String, one of "Successful", "Failed", "InProgress"
3152
3974
  # resp.functions[0].last_update_status_reason #=> String
3153
- # resp.functions[0].last_update_status_reason_code #=> String, one of "EniLimitExceeded", "InsufficientRolePermissions", "InvalidConfiguration", "InternalError", "SubnetOutOfIPAddresses", "InvalidSubnet", "InvalidSecurityGroup", "ImageDeleted", "ImageAccessDenied", "InvalidImage"
3975
+ # resp.functions[0].last_update_status_reason_code #=> String, one of "EniLimitExceeded", "InsufficientRolePermissions", "InvalidConfiguration", "InternalError", "SubnetOutOfIPAddresses", "InvalidSubnet", "InvalidSecurityGroup", "ImageDeleted", "ImageAccessDenied", "InvalidImage", "KMSKeyAccessDenied", "KMSKeyNotFound", "InvalidStateKMSKey", "DisabledKMSKey", "EFSIOError", "EFSMountConnectivityError", "EFSMountFailure", "EFSMountTimeout", "InvalidRuntime", "InvalidZipFileException", "FunctionError"
3154
3976
  # resp.functions[0].file_system_configs #=> Array
3155
3977
  # resp.functions[0].file_system_configs[0].arn #=> String
3156
3978
  # resp.functions[0].file_system_configs[0].local_mount_path #=> String
@@ -3166,6 +3988,12 @@ module Aws::Lambda
3166
3988
  # resp.functions[0].signing_job_arn #=> String
3167
3989
  # resp.functions[0].architectures #=> Array
3168
3990
  # resp.functions[0].architectures[0] #=> String, one of "x86_64", "arm64"
3991
+ # resp.functions[0].ephemeral_storage.size #=> Integer
3992
+ # resp.functions[0].snap_start.apply_on #=> String, one of "PublishedVersions", "None"
3993
+ # resp.functions[0].snap_start.optimization_status #=> String, one of "On", "Off"
3994
+ # resp.functions[0].runtime_version_config.runtime_version_arn #=> String
3995
+ # resp.functions[0].runtime_version_config.error.error_code #=> String
3996
+ # resp.functions[0].runtime_version_config.error.message #=> String
3169
3997
  #
3170
3998
  # @see http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListFunctions AWS API Documentation
3171
3999
  #
@@ -3234,6 +4062,13 @@ module Aws::Lambda
3234
4062
  # @option params [String] :compatible_runtime
3235
4063
  # A runtime identifier. For example, `go1.x`.
3236
4064
  #
4065
+ # The following list includes deprecated runtimes. For more information,
4066
+ # see [Runtime deprecation policy][1].
4067
+ #
4068
+ #
4069
+ #
4070
+ # [1]: https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html#runtime-support-policy
4071
+ #
3237
4072
  # @option params [required, String] :layer_name
3238
4073
  # The name or Amazon Resource Name (ARN) of the layer.
3239
4074
  #
@@ -3260,7 +4095,7 @@ module Aws::Lambda
3260
4095
  # @example Request syntax with placeholder values
3261
4096
  #
3262
4097
  # resp = client.list_layer_versions({
3263
- # compatible_runtime: "nodejs", # accepts nodejs, nodejs4.3, nodejs6.10, nodejs8.10, nodejs10.x, nodejs12.x, nodejs14.x, java8, java8.al2, java11, python2.7, python3.6, python3.7, python3.8, python3.9, dotnetcore1.0, dotnetcore2.0, dotnetcore2.1, dotnetcore3.1, nodejs4.3-edge, go1.x, ruby2.5, ruby2.7, provided, provided.al2
4098
+ # compatible_runtime: "nodejs", # accepts nodejs, nodejs4.3, nodejs6.10, nodejs8.10, nodejs10.x, nodejs12.x, nodejs14.x, nodejs16.x, java8, java8.al2, java11, python2.7, python3.6, python3.7, python3.8, python3.9, dotnetcore1.0, dotnetcore2.0, dotnetcore2.1, dotnetcore3.1, dotnet6, nodejs4.3-edge, go1.x, ruby2.5, ruby2.7, provided, provided.al2, nodejs18.x, python3.10, java17, ruby3.2, python3.11, nodejs20.x
3264
4099
  # layer_name: "LayerName", # required
3265
4100
  # marker: "String",
3266
4101
  # max_items: 1,
@@ -3276,7 +4111,7 @@ module Aws::Lambda
3276
4111
  # resp.layer_versions[0].description #=> String
3277
4112
  # resp.layer_versions[0].created_date #=> Time
3278
4113
  # resp.layer_versions[0].compatible_runtimes #=> Array
3279
- # resp.layer_versions[0].compatible_runtimes[0] #=> String, one of "nodejs", "nodejs4.3", "nodejs6.10", "nodejs8.10", "nodejs10.x", "nodejs12.x", "nodejs14.x", "java8", "java8.al2", "java11", "python2.7", "python3.6", "python3.7", "python3.8", "python3.9", "dotnetcore1.0", "dotnetcore2.0", "dotnetcore2.1", "dotnetcore3.1", "nodejs4.3-edge", "go1.x", "ruby2.5", "ruby2.7", "provided", "provided.al2"
4114
+ # resp.layer_versions[0].compatible_runtimes[0] #=> String, one of "nodejs", "nodejs4.3", "nodejs6.10", "nodejs8.10", "nodejs10.x", "nodejs12.x", "nodejs14.x", "nodejs16.x", "java8", "java8.al2", "java11", "python2.7", "python3.6", "python3.7", "python3.8", "python3.9", "dotnetcore1.0", "dotnetcore2.0", "dotnetcore2.1", "dotnetcore3.1", "dotnet6", "nodejs4.3-edge", "go1.x", "ruby2.5", "ruby2.7", "provided", "provided.al2", "nodejs18.x", "python3.10", "java17", "ruby3.2", "python3.11", "nodejs20.x"
3280
4115
  # resp.layer_versions[0].license_info #=> String
3281
4116
  # resp.layer_versions[0].compatible_architectures #=> Array
3282
4117
  # resp.layer_versions[0].compatible_architectures[0] #=> String, one of "x86_64", "arm64"
@@ -3305,6 +4140,13 @@ module Aws::Lambda
3305
4140
  # @option params [String] :compatible_runtime
3306
4141
  # A runtime identifier. For example, `go1.x`.
3307
4142
  #
4143
+ # The following list includes deprecated runtimes. For more information,
4144
+ # see [Runtime deprecation policy][1].
4145
+ #
4146
+ #
4147
+ #
4148
+ # [1]: https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html#runtime-support-policy
4149
+ #
3308
4150
  # @option params [String] :marker
3309
4151
  # A pagination token returned by a previous call.
3310
4152
  #
@@ -3328,7 +4170,7 @@ module Aws::Lambda
3328
4170
  # @example Request syntax with placeholder values
3329
4171
  #
3330
4172
  # resp = client.list_layers({
3331
- # compatible_runtime: "nodejs", # accepts nodejs, nodejs4.3, nodejs6.10, nodejs8.10, nodejs10.x, nodejs12.x, nodejs14.x, java8, java8.al2, java11, python2.7, python3.6, python3.7, python3.8, python3.9, dotnetcore1.0, dotnetcore2.0, dotnetcore2.1, dotnetcore3.1, nodejs4.3-edge, go1.x, ruby2.5, ruby2.7, provided, provided.al2
4173
+ # compatible_runtime: "nodejs", # accepts nodejs, nodejs4.3, nodejs6.10, nodejs8.10, nodejs10.x, nodejs12.x, nodejs14.x, nodejs16.x, java8, java8.al2, java11, python2.7, python3.6, python3.7, python3.8, python3.9, dotnetcore1.0, dotnetcore2.0, dotnetcore2.1, dotnetcore3.1, dotnet6, nodejs4.3-edge, go1.x, ruby2.5, ruby2.7, provided, provided.al2, nodejs18.x, python3.10, java17, ruby3.2, python3.11, nodejs20.x
3332
4174
  # marker: "String",
3333
4175
  # max_items: 1,
3334
4176
  # compatible_architecture: "x86_64", # accepts x86_64, arm64
@@ -3345,7 +4187,7 @@ module Aws::Lambda
3345
4187
  # resp.layers[0].latest_matching_version.description #=> String
3346
4188
  # resp.layers[0].latest_matching_version.created_date #=> Time
3347
4189
  # resp.layers[0].latest_matching_version.compatible_runtimes #=> Array
3348
- # resp.layers[0].latest_matching_version.compatible_runtimes[0] #=> String, one of "nodejs", "nodejs4.3", "nodejs6.10", "nodejs8.10", "nodejs10.x", "nodejs12.x", "nodejs14.x", "java8", "java8.al2", "java11", "python2.7", "python3.6", "python3.7", "python3.8", "python3.9", "dotnetcore1.0", "dotnetcore2.0", "dotnetcore2.1", "dotnetcore3.1", "nodejs4.3-edge", "go1.x", "ruby2.5", "ruby2.7", "provided", "provided.al2"
4190
+ # resp.layers[0].latest_matching_version.compatible_runtimes[0] #=> String, one of "nodejs", "nodejs4.3", "nodejs6.10", "nodejs8.10", "nodejs10.x", "nodejs12.x", "nodejs14.x", "nodejs16.x", "java8", "java8.al2", "java11", "python2.7", "python3.6", "python3.7", "python3.8", "python3.9", "dotnetcore1.0", "dotnetcore2.0", "dotnetcore2.1", "dotnetcore3.1", "dotnet6", "nodejs4.3-edge", "go1.x", "ruby2.5", "ruby2.7", "provided", "provided.al2", "nodejs18.x", "python3.10", "java17", "ruby3.2", "python3.11", "nodejs20.x"
3349
4191
  # resp.layers[0].latest_matching_version.license_info #=> String
3350
4192
  # resp.layers[0].latest_matching_version.compatible_architectures #=> Array
3351
4193
  # resp.layers[0].latest_matching_version.compatible_architectures[0] #=> String, one of "x86_64", "arm64"
@@ -3367,12 +4209,12 @@ module Aws::Lambda
3367
4209
  #
3368
4210
  # **Name formats**
3369
4211
  #
3370
- # * **Function name** - `my-function`.
4212
+ # * **Function name** `my-function`.
3371
4213
  #
3372
- # * **Function ARN** -
4214
+ # * **Function ARN**
3373
4215
  # `arn:aws:lambda:us-west-2:123456789012:function:my-function`.
3374
4216
  #
3375
- # * **Partial ARN** - `123456789012:function:my-function`.
4217
+ # * **Partial ARN** `123456789012:function:my-function`.
3376
4218
  #
3377
4219
  # The length constraint applies only to the full ARN. If you specify
3378
4220
  # only the function name, it is limited to 64 characters in length.
@@ -3507,7 +4349,7 @@ module Aws::Lambda
3507
4349
  # resp.versions #=> Array
3508
4350
  # resp.versions[0].function_name #=> String
3509
4351
  # resp.versions[0].function_arn #=> String
3510
- # resp.versions[0].runtime #=> String, one of "nodejs", "nodejs4.3", "nodejs6.10", "nodejs8.10", "nodejs10.x", "nodejs12.x", "nodejs14.x", "java8", "java8.al2", "java11", "python2.7", "python3.6", "python3.7", "python3.8", "python3.9", "dotnetcore1.0", "dotnetcore2.0", "dotnetcore2.1", "dotnetcore3.1", "nodejs4.3-edge", "go1.x", "ruby2.5", "ruby2.7", "provided", "provided.al2"
4352
+ # resp.versions[0].runtime #=> String, one of "nodejs", "nodejs4.3", "nodejs6.10", "nodejs8.10", "nodejs10.x", "nodejs12.x", "nodejs14.x", "nodejs16.x", "java8", "java8.al2", "java11", "python2.7", "python3.6", "python3.7", "python3.8", "python3.9", "dotnetcore1.0", "dotnetcore2.0", "dotnetcore2.1", "dotnetcore3.1", "dotnet6", "nodejs4.3-edge", "go1.x", "ruby2.5", "ruby2.7", "provided", "provided.al2", "nodejs18.x", "python3.10", "java17", "ruby3.2", "python3.11", "nodejs20.x"
3511
4353
  # resp.versions[0].role #=> String
3512
4354
  # resp.versions[0].handler #=> String
3513
4355
  # resp.versions[0].code_size #=> Integer
@@ -3522,6 +4364,7 @@ module Aws::Lambda
3522
4364
  # resp.versions[0].vpc_config.security_group_ids #=> Array
3523
4365
  # resp.versions[0].vpc_config.security_group_ids[0] #=> String
3524
4366
  # resp.versions[0].vpc_config.vpc_id #=> String
4367
+ # resp.versions[0].vpc_config.ipv_6_allowed_for_dual_stack #=> Boolean
3525
4368
  # resp.versions[0].dead_letter_config.target_arn #=> String
3526
4369
  # resp.versions[0].environment.variables #=> Hash
3527
4370
  # resp.versions[0].environment.variables["EnvironmentVariableName"] #=> String
@@ -3538,10 +4381,10 @@ module Aws::Lambda
3538
4381
  # resp.versions[0].layers[0].signing_job_arn #=> String
3539
4382
  # resp.versions[0].state #=> String, one of "Pending", "Active", "Inactive", "Failed"
3540
4383
  # resp.versions[0].state_reason #=> String
3541
- # resp.versions[0].state_reason_code #=> String, one of "Idle", "Creating", "Restoring", "EniLimitExceeded", "InsufficientRolePermissions", "InvalidConfiguration", "InternalError", "SubnetOutOfIPAddresses", "InvalidSubnet", "InvalidSecurityGroup", "ImageDeleted", "ImageAccessDenied", "InvalidImage"
4384
+ # resp.versions[0].state_reason_code #=> String, one of "Idle", "Creating", "Restoring", "EniLimitExceeded", "InsufficientRolePermissions", "InvalidConfiguration", "InternalError", "SubnetOutOfIPAddresses", "InvalidSubnet", "InvalidSecurityGroup", "ImageDeleted", "ImageAccessDenied", "InvalidImage", "KMSKeyAccessDenied", "KMSKeyNotFound", "InvalidStateKMSKey", "DisabledKMSKey", "EFSIOError", "EFSMountConnectivityError", "EFSMountFailure", "EFSMountTimeout", "InvalidRuntime", "InvalidZipFileException", "FunctionError"
3542
4385
  # resp.versions[0].last_update_status #=> String, one of "Successful", "Failed", "InProgress"
3543
4386
  # resp.versions[0].last_update_status_reason #=> String
3544
- # resp.versions[0].last_update_status_reason_code #=> String, one of "EniLimitExceeded", "InsufficientRolePermissions", "InvalidConfiguration", "InternalError", "SubnetOutOfIPAddresses", "InvalidSubnet", "InvalidSecurityGroup", "ImageDeleted", "ImageAccessDenied", "InvalidImage"
4387
+ # resp.versions[0].last_update_status_reason_code #=> String, one of "EniLimitExceeded", "InsufficientRolePermissions", "InvalidConfiguration", "InternalError", "SubnetOutOfIPAddresses", "InvalidSubnet", "InvalidSecurityGroup", "ImageDeleted", "ImageAccessDenied", "InvalidImage", "KMSKeyAccessDenied", "KMSKeyNotFound", "InvalidStateKMSKey", "DisabledKMSKey", "EFSIOError", "EFSMountConnectivityError", "EFSMountFailure", "EFSMountTimeout", "InvalidRuntime", "InvalidZipFileException", "FunctionError"
3545
4388
  # resp.versions[0].file_system_configs #=> Array
3546
4389
  # resp.versions[0].file_system_configs[0].arn #=> String
3547
4390
  # resp.versions[0].file_system_configs[0].local_mount_path #=> String
@@ -3557,6 +4400,12 @@ module Aws::Lambda
3557
4400
  # resp.versions[0].signing_job_arn #=> String
3558
4401
  # resp.versions[0].architectures #=> Array
3559
4402
  # resp.versions[0].architectures[0] #=> String, one of "x86_64", "arm64"
4403
+ # resp.versions[0].ephemeral_storage.size #=> Integer
4404
+ # resp.versions[0].snap_start.apply_on #=> String, one of "PublishedVersions", "None"
4405
+ # resp.versions[0].snap_start.optimization_status #=> String, one of "On", "Off"
4406
+ # resp.versions[0].runtime_version_config.runtime_version_arn #=> String
4407
+ # resp.versions[0].runtime_version_config.error.error_code #=> String
4408
+ # resp.versions[0].runtime_version_config.error.message #=> String
3560
4409
  #
3561
4410
  # @see http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListVersionsByFunction AWS API Documentation
3562
4411
  #
@@ -3591,9 +4440,13 @@ module Aws::Lambda
3591
4440
  # A list of compatible [function runtimes][1]. Used for filtering with
3592
4441
  # ListLayers and ListLayerVersions.
3593
4442
  #
4443
+ # The following list includes deprecated runtimes. For more information,
4444
+ # see [Runtime deprecation policy][2].
4445
+ #
3594
4446
  #
3595
4447
  #
3596
4448
  # [1]: https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html
4449
+ # [2]: https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html#runtime-support-policy
3597
4450
  #
3598
4451
  # @option params [String] :license_info
3599
4452
  # The layer's software license. It can be any of the following:
@@ -3639,7 +4492,7 @@ module Aws::Lambda
3639
4492
  # s3_object_version: "S3ObjectVersion",
3640
4493
  # zip_file: "data",
3641
4494
  # },
3642
- # compatible_runtimes: ["nodejs"], # accepts nodejs, nodejs4.3, nodejs6.10, nodejs8.10, nodejs10.x, nodejs12.x, nodejs14.x, java8, java8.al2, java11, python2.7, python3.6, python3.7, python3.8, python3.9, dotnetcore1.0, dotnetcore2.0, dotnetcore2.1, dotnetcore3.1, nodejs4.3-edge, go1.x, ruby2.5, ruby2.7, provided, provided.al2
4495
+ # compatible_runtimes: ["nodejs"], # accepts nodejs, nodejs4.3, nodejs6.10, nodejs8.10, nodejs10.x, nodejs12.x, nodejs14.x, nodejs16.x, java8, java8.al2, java11, python2.7, python3.6, python3.7, python3.8, python3.9, dotnetcore1.0, dotnetcore2.0, dotnetcore2.1, dotnetcore3.1, dotnet6, nodejs4.3-edge, go1.x, ruby2.5, ruby2.7, provided, provided.al2, nodejs18.x, python3.10, java17, ruby3.2, python3.11, nodejs20.x
3643
4496
  # license_info: "LicenseInfo",
3644
4497
  # compatible_architectures: ["x86_64"], # accepts x86_64, arm64
3645
4498
  # })
@@ -3657,7 +4510,7 @@ module Aws::Lambda
3657
4510
  # resp.created_date #=> Time
3658
4511
  # resp.version #=> Integer
3659
4512
  # resp.compatible_runtimes #=> Array
3660
- # resp.compatible_runtimes[0] #=> String, one of "nodejs", "nodejs4.3", "nodejs6.10", "nodejs8.10", "nodejs10.x", "nodejs12.x", "nodejs14.x", "java8", "java8.al2", "java11", "python2.7", "python3.6", "python3.7", "python3.8", "python3.9", "dotnetcore1.0", "dotnetcore2.0", "dotnetcore2.1", "dotnetcore3.1", "nodejs4.3-edge", "go1.x", "ruby2.5", "ruby2.7", "provided", "provided.al2"
4513
+ # resp.compatible_runtimes[0] #=> String, one of "nodejs", "nodejs4.3", "nodejs6.10", "nodejs8.10", "nodejs10.x", "nodejs12.x", "nodejs14.x", "nodejs16.x", "java8", "java8.al2", "java11", "python2.7", "python3.6", "python3.7", "python3.8", "python3.9", "dotnetcore1.0", "dotnetcore2.0", "dotnetcore2.1", "dotnetcore3.1", "dotnet6", "nodejs4.3-edge", "go1.x", "ruby2.5", "ruby2.7", "provided", "provided.al2", "nodejs18.x", "python3.10", "java17", "ruby3.2", "python3.11", "nodejs20.x"
3661
4514
  # resp.license_info #=> String
3662
4515
  # resp.compatible_architectures #=> Array
3663
4516
  # resp.compatible_architectures[0] #=> String, one of "x86_64", "arm64"
@@ -3752,6 +4605,9 @@ module Aws::Lambda
3752
4605
  # * {Types::FunctionConfiguration#signing_profile_version_arn #signing_profile_version_arn} => String
3753
4606
  # * {Types::FunctionConfiguration#signing_job_arn #signing_job_arn} => String
3754
4607
  # * {Types::FunctionConfiguration#architectures #architectures} => Array&lt;String&gt;
4608
+ # * {Types::FunctionConfiguration#ephemeral_storage #ephemeral_storage} => Types::EphemeralStorage
4609
+ # * {Types::FunctionConfiguration#snap_start #snap_start} => Types::SnapStartResponse
4610
+ # * {Types::FunctionConfiguration#runtime_version_config #runtime_version_config} => Types::RuntimeVersionConfig
3755
4611
  #
3756
4612
  # @example Request syntax with placeholder values
3757
4613
  #
@@ -3766,7 +4622,7 @@ module Aws::Lambda
3766
4622
  #
3767
4623
  # resp.function_name #=> String
3768
4624
  # resp.function_arn #=> String
3769
- # resp.runtime #=> String, one of "nodejs", "nodejs4.3", "nodejs6.10", "nodejs8.10", "nodejs10.x", "nodejs12.x", "nodejs14.x", "java8", "java8.al2", "java11", "python2.7", "python3.6", "python3.7", "python3.8", "python3.9", "dotnetcore1.0", "dotnetcore2.0", "dotnetcore2.1", "dotnetcore3.1", "nodejs4.3-edge", "go1.x", "ruby2.5", "ruby2.7", "provided", "provided.al2"
4625
+ # resp.runtime #=> String, one of "nodejs", "nodejs4.3", "nodejs6.10", "nodejs8.10", "nodejs10.x", "nodejs12.x", "nodejs14.x", "nodejs16.x", "java8", "java8.al2", "java11", "python2.7", "python3.6", "python3.7", "python3.8", "python3.9", "dotnetcore1.0", "dotnetcore2.0", "dotnetcore2.1", "dotnetcore3.1", "dotnet6", "nodejs4.3-edge", "go1.x", "ruby2.5", "ruby2.7", "provided", "provided.al2", "nodejs18.x", "python3.10", "java17", "ruby3.2", "python3.11", "nodejs20.x"
3770
4626
  # resp.role #=> String
3771
4627
  # resp.handler #=> String
3772
4628
  # resp.code_size #=> Integer
@@ -3781,6 +4637,7 @@ module Aws::Lambda
3781
4637
  # resp.vpc_config.security_group_ids #=> Array
3782
4638
  # resp.vpc_config.security_group_ids[0] #=> String
3783
4639
  # resp.vpc_config.vpc_id #=> String
4640
+ # resp.vpc_config.ipv_6_allowed_for_dual_stack #=> Boolean
3784
4641
  # resp.dead_letter_config.target_arn #=> String
3785
4642
  # resp.environment.variables #=> Hash
3786
4643
  # resp.environment.variables["EnvironmentVariableName"] #=> String
@@ -3797,10 +4654,10 @@ module Aws::Lambda
3797
4654
  # resp.layers[0].signing_job_arn #=> String
3798
4655
  # resp.state #=> String, one of "Pending", "Active", "Inactive", "Failed"
3799
4656
  # resp.state_reason #=> String
3800
- # resp.state_reason_code #=> String, one of "Idle", "Creating", "Restoring", "EniLimitExceeded", "InsufficientRolePermissions", "InvalidConfiguration", "InternalError", "SubnetOutOfIPAddresses", "InvalidSubnet", "InvalidSecurityGroup", "ImageDeleted", "ImageAccessDenied", "InvalidImage"
4657
+ # resp.state_reason_code #=> String, one of "Idle", "Creating", "Restoring", "EniLimitExceeded", "InsufficientRolePermissions", "InvalidConfiguration", "InternalError", "SubnetOutOfIPAddresses", "InvalidSubnet", "InvalidSecurityGroup", "ImageDeleted", "ImageAccessDenied", "InvalidImage", "KMSKeyAccessDenied", "KMSKeyNotFound", "InvalidStateKMSKey", "DisabledKMSKey", "EFSIOError", "EFSMountConnectivityError", "EFSMountFailure", "EFSMountTimeout", "InvalidRuntime", "InvalidZipFileException", "FunctionError"
3801
4658
  # resp.last_update_status #=> String, one of "Successful", "Failed", "InProgress"
3802
4659
  # resp.last_update_status_reason #=> String
3803
- # resp.last_update_status_reason_code #=> String, one of "EniLimitExceeded", "InsufficientRolePermissions", "InvalidConfiguration", "InternalError", "SubnetOutOfIPAddresses", "InvalidSubnet", "InvalidSecurityGroup", "ImageDeleted", "ImageAccessDenied", "InvalidImage"
4660
+ # resp.last_update_status_reason_code #=> String, one of "EniLimitExceeded", "InsufficientRolePermissions", "InvalidConfiguration", "InternalError", "SubnetOutOfIPAddresses", "InvalidSubnet", "InvalidSecurityGroup", "ImageDeleted", "ImageAccessDenied", "InvalidImage", "KMSKeyAccessDenied", "KMSKeyNotFound", "InvalidStateKMSKey", "DisabledKMSKey", "EFSIOError", "EFSMountConnectivityError", "EFSMountFailure", "EFSMountTimeout", "InvalidRuntime", "InvalidZipFileException", "FunctionError"
3804
4661
  # resp.file_system_configs #=> Array
3805
4662
  # resp.file_system_configs[0].arn #=> String
3806
4663
  # resp.file_system_configs[0].local_mount_path #=> String
@@ -3816,6 +4673,12 @@ module Aws::Lambda
3816
4673
  # resp.signing_job_arn #=> String
3817
4674
  # resp.architectures #=> Array
3818
4675
  # resp.architectures[0] #=> String, one of "x86_64", "arm64"
4676
+ # resp.ephemeral_storage.size #=> Integer
4677
+ # resp.snap_start.apply_on #=> String, one of "PublishedVersions", "None"
4678
+ # resp.snap_start.optimization_status #=> String, one of "On", "Off"
4679
+ # resp.runtime_version_config.runtime_version_arn #=> String
4680
+ # resp.runtime_version_config.error.error_code #=> String
4681
+ # resp.runtime_version_config.error.message #=> String
3819
4682
  #
3820
4683
  # @see http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/PublishVersion AWS API Documentation
3821
4684
  #
@@ -3887,23 +4750,23 @@ module Aws::Lambda
3887
4750
  # reserve concurrency for as many functions as you like, as long as you
3888
4751
  # leave at least 100 simultaneous executions unreserved for functions
3889
4752
  # that aren't configured with a per-function limit. For more
3890
- # information, see [Managing Concurrency][1].
4753
+ # information, see [Lambda function scaling][1].
3891
4754
  #
3892
4755
  #
3893
4756
  #
3894
- # [1]: https://docs.aws.amazon.com/lambda/latest/dg/concurrent-executions.html
4757
+ # [1]: https://docs.aws.amazon.com/lambda/latest/dg/invocation-scaling.html
3895
4758
  #
3896
4759
  # @option params [required, String] :function_name
3897
4760
  # The name of the Lambda function.
3898
4761
  #
3899
4762
  # **Name formats**
3900
4763
  #
3901
- # * **Function name** - `my-function`.
4764
+ # * **Function name** `my-function`.
3902
4765
  #
3903
- # * **Function ARN** -
4766
+ # * **Function ARN**
3904
4767
  # `arn:aws:lambda:us-west-2:123456789012:function:my-function`.
3905
4768
  #
3906
- # * **Partial ARN** - `123456789012:function:my-function`.
4769
+ # * **Partial ARN** `123456789012:function:my-function`.
3907
4770
  #
3908
4771
  # The length constraint applies only to the full ARN. If you specify
3909
4772
  # only the function name, it is limited to 64 characters in length.
@@ -3996,9 +4859,9 @@ module Aws::Lambda
3996
4859
  #
3997
4860
  # * **Function** - The Amazon Resource Name (ARN) of a Lambda function.
3998
4861
  #
3999
- # * **Queue** - The ARN of an SQS queue.
4862
+ # * **Queue** - The ARN of a standard SQS queue.
4000
4863
  #
4001
- # * **Topic** - The ARN of an SNS topic.
4864
+ # * **Topic** - The ARN of a standard SNS topic.
4002
4865
  #
4003
4866
  # * **Event Bus** - The ARN of an Amazon EventBridge event bus.
4004
4867
  #
@@ -4053,12 +4916,12 @@ module Aws::Lambda
4053
4916
  #
4054
4917
  # **Name formats**
4055
4918
  #
4056
- # * **Function name** - `my-function`.
4919
+ # * **Function name** `my-function`.
4057
4920
  #
4058
- # * **Function ARN** -
4921
+ # * **Function ARN**
4059
4922
  # `arn:aws:lambda:us-west-2:123456789012:function:my-function`.
4060
4923
  #
4061
- # * **Partial ARN** - `123456789012:function:my-function`.
4924
+ # * **Partial ARN** `123456789012:function:my-function`.
4062
4925
  #
4063
4926
  # The length constraint applies only to the full ARN. If you specify
4064
4927
  # only the function name, it is limited to 64 characters in length.
@@ -4105,6 +4968,99 @@ module Aws::Lambda
4105
4968
  req.send_request(options)
4106
4969
  end
4107
4970
 
4971
+ # Sets the runtime management configuration for a function's version.
4972
+ # For more information, see [Runtime updates][1].
4973
+ #
4974
+ #
4975
+ #
4976
+ # [1]: https://docs.aws.amazon.com/lambda/latest/dg/runtimes-update.html
4977
+ #
4978
+ # @option params [required, String] :function_name
4979
+ # The name of the Lambda function.
4980
+ #
4981
+ # **Name formats**
4982
+ #
4983
+ # * **Function name** – `my-function`.
4984
+ #
4985
+ # * **Function ARN** –
4986
+ # `arn:aws:lambda:us-west-2:123456789012:function:my-function`.
4987
+ #
4988
+ # * **Partial ARN** – `123456789012:function:my-function`.
4989
+ #
4990
+ # The length constraint applies only to the full ARN. If you specify
4991
+ # only the function name, it is limited to 64 characters in length.
4992
+ #
4993
+ # @option params [String] :qualifier
4994
+ # Specify a version of the function. This can be `$LATEST` or a
4995
+ # published version number. If no value is specified, the configuration
4996
+ # for the `$LATEST` version is returned.
4997
+ #
4998
+ # @option params [required, String] :update_runtime_on
4999
+ # Specify the runtime update mode.
5000
+ #
5001
+ # * **Auto (default)** - Automatically update to the most recent and
5002
+ # secure runtime version using a [Two-phase runtime version
5003
+ # rollout][1]. This is the best choice for most customers to ensure
5004
+ # they always benefit from runtime updates.
5005
+ #
5006
+ # * **Function update** - Lambda updates the runtime of your function to
5007
+ # the most recent and secure runtime version when you update your
5008
+ # function. This approach synchronizes runtime updates with function
5009
+ # deployments, giving you control over when runtime updates are
5010
+ # applied and allowing you to detect and mitigate rare runtime update
5011
+ # incompatibilities early. When using this setting, you need to
5012
+ # regularly update your functions to keep their runtime up-to-date.
5013
+ #
5014
+ # * **Manual** - You specify a runtime version in your function
5015
+ # configuration. The function will use this runtime version
5016
+ # indefinitely. In the rare case where a new runtime version is
5017
+ # incompatible with an existing function, this allows you to roll back
5018
+ # your function to an earlier runtime version. For more information,
5019
+ # see [Roll back a runtime version][2].
5020
+ #
5021
+ #
5022
+ #
5023
+ # [1]: https://docs.aws.amazon.com/lambda/latest/dg/runtimes-update.html#runtime-management-two-phase
5024
+ # [2]: https://docs.aws.amazon.com/lambda/latest/dg/runtimes-update.html#runtime-management-rollback
5025
+ #
5026
+ # @option params [String] :runtime_version_arn
5027
+ # The ARN of the runtime version you want the function to use.
5028
+ #
5029
+ # <note markdown="1"> This is only required if you're using the **Manual** runtime update
5030
+ # mode.
5031
+ #
5032
+ # </note>
5033
+ #
5034
+ # @return [Types::PutRuntimeManagementConfigResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5035
+ #
5036
+ # * {Types::PutRuntimeManagementConfigResponse#update_runtime_on #update_runtime_on} => String
5037
+ # * {Types::PutRuntimeManagementConfigResponse#function_arn #function_arn} => String
5038
+ # * {Types::PutRuntimeManagementConfigResponse#runtime_version_arn #runtime_version_arn} => String
5039
+ #
5040
+ # @example Request syntax with placeholder values
5041
+ #
5042
+ # resp = client.put_runtime_management_config({
5043
+ # function_name: "FunctionName", # required
5044
+ # qualifier: "Qualifier",
5045
+ # update_runtime_on: "Auto", # required, accepts Auto, Manual, FunctionUpdate
5046
+ # runtime_version_arn: "RuntimeVersionArn",
5047
+ # })
5048
+ #
5049
+ # @example Response structure
5050
+ #
5051
+ # resp.update_runtime_on #=> String, one of "Auto", "Manual", "FunctionUpdate"
5052
+ # resp.function_arn #=> String
5053
+ # resp.runtime_version_arn #=> String
5054
+ #
5055
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/PutRuntimeManagementConfig AWS API Documentation
5056
+ #
5057
+ # @overload put_runtime_management_config(params = {})
5058
+ # @param [Hash] params ({})
5059
+ def put_runtime_management_config(params = {}, options = {})
5060
+ req = build_request(:put_runtime_management_config, params)
5061
+ req.send_request(options)
5062
+ end
5063
+
4108
5064
  # Removes a statement from the permissions policy for a version of an
4109
5065
  # [Lambda layer][1]. For more information, see
4110
5066
  # AddLayerVersionPermission.
@@ -4147,22 +5103,22 @@ module Aws::Lambda
4147
5103
  req.send_request(options)
4148
5104
  end
4149
5105
 
4150
- # Revokes function-use permission from an Amazon Web Services service or
4151
- # another account. You can get the ID of the statement from the output
4152
- # of GetPolicy.
5106
+ # Revokes function-use permission from an Amazon Web Service or another
5107
+ # Amazon Web Services account. You can get the ID of the statement from
5108
+ # the output of GetPolicy.
4153
5109
  #
4154
5110
  # @option params [required, String] :function_name
4155
5111
  # The name of the Lambda function, version, or alias.
4156
5112
  #
4157
5113
  # **Name formats**
4158
5114
  #
4159
- # * **Function name** - `my-function` (name-only), `my-function:v1`
5115
+ # * **Function name** `my-function` (name-only), `my-function:v1`
4160
5116
  # (with alias).
4161
5117
  #
4162
- # * **Function ARN** -
5118
+ # * **Function ARN**
4163
5119
  # `arn:aws:lambda:us-west-2:123456789012:function:my-function`.
4164
5120
  #
4165
- # * **Partial ARN** - `123456789012:function:my-function`.
5121
+ # * **Partial ARN** `123456789012:function:my-function`.
4166
5122
  #
4167
5123
  # You can append a version number or alias to any of the formats. The
4168
5124
  # length constraint applies only to the full ARN. If you specify only
@@ -4176,7 +5132,7 @@ module Aws::Lambda
4176
5132
  # version of the function.
4177
5133
  #
4178
5134
  # @option params [String] :revision_id
4179
- # Only update the policy if the revision ID matches the ID that's
5135
+ # Update the policy only if the revision ID matches the ID that's
4180
5136
  # specified. Use this option to avoid modifying a policy that has
4181
5137
  # changed since you last read it.
4182
5138
  #
@@ -4266,7 +5222,7 @@ module Aws::Lambda
4266
5222
  #
4267
5223
  #
4268
5224
  #
4269
- # [1]: https://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html
5225
+ # [1]: https://docs.aws.amazon.com/lambda/latest/dg/configuration-aliases.html
4270
5226
  #
4271
5227
  # @option params [required, String] :function_name
4272
5228
  # The name of the Lambda function.
@@ -4418,40 +5374,44 @@ module Aws::Lambda
4418
5374
  #
4419
5375
  # * [ Apache Kafka][6]
4420
5376
  #
4421
- # The following error handling options are only available for stream
5377
+ # * [ Amazon DocumentDB][7]
5378
+ #
5379
+ # The following error handling options are available only for stream
4422
5380
  # sources (DynamoDB and Kinesis):
4423
5381
  #
4424
- # * `BisectBatchOnFunctionError` - If the function returns an error,
5382
+ # * `BisectBatchOnFunctionError` If the function returns an error,
4425
5383
  # split the batch in two and retry.
4426
5384
  #
4427
- # * `DestinationConfig` - Send discarded records to an Amazon SQS queue
5385
+ # * `DestinationConfig` Send discarded records to an Amazon SQS queue
4428
5386
  # or Amazon SNS topic.
4429
5387
  #
4430
- # * `MaximumRecordAgeInSeconds` - Discard records older than the
5388
+ # * `MaximumRecordAgeInSeconds` Discard records older than the
4431
5389
  # specified age. The default value is infinite (-1). When set to
4432
5390
  # infinite (-1), failed records are retried until the record expires
4433
5391
  #
4434
- # * `MaximumRetryAttempts` - Discard records after the specified number
5392
+ # * `MaximumRetryAttempts` Discard records after the specified number
4435
5393
  # of retries. The default value is infinite (-1). When set to infinite
4436
5394
  # (-1), failed records are retried until the record expires.
4437
5395
  #
4438
- # * `ParallelizationFactor` - Process multiple batches from each shard
5396
+ # * `ParallelizationFactor` Process multiple batches from each shard
4439
5397
  # concurrently.
4440
5398
  #
4441
5399
  # For information about which configuration parameters apply to each
4442
5400
  # event source, see the following topics.
4443
5401
  #
4444
- # * [ Amazon DynamoDB Streams][7]
5402
+ # * [ Amazon DynamoDB Streams][8]
5403
+ #
5404
+ # * [ Amazon Kinesis][9]
4445
5405
  #
4446
- # * [ Amazon Kinesis][8]
5406
+ # * [ Amazon SQS][10]
4447
5407
  #
4448
- # * [ Amazon SQS][9]
5408
+ # * [ Amazon MQ and RabbitMQ][11]
4449
5409
  #
4450
- # * [ Amazon MQ and RabbitMQ][10]
5410
+ # * [ Amazon MSK][12]
4451
5411
  #
4452
- # * [ Amazon MSK][11]
5412
+ # * [ Apache Kafka][13]
4453
5413
  #
4454
- # * [ Apache Kafka][12]
5414
+ # * [ Amazon DocumentDB][14]
4455
5415
  #
4456
5416
  #
4457
5417
  #
@@ -4461,12 +5421,14 @@ module Aws::Lambda
4461
5421
  # [4]: https://docs.aws.amazon.com/lambda/latest/dg/with-mq.html#services-mq-eventsourcemapping
4462
5422
  # [5]: https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html
4463
5423
  # [6]: https://docs.aws.amazon.com/lambda/latest/dg/kafka-smaa.html
4464
- # [7]: https://docs.aws.amazon.com/lambda/latest/dg/with-ddb.html#services-ddb-params
4465
- # [8]: https://docs.aws.amazon.com/lambda/latest/dg/with-kinesis.html#services-kinesis-params
4466
- # [9]: https://docs.aws.amazon.com/lambda/latest/dg/with-sqs.html#services-sqs-params
4467
- # [10]: https://docs.aws.amazon.com/lambda/latest/dg/with-mq.html#services-mq-params
4468
- # [11]: https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html#services-msk-parms
4469
- # [12]: https://docs.aws.amazon.com/lambda/latest/dg/with-kafka.html#services-kafka-parms
5424
+ # [7]: https://docs.aws.amazon.com/lambda/latest/dg/with-documentdb.html
5425
+ # [8]: https://docs.aws.amazon.com/lambda/latest/dg/with-ddb.html#services-ddb-params
5426
+ # [9]: https://docs.aws.amazon.com/lambda/latest/dg/with-kinesis.html#services-kinesis-params
5427
+ # [10]: https://docs.aws.amazon.com/lambda/latest/dg/with-sqs.html#services-sqs-params
5428
+ # [11]: https://docs.aws.amazon.com/lambda/latest/dg/with-mq.html#services-mq-params
5429
+ # [12]: https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html#services-msk-parms
5430
+ # [13]: https://docs.aws.amazon.com/lambda/latest/dg/with-kafka.html#services-kafka-parms
5431
+ # [14]: https://docs.aws.amazon.com/lambda/latest/dg/with-documentdb.html#docdb-configuration
4470
5432
  #
4471
5433
  # @option params [required, String] :uuid
4472
5434
  # The identifier of the event source mapping.
@@ -4476,15 +5438,15 @@ module Aws::Lambda
4476
5438
  #
4477
5439
  # **Name formats**
4478
5440
  #
4479
- # * **Function name** - `MyFunction`.
5441
+ # * **Function name** `MyFunction`.
4480
5442
  #
4481
- # * **Function ARN** -
5443
+ # * **Function ARN**
4482
5444
  # `arn:aws:lambda:us-west-2:123456789012:function:MyFunction`.
4483
5445
  #
4484
- # * **Version or Alias ARN** -
5446
+ # * **Version or Alias ARN**
4485
5447
  # `arn:aws:lambda:us-west-2:123456789012:function:MyFunction:PROD`.
4486
5448
  #
4487
- # * **Partial ARN** - `123456789012:function:MyFunction`.
5449
+ # * **Partial ARN** `123456789012:function:MyFunction`.
4488
5450
  #
4489
5451
  # The length constraint applies only to the full ARN. If you specify
4490
5452
  # only the function name, it's limited to 64 characters in length.
@@ -4501,71 +5463,95 @@ module Aws::Lambda
4501
5463
  # the records in the batch to the function in a single call, up to the
4502
5464
  # payload limit for synchronous invocation (6 MB).
4503
5465
  #
4504
- # * **Amazon Kinesis** - Default 100. Max 10,000.
5466
+ # * **Amazon Kinesis** Default 100. Max 10,000.
4505
5467
  #
4506
- # * **Amazon DynamoDB Streams** - Default 100. Max 1,000.
5468
+ # * **Amazon DynamoDB Streams** Default 100. Max 10,000.
4507
5469
  #
4508
- # * **Amazon Simple Queue Service** - Default 10. For standard queues
5470
+ # * **Amazon Simple Queue Service** Default 10. For standard queues
4509
5471
  # the max is 10,000. For FIFO queues the max is 10.
4510
5472
  #
4511
- # * **Amazon Managed Streaming for Apache Kafka** - Default 100. Max
5473
+ # * **Amazon Managed Streaming for Apache Kafka** Default 100. Max
4512
5474
  # 10,000.
4513
5475
  #
4514
- # * **Self-Managed Apache Kafka** - Default 100. Max 10,000.
5476
+ # * **Self-managed Apache Kafka** Default 100. Max 10,000.
4515
5477
  #
4516
- # * **Amazon MQ (ActiveMQ and RabbitMQ)** - Default 100. Max 10,000.
5478
+ # * **Amazon MQ (ActiveMQ and RabbitMQ)** Default 100. Max 10,000.
5479
+ #
5480
+ # * **DocumentDB** – Default 100. Max 10,000.
4517
5481
  #
4518
5482
  # @option params [Types::FilterCriteria] :filter_criteria
4519
- # (Streams and Amazon SQS) An object that defines the filter criteria
4520
- # that determine whether Lambda should process an event. For more
4521
- # information, see [Lambda event filtering][1].
5483
+ # An object that defines the filter criteria that determine whether
5484
+ # Lambda should process an event. For more information, see [Lambda
5485
+ # event filtering][1].
4522
5486
  #
4523
5487
  #
4524
5488
  #
4525
5489
  # [1]: https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventfiltering.html
4526
5490
  #
4527
5491
  # @option params [Integer] :maximum_batching_window_in_seconds
4528
- # (Streams and Amazon SQS standard queues) The maximum amount of time,
4529
- # in seconds, that Lambda spends gathering records before invoking the
4530
- # function.
4531
- #
4532
- # Default: 0
4533
- #
4534
- # Related setting: When you set `BatchSize` to a value greater than 10,
4535
- # you must set `MaximumBatchingWindowInSeconds` to at least 1.
5492
+ # The maximum amount of time, in seconds, that Lambda spends gathering
5493
+ # records before invoking the function. You can configure
5494
+ # `MaximumBatchingWindowInSeconds` to any value from 0 seconds to 300
5495
+ # seconds in increments of seconds.
5496
+ #
5497
+ # For streams and Amazon SQS event sources, the default batching window
5498
+ # is 0 seconds. For Amazon MSK, Self-managed Apache Kafka, Amazon MQ,
5499
+ # and DocumentDB event sources, the default batching window is 500 ms.
5500
+ # Note that because you can only change `MaximumBatchingWindowInSeconds`
5501
+ # in increments of seconds, you cannot revert back to the 500 ms default
5502
+ # batching window after you have changed it. To restore the default
5503
+ # batching window, you must create a new event source mapping.
5504
+ #
5505
+ # Related setting: For streams and Amazon SQS event sources, when you
5506
+ # set `BatchSize` to a value greater than 10, you must set
5507
+ # `MaximumBatchingWindowInSeconds` to at least 1.
4536
5508
  #
4537
5509
  # @option params [Types::DestinationConfig] :destination_config
4538
- # (Streams only) An Amazon SQS queue or Amazon SNS topic destination for
4539
- # discarded records.
5510
+ # (Kinesis and DynamoDB Streams only) A standard Amazon SQS queue or
5511
+ # standard Amazon SNS topic destination for discarded records.
4540
5512
  #
4541
5513
  # @option params [Integer] :maximum_record_age_in_seconds
4542
- # (Streams only) Discard records older than the specified age. The
4543
- # default value is infinite (-1).
5514
+ # (Kinesis and DynamoDB Streams only) Discard records older than the
5515
+ # specified age. The default value is infinite (-1).
4544
5516
  #
4545
5517
  # @option params [Boolean] :bisect_batch_on_function_error
4546
- # (Streams only) If the function returns an error, split the batch in
4547
- # two and retry.
5518
+ # (Kinesis and DynamoDB Streams only) If the function returns an error,
5519
+ # split the batch in two and retry.
4548
5520
  #
4549
5521
  # @option params [Integer] :maximum_retry_attempts
4550
- # (Streams only) Discard records after the specified number of retries.
4551
- # The default value is infinite (-1). When set to infinite (-1), failed
4552
- # records will be retried until the record expires.
5522
+ # (Kinesis and DynamoDB Streams only) Discard records after the
5523
+ # specified number of retries. The default value is infinite (-1). When
5524
+ # set to infinite (-1), failed records are retried until the record
5525
+ # expires.
4553
5526
  #
4554
5527
  # @option params [Integer] :parallelization_factor
4555
- # (Streams only) The number of batches to process from each shard
4556
- # concurrently.
5528
+ # (Kinesis and DynamoDB Streams only) The number of batches to process
5529
+ # from each shard concurrently.
4557
5530
  #
4558
5531
  # @option params [Array<Types::SourceAccessConfiguration>] :source_access_configurations
4559
5532
  # An array of authentication protocols or VPC components required to
4560
5533
  # secure your event source.
4561
5534
  #
4562
5535
  # @option params [Integer] :tumbling_window_in_seconds
4563
- # (Streams only) The duration in seconds of a processing window. The
4564
- # range is between 1 second up to 900 seconds.
5536
+ # (Kinesis and DynamoDB Streams only) The duration in seconds of a
5537
+ # processing window for DynamoDB and Kinesis Streams event sources. A
5538
+ # value of 0 seconds indicates no tumbling window.
4565
5539
  #
4566
5540
  # @option params [Array<String>] :function_response_types
4567
- # (Streams and Amazon SQS) A list of current response type enums applied
4568
- # to the event source mapping.
5541
+ # (Kinesis, DynamoDB Streams, and Amazon SQS) A list of current response
5542
+ # type enums applied to the event source mapping.
5543
+ #
5544
+ # @option params [Types::ScalingConfig] :scaling_config
5545
+ # (Amazon SQS only) The scaling configuration for the event source. For
5546
+ # more information, see [Configuring maximum concurrency for Amazon SQS
5547
+ # event sources][1].
5548
+ #
5549
+ #
5550
+ #
5551
+ # [1]: https://docs.aws.amazon.com/lambda/latest/dg/with-sqs.html#events-sqs-max-concurrency
5552
+ #
5553
+ # @option params [Types::DocumentDBEventSourceConfig] :document_db_event_source_config
5554
+ # Specific configuration settings for a DocumentDB event source.
4569
5555
  #
4570
5556
  # @return [Types::EventSourceMappingConfiguration] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4571
5557
  #
@@ -4592,6 +5578,10 @@ module Aws::Lambda
4592
5578
  # * {Types::EventSourceMappingConfiguration#maximum_retry_attempts #maximum_retry_attempts} => Integer
4593
5579
  # * {Types::EventSourceMappingConfiguration#tumbling_window_in_seconds #tumbling_window_in_seconds} => Integer
4594
5580
  # * {Types::EventSourceMappingConfiguration#function_response_types #function_response_types} => Array&lt;String&gt;
5581
+ # * {Types::EventSourceMappingConfiguration#amazon_managed_kafka_event_source_config #amazon_managed_kafka_event_source_config} => Types::AmazonManagedKafkaEventSourceConfig
5582
+ # * {Types::EventSourceMappingConfiguration#self_managed_kafka_event_source_config #self_managed_kafka_event_source_config} => Types::SelfManagedKafkaEventSourceConfig
5583
+ # * {Types::EventSourceMappingConfiguration#scaling_config #scaling_config} => Types::ScalingConfig
5584
+ # * {Types::EventSourceMappingConfiguration#document_db_event_source_config #document_db_event_source_config} => Types::DocumentDBEventSourceConfig
4595
5585
  #
4596
5586
  # @example Request syntax with placeholder values
4597
5587
  #
@@ -4628,6 +5618,14 @@ module Aws::Lambda
4628
5618
  # ],
4629
5619
  # tumbling_window_in_seconds: 1,
4630
5620
  # function_response_types: ["ReportBatchItemFailures"], # accepts ReportBatchItemFailures
5621
+ # scaling_config: {
5622
+ # maximum_concurrency: 1,
5623
+ # },
5624
+ # document_db_event_source_config: {
5625
+ # database_name: "DatabaseName",
5626
+ # collection_name: "CollectionName",
5627
+ # full_document: "UpdateLookup", # accepts UpdateLookup, Default
5628
+ # },
4631
5629
  # })
4632
5630
  #
4633
5631
  # @example Response structure
@@ -4664,6 +5662,12 @@ module Aws::Lambda
4664
5662
  # resp.tumbling_window_in_seconds #=> Integer
4665
5663
  # resp.function_response_types #=> Array
4666
5664
  # resp.function_response_types[0] #=> String, one of "ReportBatchItemFailures"
5665
+ # resp.amazon_managed_kafka_event_source_config.consumer_group_id #=> String
5666
+ # resp.self_managed_kafka_event_source_config.consumer_group_id #=> String
5667
+ # resp.scaling_config.maximum_concurrency #=> Integer
5668
+ # resp.document_db_event_source_config.database_name #=> String
5669
+ # resp.document_db_event_source_config.collection_name #=> String
5670
+ # resp.document_db_event_source_config.full_document #=> String, one of "UpdateLookup", "Default"
4667
5671
  #
4668
5672
  # @see http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/UpdateEventSourceMapping AWS API Documentation
4669
5673
  #
@@ -4676,7 +5680,19 @@ module Aws::Lambda
4676
5680
 
4677
5681
  # Updates a Lambda function's code. If code signing is enabled for the
4678
5682
  # function, the code package must be signed by a trusted publisher. For
4679
- # more information, see [Configuring code signing][1].
5683
+ # more information, see [Configuring code signing for Lambda][1].
5684
+ #
5685
+ # If the function's package type is `Image`, then you must specify the
5686
+ # code package in `ImageUri` as the URI of a [container image][2] in the
5687
+ # Amazon ECR registry.
5688
+ #
5689
+ # If the function's package type is `Zip`, then you must specify the
5690
+ # deployment package as a [.zip file archive][3]. Enter the Amazon S3
5691
+ # bucket and key of the code .zip file location. You can also provide
5692
+ # the function code inline using the `ZipFile` field.
5693
+ #
5694
+ # The code in the deployment package must be compatible with the target
5695
+ # instruction set architecture of the function (`x86-64` or `arm64`).
4680
5696
  #
4681
5697
  # The function's code is locked when you publish a version. You can't
4682
5698
  # modify the code of a published version, only the unpublished version.
@@ -4689,42 +5705,47 @@ module Aws::Lambda
4689
5705
  #
4690
5706
  #
4691
5707
  #
4692
- # [1]: https://docs.aws.amazon.com/lambda/latest/dg/configuration-trustedcode.html
5708
+ # [1]: https://docs.aws.amazon.com/lambda/latest/dg/configuration-codesigning.html
5709
+ # [2]: https://docs.aws.amazon.com/lambda/latest/dg/lambda-images.html
5710
+ # [3]: https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-package.html#gettingstarted-package-zip
4693
5711
  #
4694
5712
  # @option params [required, String] :function_name
4695
5713
  # The name of the Lambda function.
4696
5714
  #
4697
5715
  # **Name formats**
4698
5716
  #
4699
- # * **Function name** - `my-function`.
5717
+ # * **Function name** `my-function`.
4700
5718
  #
4701
- # * **Function ARN** -
5719
+ # * **Function ARN**
4702
5720
  # `arn:aws:lambda:us-west-2:123456789012:function:my-function`.
4703
5721
  #
4704
- # * **Partial ARN** - `123456789012:function:my-function`.
5722
+ # * **Partial ARN** `123456789012:function:my-function`.
4705
5723
  #
4706
5724
  # The length constraint applies only to the full ARN. If you specify
4707
5725
  # only the function name, it is limited to 64 characters in length.
4708
5726
  #
4709
5727
  # @option params [String, StringIO, File] :zip_file
4710
5728
  # The base64-encoded contents of the deployment package. Amazon Web
4711
- # Services SDK and Amazon Web Services CLI clients handle the encoding
4712
- # for you.
5729
+ # Services SDK and CLI clients handle the encoding for you. Use only
5730
+ # with a function defined with a .zip file archive deployment package.
4713
5731
  #
4714
5732
  # @option params [String] :s3_bucket
4715
5733
  # An Amazon S3 bucket in the same Amazon Web Services Region as your
4716
5734
  # function. The bucket can be in a different Amazon Web Services
4717
- # account.
5735
+ # account. Use only with a function defined with a .zip file archive
5736
+ # deployment package.
4718
5737
  #
4719
5738
  # @option params [String] :s3_key
4720
- # The Amazon S3 key of the deployment package.
5739
+ # The Amazon S3 key of the deployment package. Use only with a function
5740
+ # defined with a .zip file archive deployment package.
4721
5741
  #
4722
5742
  # @option params [String] :s3_object_version
4723
5743
  # For versioned objects, the version of the deployment package object to
4724
5744
  # use.
4725
5745
  #
4726
5746
  # @option params [String] :image_uri
4727
- # URI of a container image in the Amazon ECR registry.
5747
+ # URI of a container image in the Amazon ECR registry. Do not use for a
5748
+ # function defined with a .zip file archive.
4728
5749
  #
4729
5750
  # @option params [Boolean] :publish
4730
5751
  # Set to true to publish a new version of the function after updating
@@ -4736,7 +5757,7 @@ module Aws::Lambda
4736
5757
  # without modifying the function code.
4737
5758
  #
4738
5759
  # @option params [String] :revision_id
4739
- # Only update the function if the revision ID matches the ID that's
5760
+ # Update the function only if the revision ID matches the ID that's
4740
5761
  # specified. Use this option to avoid modifying a function that has
4741
5762
  # changed since you last read it.
4742
5763
  #
@@ -4779,6 +5800,9 @@ module Aws::Lambda
4779
5800
  # * {Types::FunctionConfiguration#signing_profile_version_arn #signing_profile_version_arn} => String
4780
5801
  # * {Types::FunctionConfiguration#signing_job_arn #signing_job_arn} => String
4781
5802
  # * {Types::FunctionConfiguration#architectures #architectures} => Array&lt;String&gt;
5803
+ # * {Types::FunctionConfiguration#ephemeral_storage #ephemeral_storage} => Types::EphemeralStorage
5804
+ # * {Types::FunctionConfiguration#snap_start #snap_start} => Types::SnapStartResponse
5805
+ # * {Types::FunctionConfiguration#runtime_version_config #runtime_version_config} => Types::RuntimeVersionConfig
4782
5806
  #
4783
5807
  # @example Request syntax with placeholder values
4784
5808
  #
@@ -4799,7 +5823,7 @@ module Aws::Lambda
4799
5823
  #
4800
5824
  # resp.function_name #=> String
4801
5825
  # resp.function_arn #=> String
4802
- # resp.runtime #=> String, one of "nodejs", "nodejs4.3", "nodejs6.10", "nodejs8.10", "nodejs10.x", "nodejs12.x", "nodejs14.x", "java8", "java8.al2", "java11", "python2.7", "python3.6", "python3.7", "python3.8", "python3.9", "dotnetcore1.0", "dotnetcore2.0", "dotnetcore2.1", "dotnetcore3.1", "nodejs4.3-edge", "go1.x", "ruby2.5", "ruby2.7", "provided", "provided.al2"
5826
+ # resp.runtime #=> String, one of "nodejs", "nodejs4.3", "nodejs6.10", "nodejs8.10", "nodejs10.x", "nodejs12.x", "nodejs14.x", "nodejs16.x", "java8", "java8.al2", "java11", "python2.7", "python3.6", "python3.7", "python3.8", "python3.9", "dotnetcore1.0", "dotnetcore2.0", "dotnetcore2.1", "dotnetcore3.1", "dotnet6", "nodejs4.3-edge", "go1.x", "ruby2.5", "ruby2.7", "provided", "provided.al2", "nodejs18.x", "python3.10", "java17", "ruby3.2", "python3.11", "nodejs20.x"
4803
5827
  # resp.role #=> String
4804
5828
  # resp.handler #=> String
4805
5829
  # resp.code_size #=> Integer
@@ -4814,6 +5838,7 @@ module Aws::Lambda
4814
5838
  # resp.vpc_config.security_group_ids #=> Array
4815
5839
  # resp.vpc_config.security_group_ids[0] #=> String
4816
5840
  # resp.vpc_config.vpc_id #=> String
5841
+ # resp.vpc_config.ipv_6_allowed_for_dual_stack #=> Boolean
4817
5842
  # resp.dead_letter_config.target_arn #=> String
4818
5843
  # resp.environment.variables #=> Hash
4819
5844
  # resp.environment.variables["EnvironmentVariableName"] #=> String
@@ -4830,10 +5855,10 @@ module Aws::Lambda
4830
5855
  # resp.layers[0].signing_job_arn #=> String
4831
5856
  # resp.state #=> String, one of "Pending", "Active", "Inactive", "Failed"
4832
5857
  # resp.state_reason #=> String
4833
- # resp.state_reason_code #=> String, one of "Idle", "Creating", "Restoring", "EniLimitExceeded", "InsufficientRolePermissions", "InvalidConfiguration", "InternalError", "SubnetOutOfIPAddresses", "InvalidSubnet", "InvalidSecurityGroup", "ImageDeleted", "ImageAccessDenied", "InvalidImage"
5858
+ # resp.state_reason_code #=> String, one of "Idle", "Creating", "Restoring", "EniLimitExceeded", "InsufficientRolePermissions", "InvalidConfiguration", "InternalError", "SubnetOutOfIPAddresses", "InvalidSubnet", "InvalidSecurityGroup", "ImageDeleted", "ImageAccessDenied", "InvalidImage", "KMSKeyAccessDenied", "KMSKeyNotFound", "InvalidStateKMSKey", "DisabledKMSKey", "EFSIOError", "EFSMountConnectivityError", "EFSMountFailure", "EFSMountTimeout", "InvalidRuntime", "InvalidZipFileException", "FunctionError"
4834
5859
  # resp.last_update_status #=> String, one of "Successful", "Failed", "InProgress"
4835
5860
  # resp.last_update_status_reason #=> String
4836
- # resp.last_update_status_reason_code #=> String, one of "EniLimitExceeded", "InsufficientRolePermissions", "InvalidConfiguration", "InternalError", "SubnetOutOfIPAddresses", "InvalidSubnet", "InvalidSecurityGroup", "ImageDeleted", "ImageAccessDenied", "InvalidImage"
5861
+ # resp.last_update_status_reason_code #=> String, one of "EniLimitExceeded", "InsufficientRolePermissions", "InvalidConfiguration", "InternalError", "SubnetOutOfIPAddresses", "InvalidSubnet", "InvalidSecurityGroup", "ImageDeleted", "ImageAccessDenied", "InvalidImage", "KMSKeyAccessDenied", "KMSKeyNotFound", "InvalidStateKMSKey", "DisabledKMSKey", "EFSIOError", "EFSMountConnectivityError", "EFSMountFailure", "EFSMountTimeout", "InvalidRuntime", "InvalidZipFileException", "FunctionError"
4837
5862
  # resp.file_system_configs #=> Array
4838
5863
  # resp.file_system_configs[0].arn #=> String
4839
5864
  # resp.file_system_configs[0].local_mount_path #=> String
@@ -4849,6 +5874,12 @@ module Aws::Lambda
4849
5874
  # resp.signing_job_arn #=> String
4850
5875
  # resp.architectures #=> Array
4851
5876
  # resp.architectures[0] #=> String, one of "x86_64", "arm64"
5877
+ # resp.ephemeral_storage.size #=> Integer
5878
+ # resp.snap_start.apply_on #=> String, one of "PublishedVersions", "None"
5879
+ # resp.snap_start.optimization_status #=> String, one of "On", "Off"
5880
+ # resp.runtime_version_config.runtime_version_arn #=> String
5881
+ # resp.runtime_version_config.error.error_code #=> String
5882
+ # resp.runtime_version_config.error.message #=> String
4852
5883
  #
4853
5884
  # @see http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/UpdateFunctionCode AWS API Documentation
4854
5885
  #
@@ -4869,15 +5900,15 @@ module Aws::Lambda
4869
5900
  # `LastUpdateStatusReasonCode` fields in the response from
4870
5901
  # GetFunctionConfiguration indicate when the update is complete and the
4871
5902
  # function is processing events with the new configuration. For more
4872
- # information, see [Function States][1].
5903
+ # information, see [Lambda function states][1].
4873
5904
  #
4874
5905
  # These settings can vary between versions of a function and are locked
4875
5906
  # when you publish a version. You can't modify the configuration of a
4876
5907
  # published version, only the unpublished version.
4877
5908
  #
4878
5909
  # To configure function concurrency, use PutFunctionConcurrency. To
4879
- # grant invoke permissions to an account or Amazon Web Services service,
4880
- # use AddPermission.
5910
+ # grant invoke permissions to an Amazon Web Services account or Amazon
5911
+ # Web Service, use AddPermission.
4881
5912
  #
4882
5913
  #
4883
5914
  #
@@ -4888,12 +5919,12 @@ module Aws::Lambda
4888
5919
  #
4889
5920
  # **Name formats**
4890
5921
  #
4891
- # * **Function name** - `my-function`.
5922
+ # * **Function name** `my-function`.
4892
5923
  #
4893
- # * **Function ARN** -
5924
+ # * **Function ARN**
4894
5925
  # `arn:aws:lambda:us-west-2:123456789012:function:my-function`.
4895
5926
  #
4896
- # * **Partial ARN** - `123456789012:function:my-function`.
5927
+ # * **Partial ARN** `123456789012:function:my-function`.
4897
5928
  #
4898
5929
  # The length constraint applies only to the full ARN. If you specify
4899
5930
  # only the function name, it is limited to 64 characters in length.
@@ -4902,15 +5933,15 @@ module Aws::Lambda
4902
5933
  # The Amazon Resource Name (ARN) of the function's execution role.
4903
5934
  #
4904
5935
  # @option params [String] :handler
4905
- # The name of the method within your code that Lambda calls to execute
4906
- # your function. Handler is required if the deployment package is a .zip
4907
- # file archive. The format includes the file name. It can also include
5936
+ # The name of the method within your code that Lambda calls to run your
5937
+ # function. Handler is required if the deployment package is a .zip file
5938
+ # archive. The format includes the file name. It can also include
4908
5939
  # namespaces and other qualifiers, depending on the runtime. For more
4909
- # information, see [Programming Model][1].
5940
+ # information, see [Lambda programming model][1].
4910
5941
  #
4911
5942
  #
4912
5943
  #
4913
- # [1]: https://docs.aws.amazon.com/lambda/latest/dg/programming-model-v2.html
5944
+ # [1]: https://docs.aws.amazon.com/lambda/latest/dg/foundation-progmodel.html
4914
5945
  #
4915
5946
  # @option params [String] :description
4916
5947
  # A description of the function.
@@ -4918,8 +5949,8 @@ module Aws::Lambda
4918
5949
  # @option params [Integer] :timeout
4919
5950
  # The amount of time (in seconds) that Lambda allows a function to run
4920
5951
  # before stopping it. The default is 3 seconds. The maximum allowed
4921
- # value is 900 seconds. For additional information, see [Lambda
4922
- # execution environment][1].
5952
+ # value is 900 seconds. For more information, see [Lambda execution
5953
+ # environment][1].
4923
5954
  #
4924
5955
  #
4925
5956
  #
@@ -4932,14 +5963,14 @@ module Aws::Lambda
4932
5963
  #
4933
5964
  #
4934
5965
  #
4935
- # [1]: https://docs.aws.amazon.com/lambda/latest/dg/configuration-memory.html
5966
+ # [1]: https://docs.aws.amazon.com/lambda/latest/dg/configuration-function-common.html#configuration-memory-console
4936
5967
  #
4937
5968
  # @option params [Types::VpcConfig] :vpc_config
4938
5969
  # For network connectivity to Amazon Web Services resources in a VPC,
4939
5970
  # specify a list of security groups and subnets in the VPC. When you
4940
- # connect a function to a VPC, it can only access resources and the
4941
- # internet through that VPC. For more information, see [VPC
4942
- # Settings][1].
5971
+ # connect a function to a VPC, it can access resources and the internet
5972
+ # only through that VPC. For more information, see [Configuring a Lambda
5973
+ # function to access resources in a VPC][1].
4943
5974
  #
4944
5975
  #
4945
5976
  #
@@ -4953,23 +5984,38 @@ module Aws::Lambda
4953
5984
  # The identifier of the function's [runtime][1]. Runtime is required if
4954
5985
  # the deployment package is a .zip file archive.
4955
5986
  #
5987
+ # The following list includes deprecated runtimes. For more information,
5988
+ # see [Runtime deprecation policy][2].
5989
+ #
4956
5990
  #
4957
5991
  #
4958
5992
  # [1]: https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html
5993
+ # [2]: https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html#runtime-support-policy
4959
5994
  #
4960
5995
  # @option params [Types::DeadLetterConfig] :dead_letter_config
4961
- # A dead letter queue configuration that specifies the queue or topic
5996
+ # A dead-letter queue configuration that specifies the queue or topic
4962
5997
  # where Lambda sends asynchronous events when they fail processing. For
4963
- # more information, see [Dead Letter Queues][1].
5998
+ # more information, see [Dead-letter queues][1].
4964
5999
  #
4965
6000
  #
4966
6001
  #
4967
- # [1]: https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#dlq
6002
+ # [1]: https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#invocation-dlq
4968
6003
  #
4969
6004
  # @option params [String] :kms_key_arn
4970
- # The ARN of the Amazon Web Services Key Management Service (KMS) key
4971
- # that's used to encrypt your function's environment variables. If
4972
- # it's not provided, Lambda uses a default service key.
6005
+ # The ARN of the Key Management Service (KMS) customer managed key
6006
+ # that's used to encrypt your function's [environment variables][1].
6007
+ # When [Lambda SnapStart][2] is activated, Lambda also uses this key is
6008
+ # to encrypt your function's snapshot. If you deploy your function
6009
+ # using a container image, Lambda also uses this key to encrypt your
6010
+ # function when it's deployed. Note that this is not the same key
6011
+ # that's used to protect your container image in the Amazon Elastic
6012
+ # Container Registry (Amazon ECR). If you don't provide a customer
6013
+ # managed key, Lambda uses a default service key.
6014
+ #
6015
+ #
6016
+ #
6017
+ # [1]: https://docs.aws.amazon.com/lambda/latest/dg/configuration-envvars.html#configuration-envvars-encryption
6018
+ # [2]: https://docs.aws.amazon.com/lambda/latest/dg/snapstart-security.html
4973
6019
  #
4974
6020
  # @option params [Types::TracingConfig] :tracing_config
4975
6021
  # Set `Mode` to `Active` to sample and trace a subset of incoming
@@ -4980,7 +6026,7 @@ module Aws::Lambda
4980
6026
  # [1]: https://docs.aws.amazon.com/lambda/latest/dg/services-xray.html
4981
6027
  #
4982
6028
  # @option params [String] :revision_id
4983
- # Only update the function if the revision ID matches the ID that's
6029
+ # Update the function only if the revision ID matches the ID that's
4984
6030
  # specified. Use this option to avoid modifying a function that has
4985
6031
  # changed since you last read it.
4986
6032
  #
@@ -5003,6 +6049,22 @@ module Aws::Lambda
5003
6049
  #
5004
6050
  # [1]: https://docs.aws.amazon.com/lambda/latest/dg/images-parms.html
5005
6051
  #
6052
+ # @option params [Types::EphemeralStorage] :ephemeral_storage
6053
+ # The size of the function's `/tmp` directory in MB. The default value
6054
+ # is 512, but can be any whole number between 512 and 10,240 MB. For
6055
+ # more information, see [Configuring ephemeral storage (console)][1].
6056
+ #
6057
+ #
6058
+ #
6059
+ # [1]: https://docs.aws.amazon.com/lambda/latest/dg/configuration-function-common.html#configuration-ephemeral-storage
6060
+ #
6061
+ # @option params [Types::SnapStart] :snap_start
6062
+ # The function's [SnapStart][1] setting.
6063
+ #
6064
+ #
6065
+ #
6066
+ # [1]: https://docs.aws.amazon.com/lambda/latest/dg/snapstart.html
6067
+ #
5006
6068
  # @return [Types::FunctionConfiguration] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5007
6069
  #
5008
6070
  # * {Types::FunctionConfiguration#function_name #function_name} => String
@@ -5037,6 +6099,9 @@ module Aws::Lambda
5037
6099
  # * {Types::FunctionConfiguration#signing_profile_version_arn #signing_profile_version_arn} => String
5038
6100
  # * {Types::FunctionConfiguration#signing_job_arn #signing_job_arn} => String
5039
6101
  # * {Types::FunctionConfiguration#architectures #architectures} => Array&lt;String&gt;
6102
+ # * {Types::FunctionConfiguration#ephemeral_storage #ephemeral_storage} => Types::EphemeralStorage
6103
+ # * {Types::FunctionConfiguration#snap_start #snap_start} => Types::SnapStartResponse
6104
+ # * {Types::FunctionConfiguration#runtime_version_config #runtime_version_config} => Types::RuntimeVersionConfig
5040
6105
  #
5041
6106
  # @example Request syntax with placeholder values
5042
6107
  #
@@ -5050,13 +6115,14 @@ module Aws::Lambda
5050
6115
  # vpc_config: {
5051
6116
  # subnet_ids: ["SubnetId"],
5052
6117
  # security_group_ids: ["SecurityGroupId"],
6118
+ # ipv_6_allowed_for_dual_stack: false,
5053
6119
  # },
5054
6120
  # environment: {
5055
6121
  # variables: {
5056
6122
  # "EnvironmentVariableName" => "EnvironmentVariableValue",
5057
6123
  # },
5058
6124
  # },
5059
- # runtime: "nodejs", # accepts nodejs, nodejs4.3, nodejs6.10, nodejs8.10, nodejs10.x, nodejs12.x, nodejs14.x, java8, java8.al2, java11, python2.7, python3.6, python3.7, python3.8, python3.9, dotnetcore1.0, dotnetcore2.0, dotnetcore2.1, dotnetcore3.1, nodejs4.3-edge, go1.x, ruby2.5, ruby2.7, provided, provided.al2
6125
+ # runtime: "nodejs", # accepts nodejs, nodejs4.3, nodejs6.10, nodejs8.10, nodejs10.x, nodejs12.x, nodejs14.x, nodejs16.x, java8, java8.al2, java11, python2.7, python3.6, python3.7, python3.8, python3.9, dotnetcore1.0, dotnetcore2.0, dotnetcore2.1, dotnetcore3.1, dotnet6, nodejs4.3-edge, go1.x, ruby2.5, ruby2.7, provided, provided.al2, nodejs18.x, python3.10, java17, ruby3.2, python3.11, nodejs20.x
5060
6126
  # dead_letter_config: {
5061
6127
  # target_arn: "ResourceArn",
5062
6128
  # },
@@ -5077,13 +6143,19 @@ module Aws::Lambda
5077
6143
  # command: ["String"],
5078
6144
  # working_directory: "WorkingDirectory",
5079
6145
  # },
6146
+ # ephemeral_storage: {
6147
+ # size: 1, # required
6148
+ # },
6149
+ # snap_start: {
6150
+ # apply_on: "PublishedVersions", # accepts PublishedVersions, None
6151
+ # },
5080
6152
  # })
5081
6153
  #
5082
6154
  # @example Response structure
5083
6155
  #
5084
6156
  # resp.function_name #=> String
5085
6157
  # resp.function_arn #=> String
5086
- # resp.runtime #=> String, one of "nodejs", "nodejs4.3", "nodejs6.10", "nodejs8.10", "nodejs10.x", "nodejs12.x", "nodejs14.x", "java8", "java8.al2", "java11", "python2.7", "python3.6", "python3.7", "python3.8", "python3.9", "dotnetcore1.0", "dotnetcore2.0", "dotnetcore2.1", "dotnetcore3.1", "nodejs4.3-edge", "go1.x", "ruby2.5", "ruby2.7", "provided", "provided.al2"
6158
+ # resp.runtime #=> String, one of "nodejs", "nodejs4.3", "nodejs6.10", "nodejs8.10", "nodejs10.x", "nodejs12.x", "nodejs14.x", "nodejs16.x", "java8", "java8.al2", "java11", "python2.7", "python3.6", "python3.7", "python3.8", "python3.9", "dotnetcore1.0", "dotnetcore2.0", "dotnetcore2.1", "dotnetcore3.1", "dotnet6", "nodejs4.3-edge", "go1.x", "ruby2.5", "ruby2.7", "provided", "provided.al2", "nodejs18.x", "python3.10", "java17", "ruby3.2", "python3.11", "nodejs20.x"
5087
6159
  # resp.role #=> String
5088
6160
  # resp.handler #=> String
5089
6161
  # resp.code_size #=> Integer
@@ -5098,6 +6170,7 @@ module Aws::Lambda
5098
6170
  # resp.vpc_config.security_group_ids #=> Array
5099
6171
  # resp.vpc_config.security_group_ids[0] #=> String
5100
6172
  # resp.vpc_config.vpc_id #=> String
6173
+ # resp.vpc_config.ipv_6_allowed_for_dual_stack #=> Boolean
5101
6174
  # resp.dead_letter_config.target_arn #=> String
5102
6175
  # resp.environment.variables #=> Hash
5103
6176
  # resp.environment.variables["EnvironmentVariableName"] #=> String
@@ -5114,10 +6187,10 @@ module Aws::Lambda
5114
6187
  # resp.layers[0].signing_job_arn #=> String
5115
6188
  # resp.state #=> String, one of "Pending", "Active", "Inactive", "Failed"
5116
6189
  # resp.state_reason #=> String
5117
- # resp.state_reason_code #=> String, one of "Idle", "Creating", "Restoring", "EniLimitExceeded", "InsufficientRolePermissions", "InvalidConfiguration", "InternalError", "SubnetOutOfIPAddresses", "InvalidSubnet", "InvalidSecurityGroup", "ImageDeleted", "ImageAccessDenied", "InvalidImage"
6190
+ # resp.state_reason_code #=> String, one of "Idle", "Creating", "Restoring", "EniLimitExceeded", "InsufficientRolePermissions", "InvalidConfiguration", "InternalError", "SubnetOutOfIPAddresses", "InvalidSubnet", "InvalidSecurityGroup", "ImageDeleted", "ImageAccessDenied", "InvalidImage", "KMSKeyAccessDenied", "KMSKeyNotFound", "InvalidStateKMSKey", "DisabledKMSKey", "EFSIOError", "EFSMountConnectivityError", "EFSMountFailure", "EFSMountTimeout", "InvalidRuntime", "InvalidZipFileException", "FunctionError"
5118
6191
  # resp.last_update_status #=> String, one of "Successful", "Failed", "InProgress"
5119
6192
  # resp.last_update_status_reason #=> String
5120
- # resp.last_update_status_reason_code #=> String, one of "EniLimitExceeded", "InsufficientRolePermissions", "InvalidConfiguration", "InternalError", "SubnetOutOfIPAddresses", "InvalidSubnet", "InvalidSecurityGroup", "ImageDeleted", "ImageAccessDenied", "InvalidImage"
6193
+ # resp.last_update_status_reason_code #=> String, one of "EniLimitExceeded", "InsufficientRolePermissions", "InvalidConfiguration", "InternalError", "SubnetOutOfIPAddresses", "InvalidSubnet", "InvalidSecurityGroup", "ImageDeleted", "ImageAccessDenied", "InvalidImage", "KMSKeyAccessDenied", "KMSKeyNotFound", "InvalidStateKMSKey", "DisabledKMSKey", "EFSIOError", "EFSMountConnectivityError", "EFSMountFailure", "EFSMountTimeout", "InvalidRuntime", "InvalidZipFileException", "FunctionError"
5121
6194
  # resp.file_system_configs #=> Array
5122
6195
  # resp.file_system_configs[0].arn #=> String
5123
6196
  # resp.file_system_configs[0].local_mount_path #=> String
@@ -5133,6 +6206,12 @@ module Aws::Lambda
5133
6206
  # resp.signing_job_arn #=> String
5134
6207
  # resp.architectures #=> Array
5135
6208
  # resp.architectures[0] #=> String, one of "x86_64", "arm64"
6209
+ # resp.ephemeral_storage.size #=> Integer
6210
+ # resp.snap_start.apply_on #=> String, one of "PublishedVersions", "None"
6211
+ # resp.snap_start.optimization_status #=> String, one of "On", "Off"
6212
+ # resp.runtime_version_config.runtime_version_arn #=> String
6213
+ # resp.runtime_version_config.error.error_code #=> String
6214
+ # resp.runtime_version_config.error.message #=> String
5136
6215
  #
5137
6216
  # @see http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/UpdateFunctionConfiguration AWS API Documentation
5138
6217
  #
@@ -5185,9 +6264,9 @@ module Aws::Lambda
5185
6264
  #
5186
6265
  # * **Function** - The Amazon Resource Name (ARN) of a Lambda function.
5187
6266
  #
5188
- # * **Queue** - The ARN of an SQS queue.
6267
+ # * **Queue** - The ARN of a standard SQS queue.
5189
6268
  #
5190
- # * **Topic** - The ARN of an SNS topic.
6269
+ # * **Topic** - The ARN of a standard SNS topic.
5191
6270
  #
5192
6271
  # * **Event Bus** - The ARN of an Amazon EventBridge event bus.
5193
6272
  #
@@ -5234,6 +6313,118 @@ module Aws::Lambda
5234
6313
  req.send_request(options)
5235
6314
  end
5236
6315
 
6316
+ # Updates the configuration for a Lambda function URL.
6317
+ #
6318
+ # @option params [required, String] :function_name
6319
+ # The name of the Lambda function.
6320
+ #
6321
+ # **Name formats**
6322
+ #
6323
+ # * **Function name** – `my-function`.
6324
+ #
6325
+ # * **Function ARN** –
6326
+ # `arn:aws:lambda:us-west-2:123456789012:function:my-function`.
6327
+ #
6328
+ # * **Partial ARN** – `123456789012:function:my-function`.
6329
+ #
6330
+ # The length constraint applies only to the full ARN. If you specify
6331
+ # only the function name, it is limited to 64 characters in length.
6332
+ #
6333
+ # @option params [String] :qualifier
6334
+ # The alias name.
6335
+ #
6336
+ # @option params [String] :auth_type
6337
+ # The type of authentication that your function URL uses. Set to
6338
+ # `AWS_IAM` if you want to restrict access to authenticated users only.
6339
+ # Set to `NONE` if you want to bypass IAM authentication to create a
6340
+ # public endpoint. For more information, see [Security and auth model
6341
+ # for Lambda function URLs][1].
6342
+ #
6343
+ #
6344
+ #
6345
+ # [1]: https://docs.aws.amazon.com/lambda/latest/dg/urls-auth.html
6346
+ #
6347
+ # @option params [Types::Cors] :cors
6348
+ # The [cross-origin resource sharing (CORS)][1] settings for your
6349
+ # function URL.
6350
+ #
6351
+ #
6352
+ #
6353
+ # [1]: https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS
6354
+ #
6355
+ # @option params [String] :invoke_mode
6356
+ # Use one of the following options:
6357
+ #
6358
+ # * `BUFFERED` – This is the default option. Lambda invokes your
6359
+ # function using the `Invoke` API operation. Invocation results are
6360
+ # available when the payload is complete. The maximum payload size is
6361
+ # 6 MB.
6362
+ #
6363
+ # * `RESPONSE_STREAM` – Your function streams payload results as they
6364
+ # become available. Lambda invokes your function using the
6365
+ # `InvokeWithResponseStream` API operation. The maximum response
6366
+ # payload size is 20 MB, however, you can [request a quota
6367
+ # increase][1].
6368
+ #
6369
+ #
6370
+ #
6371
+ # [1]: https://docs.aws.amazon.com/servicequotas/latest/userguide/request-quota-increase.html
6372
+ #
6373
+ # @return [Types::UpdateFunctionUrlConfigResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
6374
+ #
6375
+ # * {Types::UpdateFunctionUrlConfigResponse#function_url #function_url} => String
6376
+ # * {Types::UpdateFunctionUrlConfigResponse#function_arn #function_arn} => String
6377
+ # * {Types::UpdateFunctionUrlConfigResponse#auth_type #auth_type} => String
6378
+ # * {Types::UpdateFunctionUrlConfigResponse#cors #cors} => Types::Cors
6379
+ # * {Types::UpdateFunctionUrlConfigResponse#creation_time #creation_time} => Time
6380
+ # * {Types::UpdateFunctionUrlConfigResponse#last_modified_time #last_modified_time} => Time
6381
+ # * {Types::UpdateFunctionUrlConfigResponse#invoke_mode #invoke_mode} => String
6382
+ #
6383
+ # @example Request syntax with placeholder values
6384
+ #
6385
+ # resp = client.update_function_url_config({
6386
+ # function_name: "FunctionName", # required
6387
+ # qualifier: "FunctionUrlQualifier",
6388
+ # auth_type: "NONE", # accepts NONE, AWS_IAM
6389
+ # cors: {
6390
+ # allow_credentials: false,
6391
+ # allow_headers: ["Header"],
6392
+ # allow_methods: ["Method"],
6393
+ # allow_origins: ["Origin"],
6394
+ # expose_headers: ["Header"],
6395
+ # max_age: 1,
6396
+ # },
6397
+ # invoke_mode: "BUFFERED", # accepts BUFFERED, RESPONSE_STREAM
6398
+ # })
6399
+ #
6400
+ # @example Response structure
6401
+ #
6402
+ # resp.function_url #=> String
6403
+ # resp.function_arn #=> String
6404
+ # resp.auth_type #=> String, one of "NONE", "AWS_IAM"
6405
+ # resp.cors.allow_credentials #=> Boolean
6406
+ # resp.cors.allow_headers #=> Array
6407
+ # resp.cors.allow_headers[0] #=> String
6408
+ # resp.cors.allow_methods #=> Array
6409
+ # resp.cors.allow_methods[0] #=> String
6410
+ # resp.cors.allow_origins #=> Array
6411
+ # resp.cors.allow_origins[0] #=> String
6412
+ # resp.cors.expose_headers #=> Array
6413
+ # resp.cors.expose_headers[0] #=> String
6414
+ # resp.cors.max_age #=> Integer
6415
+ # resp.creation_time #=> Time
6416
+ # resp.last_modified_time #=> Time
6417
+ # resp.invoke_mode #=> String, one of "BUFFERED", "RESPONSE_STREAM"
6418
+ #
6419
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/UpdateFunctionUrlConfig AWS API Documentation
6420
+ #
6421
+ # @overload update_function_url_config(params = {})
6422
+ # @param [Hash] params ({})
6423
+ def update_function_url_config(params = {}, options = {})
6424
+ req = build_request(:update_function_url_config, params)
6425
+ req.send_request(options)
6426
+ end
6427
+
5237
6428
  # @!endgroup
5238
6429
 
5239
6430
  # @param params ({})
@@ -5247,7 +6438,7 @@ module Aws::Lambda
5247
6438
  params: params,
5248
6439
  config: config)
5249
6440
  context[:gem_name] = 'aws-sdk-lambda'
5250
- context[:gem_version] = '1.76.0'
6441
+ context[:gem_version] = '1.107.0'
5251
6442
  Seahorse::Client::Request.new(handlers, context)
5252
6443
  end
5253
6444
 
@@ -5313,11 +6504,14 @@ module Aws::Lambda
5313
6504
  # The following table lists the valid waiter names, the operations they call,
5314
6505
  # and the default `:delay` and `:max_attempts` values.
5315
6506
  #
5316
- # | waiter_name | params | :delay | :max_attempts |
5317
- # | ---------------- | ----------------------------------- | -------- | ------------- |
5318
- # | function_active | {Client#get_function_configuration} | 5 | 60 |
5319
- # | function_exists | {Client#get_function} | 1 | 20 |
5320
- # | function_updated | {Client#get_function_configuration} | 5 | 60 |
6507
+ # | waiter_name | params | :delay | :max_attempts |
6508
+ # | ------------------------ | ----------------------------------- | -------- | ------------- |
6509
+ # | function_active | {Client#get_function_configuration} | 5 | 60 |
6510
+ # | function_active_v2 | {Client#get_function} | 1 | 300 |
6511
+ # | function_exists | {Client#get_function} | 1 | 20 |
6512
+ # | function_updated | {Client#get_function_configuration} | 5 | 60 |
6513
+ # | function_updated_v2 | {Client#get_function} | 1 | 300 |
6514
+ # | published_version_active | {Client#get_function_configuration} | 5 | 312 |
5321
6515
  #
5322
6516
  # @raise [Errors::FailureStateError] Raised when the waiter terminates
5323
6517
  # because the waiter has entered a state that it will not transition
@@ -5369,8 +6563,11 @@ module Aws::Lambda
5369
6563
  def waiters
5370
6564
  {
5371
6565
  function_active: Waiters::FunctionActive,
6566
+ function_active_v2: Waiters::FunctionActiveV2,
5372
6567
  function_exists: Waiters::FunctionExists,
5373
- function_updated: Waiters::FunctionUpdated
6568
+ function_updated: Waiters::FunctionUpdated,
6569
+ function_updated_v2: Waiters::FunctionUpdatedV2,
6570
+ published_version_active: Waiters::PublishedVersionActive
5374
6571
  }
5375
6572
  end
5376
6573