aws-sdk-lambda 1.76.0 → 1.107.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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