aws-sdk-lambda 1.32.0 → 1.33.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 11be2342d82ab811b9aee86c333200463f1dd871
4
- data.tar.gz: 856700bf96cc84f4f6ead68e2424317ae2ab0397
3
+ metadata.gz: 30fe1e36477380eb1a51aa7a1ad12eeeb376a166
4
+ data.tar.gz: 7373572c48af126f560148e06892c48f2fe353aa
5
5
  SHA512:
6
- metadata.gz: cacd70750bf920553734551fec81420241257a32615ca565fc636be414e5ea392d48a09641501145026bd2ae6a68ace047dcc8b8e9fb5ec217fbae95c8e5be9c
7
- data.tar.gz: d8f6aaa97d55e6c925022a3e78a2eb9baa17a4885108fbaa3aa3b13db155389289cd6bfb0157aebe107ee4a718e6406546c6548b2e45c884892c115fced65dae
6
+ metadata.gz: 9144ae1fb1812f6fa540c2e67b2006c75c66c4d528eae92956632172ebebb7179be128b05a2490c8764ad6e55184d5c0b319610677159e45a10c397a29830dfb
7
+ data.tar.gz: 6b58b9d2ea5d8fb225549a2e2336bb59aadfbb851c868b8c151778ed04313a3b16df44b6bdbeb80546fbbe24d338d9321e1b8cbfbead93f599037ba8655f9994
@@ -43,6 +43,6 @@ require_relative 'aws-sdk-lambda/customizations'
43
43
  # @service
44
44
  module Aws::Lambda
45
45
 
46
- GEM_VERSION = '1.32.0'
46
+ GEM_VERSION = '1.33.0'
47
47
 
48
48
  end
@@ -338,8 +338,8 @@ module Aws::Lambda
338
338
  # without specifying the source, other accounts could potentially
339
339
  # configure resources in their account to invoke your Lambda function.
340
340
  #
341
- # This action adds a statement to a resource-based permission policy for
342
- # the function. For more information about function policies, see
341
+ # This action adds a statement to a resource-based permissions policy
342
+ # for the function. For more information about function policies, see
343
343
  # [Lambda Function Policies][1].
344
344
  #
345
345
  #
@@ -541,17 +541,32 @@ module Aws::Lambda
541
541
  #
542
542
  # For details about each event source type, see the following topics.
543
543
  #
544
- # * [Using AWS Lambda with Amazon Kinesis][1]
544
+ # * [Using AWS Lambda with Amazon DynamoDB][1]
545
545
  #
546
- # * [Using AWS Lambda with Amazon SQS][2]
546
+ # * [Using AWS Lambda with Amazon Kinesis][2]
547
547
  #
548
- # * [Using AWS Lambda with Amazon DynamoDB][3]
548
+ # * [Using AWS Lambda with Amazon SQS][3]
549
549
  #
550
+ # The following error handling options are only available for stream
551
+ # sources (DynamoDB and Kinesis):
550
552
  #
553
+ # * `BisectBatchOnFunctionError` - If the function returns an error,
554
+ # split the batch in two and retry.
551
555
  #
552
- # [1]: https://docs.aws.amazon.com/lambda/latest/dg/with-kinesis.html
553
- # [2]: https://docs.aws.amazon.com/lambda/latest/dg/with-sqs.html
554
- # [3]: https://docs.aws.amazon.com/lambda/latest/dg/with-ddb.html
556
+ # * `DestinationConfig` - Send discarded records to an Amazon SQS queue
557
+ # or Amazon SNS topic.
558
+ #
559
+ # * `MaximumRecordAgeInSeconds` - Discard records older than the
560
+ # specified age.
561
+ #
562
+ # * `MaximumRetryAttempts` - Discard records after the specified number
563
+ # of retries.
564
+ #
565
+ #
566
+ #
567
+ # [1]: https://docs.aws.amazon.com/lambda/latest/dg/with-ddb.html
568
+ # [2]: https://docs.aws.amazon.com/lambda/latest/dg/with-kinesis.html
569
+ # [3]: https://docs.aws.amazon.com/lambda/latest/dg/with-sqs.html
555
570
  #
556
571
  # @option params [required, String] :event_source_arn
557
572
  # The Amazon Resource Name (ARN) of the event source.
@@ -594,6 +609,12 @@ module Aws::Lambda
594
609
  # * **Amazon Simple Queue Service** - Default 10. Max 10.
595
610
  #
596
611
  # @option params [Integer] :maximum_batching_window_in_seconds
612
+ # The maximum amount of time to gather records before invoking the
613
+ # function, in seconds.
614
+ #
615
+ # @option params [Integer] :parallelization_factor
616
+ # (Streams) The number of batches to process from each shard
617
+ # concurrently.
597
618
  #
598
619
  # @option params [String] :starting_position
599
620
  # The position in a stream from which to start reading. Required for
@@ -604,17 +625,38 @@ module Aws::Lambda
604
625
  # With `StartingPosition` set to `AT_TIMESTAMP`, the time from which to
605
626
  # start reading.
606
627
  #
628
+ # @option params [Types::DestinationConfig] :destination_config
629
+ # (Streams) An Amazon SQS queue or Amazon SNS topic destination for
630
+ # discarded records.
631
+ #
632
+ # @option params [Integer] :maximum_record_age_in_seconds
633
+ # (Streams) The maximum age of a record that Lambda sends to a function
634
+ # for processing.
635
+ #
636
+ # @option params [Boolean] :bisect_batch_on_function_error
637
+ # (Streams) If the function returns an error, split the batch in two and
638
+ # retry.
639
+ #
640
+ # @option params [Integer] :maximum_retry_attempts
641
+ # (Streams) The maximum number of times to retry when the function
642
+ # returns an error.
643
+ #
607
644
  # @return [Types::EventSourceMappingConfiguration] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
608
645
  #
609
646
  # * {Types::EventSourceMappingConfiguration#uuid #uuid} => String
610
647
  # * {Types::EventSourceMappingConfiguration#batch_size #batch_size} => Integer
611
648
  # * {Types::EventSourceMappingConfiguration#maximum_batching_window_in_seconds #maximum_batching_window_in_seconds} => Integer
649
+ # * {Types::EventSourceMappingConfiguration#parallelization_factor #parallelization_factor} => Integer
612
650
  # * {Types::EventSourceMappingConfiguration#event_source_arn #event_source_arn} => String
613
651
  # * {Types::EventSourceMappingConfiguration#function_arn #function_arn} => String
614
652
  # * {Types::EventSourceMappingConfiguration#last_modified #last_modified} => Time
615
653
  # * {Types::EventSourceMappingConfiguration#last_processing_result #last_processing_result} => String
616
654
  # * {Types::EventSourceMappingConfiguration#state #state} => String
617
655
  # * {Types::EventSourceMappingConfiguration#state_transition_reason #state_transition_reason} => String
656
+ # * {Types::EventSourceMappingConfiguration#destination_config #destination_config} => Types::DestinationConfig
657
+ # * {Types::EventSourceMappingConfiguration#maximum_record_age_in_seconds #maximum_record_age_in_seconds} => Integer
658
+ # * {Types::EventSourceMappingConfiguration#bisect_batch_on_function_error #bisect_batch_on_function_error} => Boolean
659
+ # * {Types::EventSourceMappingConfiguration#maximum_retry_attempts #maximum_retry_attempts} => Integer
618
660
  #
619
661
  # @example Request syntax with placeholder values
620
662
  #
@@ -624,8 +666,20 @@ module Aws::Lambda
624
666
  # enabled: false,
625
667
  # batch_size: 1,
626
668
  # maximum_batching_window_in_seconds: 1,
669
+ # parallelization_factor: 1,
627
670
  # starting_position: "TRIM_HORIZON", # accepts TRIM_HORIZON, LATEST, AT_TIMESTAMP
628
671
  # starting_position_timestamp: Time.now,
672
+ # destination_config: {
673
+ # on_success: {
674
+ # destination: "DestinationArn",
675
+ # },
676
+ # on_failure: {
677
+ # destination: "DestinationArn",
678
+ # },
679
+ # },
680
+ # maximum_record_age_in_seconds: 1,
681
+ # bisect_batch_on_function_error: false,
682
+ # maximum_retry_attempts: 1,
629
683
  # })
630
684
  #
631
685
  # @example Response structure
@@ -633,12 +687,18 @@ module Aws::Lambda
633
687
  # resp.uuid #=> String
634
688
  # resp.batch_size #=> Integer
635
689
  # resp.maximum_batching_window_in_seconds #=> Integer
690
+ # resp.parallelization_factor #=> Integer
636
691
  # resp.event_source_arn #=> String
637
692
  # resp.function_arn #=> String
638
693
  # resp.last_modified #=> Time
639
694
  # resp.last_processing_result #=> String
640
695
  # resp.state #=> String
641
696
  # resp.state_transition_reason #=> String
697
+ # resp.destination_config.on_success.destination #=> String
698
+ # resp.destination_config.on_failure.destination #=> String
699
+ # resp.maximum_record_age_in_seconds #=> Integer
700
+ # resp.bisect_batch_on_function_error #=> Boolean
701
+ # resp.maximum_retry_attempts #=> Integer
642
702
  #
643
703
  # @see http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/CreateEventSourceMapping AWS API Documentation
644
704
  #
@@ -655,6 +715,14 @@ module Aws::Lambda
655
715
  # function permission to use AWS services, such as Amazon CloudWatch
656
716
  # Logs for log streaming and AWS X-Ray for request tracing.
657
717
  #
718
+ # When you create a function, Lambda provisions an instance of the
719
+ # function and its supporting resources. If your function connects to a
720
+ # VPC, this process can take a minute or so. During this time, you
721
+ # can't invoke or modify the function. The `State`, `StateReason`, and
722
+ # `StateReasonCode` fields in the response from GetFunctionConfiguration
723
+ # indicate when the function is ready to invoke. For more information,
724
+ # see [Function States][3].
725
+ #
658
726
  # A function has an unpublished version, and can have published versions
659
727
  # and aliases. The unpublished version changes when you update your
660
728
  # function's code and configuration. A published version is a snapshot
@@ -678,13 +746,14 @@ module Aws::Lambda
678
746
  # To invoke your function directly, use Invoke. To invoke your function
679
747
  # in response to events in other AWS services, create an event source
680
748
  # mapping (CreateEventSourceMapping), or configure a function trigger in
681
- # the other service. For more information, see [Invoking Functions][3].
749
+ # the other service. For more information, see [Invoking Functions][4].
682
750
  #
683
751
  #
684
752
  #
685
753
  # [1]: https://docs.aws.amazon.com/lambda/latest/dg/deployment-package-v2.html
686
754
  # [2]: https://docs.aws.amazon.com/lambda/latest/dg/intro-permission-model.html#lambda-intro-execution-role
687
- # [3]: https://docs.aws.amazon.com/lambda/latest/dg/invoking-lambda-functions.html
755
+ # [3]: https://docs.aws.amazon.com/lambda/latest/dg/functions-states.html
756
+ # [4]: https://docs.aws.amazon.com/lambda/latest/dg/lambda-invocation.html
688
757
  #
689
758
  # @option params [required, String] :function_name
690
759
  # The name of the Lambda function.
@@ -749,7 +818,7 @@ module Aws::Lambda
749
818
  #
750
819
  #
751
820
  #
752
- # [1]: https://docs.aws.amazon.com/lambda/latest/dg/vpc.html
821
+ # [1]: https://docs.aws.amazon.com/lambda/latest/dg/configuration-vpc.html
753
822
  #
754
823
  # @option params [Types::DeadLetterConfig] :dead_letter_config
755
824
  # A dead letter queue configuration that specifies the queue or topic
@@ -758,7 +827,7 @@ module Aws::Lambda
758
827
  #
759
828
  #
760
829
  #
761
- # [1]: https://docs.aws.amazon.com/lambda/latest/dg/dlq.html
830
+ # [1]: https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#dlq
762
831
  #
763
832
  # @option params [Types::Environment] :environment
764
833
  # Environment variables that are accessible from function code during
@@ -810,6 +879,12 @@ module Aws::Lambda
810
879
  # * {Types::FunctionConfiguration#master_arn #master_arn} => String
811
880
  # * {Types::FunctionConfiguration#revision_id #revision_id} => String
812
881
  # * {Types::FunctionConfiguration#layers #layers} => Array<Types::Layer>
882
+ # * {Types::FunctionConfiguration#state #state} => String
883
+ # * {Types::FunctionConfiguration#state_reason #state_reason} => String
884
+ # * {Types::FunctionConfiguration#state_reason_code #state_reason_code} => String
885
+ # * {Types::FunctionConfiguration#last_update_status #last_update_status} => String
886
+ # * {Types::FunctionConfiguration#last_update_status_reason #last_update_status_reason} => String
887
+ # * {Types::FunctionConfiguration#last_update_status_reason_code #last_update_status_reason_code} => String
813
888
  #
814
889
  #
815
890
  # @example Example: create-function
@@ -919,6 +994,12 @@ module Aws::Lambda
919
994
  # resp.layers #=> Array
920
995
  # resp.layers[0].arn #=> String
921
996
  # resp.layers[0].code_size #=> Integer
997
+ # resp.state #=> String, one of "Pending", "Active", "Inactive", "Failed"
998
+ # resp.state_reason #=> String
999
+ # resp.state_reason_code #=> String, one of "Idle", "Creating", "Restoring", "EniLimitExceeded", "InsufficientRolePermissions", "InvalidConfiguration", "InternalError", "SubnetOutOfIPAddresses"
1000
+ # resp.last_update_status #=> String, one of "Successful", "Failed", "InProgress"
1001
+ # resp.last_update_status_reason #=> String
1002
+ # resp.last_update_status_reason_code #=> String, one of "EniLimitExceeded", "InsufficientRolePermissions", "InvalidConfiguration", "InternalError"
922
1003
  #
923
1004
  # @see http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/CreateFunction AWS API Documentation
924
1005
  #
@@ -984,6 +1065,9 @@ module Aws::Lambda
984
1065
  # Deletes an [event source mapping][1]. You can get the identifier of a
985
1066
  # mapping from the output of ListEventSourceMappings.
986
1067
  #
1068
+ # When you delete an event source mapping, it enters a `Deleting` state
1069
+ # and might not be completely deleted for several seconds.
1070
+ #
987
1071
  #
988
1072
  #
989
1073
  # [1]: https://docs.aws.amazon.com/lambda/latest/dg/intro-invocation-modes.html
@@ -996,12 +1080,17 @@ module Aws::Lambda
996
1080
  # * {Types::EventSourceMappingConfiguration#uuid #uuid} => String
997
1081
  # * {Types::EventSourceMappingConfiguration#batch_size #batch_size} => Integer
998
1082
  # * {Types::EventSourceMappingConfiguration#maximum_batching_window_in_seconds #maximum_batching_window_in_seconds} => Integer
1083
+ # * {Types::EventSourceMappingConfiguration#parallelization_factor #parallelization_factor} => Integer
999
1084
  # * {Types::EventSourceMappingConfiguration#event_source_arn #event_source_arn} => String
1000
1085
  # * {Types::EventSourceMappingConfiguration#function_arn #function_arn} => String
1001
1086
  # * {Types::EventSourceMappingConfiguration#last_modified #last_modified} => Time
1002
1087
  # * {Types::EventSourceMappingConfiguration#last_processing_result #last_processing_result} => String
1003
1088
  # * {Types::EventSourceMappingConfiguration#state #state} => String
1004
1089
  # * {Types::EventSourceMappingConfiguration#state_transition_reason #state_transition_reason} => String
1090
+ # * {Types::EventSourceMappingConfiguration#destination_config #destination_config} => Types::DestinationConfig
1091
+ # * {Types::EventSourceMappingConfiguration#maximum_record_age_in_seconds #maximum_record_age_in_seconds} => Integer
1092
+ # * {Types::EventSourceMappingConfiguration#bisect_batch_on_function_error #bisect_batch_on_function_error} => Boolean
1093
+ # * {Types::EventSourceMappingConfiguration#maximum_retry_attempts #maximum_retry_attempts} => Integer
1005
1094
  #
1006
1095
  #
1007
1096
  # @example Example: To delete a Lambda function event source mapping
@@ -1035,12 +1124,18 @@ module Aws::Lambda
1035
1124
  # resp.uuid #=> String
1036
1125
  # resp.batch_size #=> Integer
1037
1126
  # resp.maximum_batching_window_in_seconds #=> Integer
1127
+ # resp.parallelization_factor #=> Integer
1038
1128
  # resp.event_source_arn #=> String
1039
1129
  # resp.function_arn #=> String
1040
1130
  # resp.last_modified #=> Time
1041
1131
  # resp.last_processing_result #=> String
1042
1132
  # resp.state #=> String
1043
1133
  # resp.state_transition_reason #=> String
1134
+ # resp.destination_config.on_success.destination #=> String
1135
+ # resp.destination_config.on_failure.destination #=> String
1136
+ # resp.maximum_record_age_in_seconds #=> Integer
1137
+ # resp.bisect_batch_on_function_error #=> Boolean
1138
+ # resp.maximum_retry_attempts #=> Integer
1044
1139
  #
1045
1140
  # @see http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/DeleteEventSourceMapping AWS API Documentation
1046
1141
  #
@@ -1143,6 +1238,50 @@ module Aws::Lambda
1143
1238
  req.send_request(options)
1144
1239
  end
1145
1240
 
1241
+ # Deletes the configuration for asynchronous invocation for a function,
1242
+ # version, or alias.
1243
+ #
1244
+ # To configure options for asynchronous invocation, use
1245
+ # PutFunctionEventInvokeConfig.
1246
+ #
1247
+ # @option params [required, String] :function_name
1248
+ # The name of the Lambda function, version, or alias.
1249
+ #
1250
+ # **Name formats**
1251
+ #
1252
+ # * **Function name** - `my-function` (name-only), `my-function:v1`
1253
+ # (with alias).
1254
+ #
1255
+ # * **Function ARN** -
1256
+ # `arn:aws:lambda:us-west-2:123456789012:function:my-function`.
1257
+ #
1258
+ # * **Partial ARN** - `123456789012:function:my-function`.
1259
+ #
1260
+ # You can append a version number or alias to any of the formats. The
1261
+ # length constraint applies only to the full ARN. If you specify only
1262
+ # the function name, it is limited to 64 characters in length.
1263
+ #
1264
+ # @option params [String] :qualifier
1265
+ # A version number or alias name.
1266
+ #
1267
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1268
+ #
1269
+ # @example Request syntax with placeholder values
1270
+ #
1271
+ # resp = client.delete_function_event_invoke_config({
1272
+ # function_name: "FunctionName", # required
1273
+ # qualifier: "Qualifier",
1274
+ # })
1275
+ #
1276
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/DeleteFunctionEventInvokeConfig AWS API Documentation
1277
+ #
1278
+ # @overload delete_function_event_invoke_config(params = {})
1279
+ # @param [Hash] params ({})
1280
+ def delete_function_event_invoke_config(params = {}, options = {})
1281
+ req = build_request(:delete_function_event_invoke_config, params)
1282
+ req.send_request(options)
1283
+ end
1284
+
1146
1285
  # Deletes a version of an [AWS Lambda layer][1]. Deleted versions can no
1147
1286
  # longer be viewed or added to functions. To avoid breaking functions, a
1148
1287
  # copy of the version remains in Lambda until no functions refer to it.
@@ -1310,12 +1449,17 @@ module Aws::Lambda
1310
1449
  # * {Types::EventSourceMappingConfiguration#uuid #uuid} => String
1311
1450
  # * {Types::EventSourceMappingConfiguration#batch_size #batch_size} => Integer
1312
1451
  # * {Types::EventSourceMappingConfiguration#maximum_batching_window_in_seconds #maximum_batching_window_in_seconds} => Integer
1452
+ # * {Types::EventSourceMappingConfiguration#parallelization_factor #parallelization_factor} => Integer
1313
1453
  # * {Types::EventSourceMappingConfiguration#event_source_arn #event_source_arn} => String
1314
1454
  # * {Types::EventSourceMappingConfiguration#function_arn #function_arn} => String
1315
1455
  # * {Types::EventSourceMappingConfiguration#last_modified #last_modified} => Time
1316
1456
  # * {Types::EventSourceMappingConfiguration#last_processing_result #last_processing_result} => String
1317
1457
  # * {Types::EventSourceMappingConfiguration#state #state} => String
1318
1458
  # * {Types::EventSourceMappingConfiguration#state_transition_reason #state_transition_reason} => String
1459
+ # * {Types::EventSourceMappingConfiguration#destination_config #destination_config} => Types::DestinationConfig
1460
+ # * {Types::EventSourceMappingConfiguration#maximum_record_age_in_seconds #maximum_record_age_in_seconds} => Integer
1461
+ # * {Types::EventSourceMappingConfiguration#bisect_batch_on_function_error #bisect_batch_on_function_error} => Boolean
1462
+ # * {Types::EventSourceMappingConfiguration#maximum_retry_attempts #maximum_retry_attempts} => Integer
1319
1463
  #
1320
1464
  #
1321
1465
  # @example Example: To retrieve a Lambda function's event source mapping
@@ -1349,12 +1493,18 @@ module Aws::Lambda
1349
1493
  # resp.uuid #=> String
1350
1494
  # resp.batch_size #=> Integer
1351
1495
  # resp.maximum_batching_window_in_seconds #=> Integer
1496
+ # resp.parallelization_factor #=> Integer
1352
1497
  # resp.event_source_arn #=> String
1353
1498
  # resp.function_arn #=> String
1354
1499
  # resp.last_modified #=> Time
1355
1500
  # resp.last_processing_result #=> String
1356
1501
  # resp.state #=> String
1357
1502
  # resp.state_transition_reason #=> String
1503
+ # resp.destination_config.on_success.destination #=> String
1504
+ # resp.destination_config.on_failure.destination #=> String
1505
+ # resp.maximum_record_age_in_seconds #=> Integer
1506
+ # resp.bisect_batch_on_function_error #=> Boolean
1507
+ # resp.maximum_retry_attempts #=> Integer
1358
1508
  #
1359
1509
  # @see http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetEventSourceMapping AWS API Documentation
1360
1510
  #
@@ -1479,6 +1629,12 @@ module Aws::Lambda
1479
1629
  # resp.configuration.layers #=> Array
1480
1630
  # resp.configuration.layers[0].arn #=> String
1481
1631
  # resp.configuration.layers[0].code_size #=> Integer
1632
+ # resp.configuration.state #=> String, one of "Pending", "Active", "Inactive", "Failed"
1633
+ # resp.configuration.state_reason #=> String
1634
+ # resp.configuration.state_reason_code #=> String, one of "Idle", "Creating", "Restoring", "EniLimitExceeded", "InsufficientRolePermissions", "InvalidConfiguration", "InternalError", "SubnetOutOfIPAddresses"
1635
+ # resp.configuration.last_update_status #=> String, one of "Successful", "Failed", "InProgress"
1636
+ # resp.configuration.last_update_status_reason #=> String
1637
+ # resp.configuration.last_update_status_reason_code #=> String, one of "EniLimitExceeded", "InsufficientRolePermissions", "InvalidConfiguration", "InternalError"
1482
1638
  # resp.code.repository_type #=> String
1483
1639
  # resp.code.location #=> String
1484
1640
  # resp.tags #=> Hash
@@ -1544,6 +1700,12 @@ module Aws::Lambda
1544
1700
  # * {Types::FunctionConfiguration#master_arn #master_arn} => String
1545
1701
  # * {Types::FunctionConfiguration#revision_id #revision_id} => String
1546
1702
  # * {Types::FunctionConfiguration#layers #layers} => Array<Types::Layer>
1703
+ # * {Types::FunctionConfiguration#state #state} => String
1704
+ # * {Types::FunctionConfiguration#state_reason #state_reason} => String
1705
+ # * {Types::FunctionConfiguration#state_reason_code #state_reason_code} => String
1706
+ # * {Types::FunctionConfiguration#last_update_status #last_update_status} => String
1707
+ # * {Types::FunctionConfiguration#last_update_status_reason #last_update_status_reason} => String
1708
+ # * {Types::FunctionConfiguration#last_update_status_reason_code #last_update_status_reason_code} => String
1547
1709
  #
1548
1710
  #
1549
1711
  # @example Example: To retrieve a Lambda function's event source mapping
@@ -1616,6 +1778,12 @@ module Aws::Lambda
1616
1778
  # resp.layers #=> Array
1617
1779
  # resp.layers[0].arn #=> String
1618
1780
  # resp.layers[0].code_size #=> Integer
1781
+ # resp.state #=> String, one of "Pending", "Active", "Inactive", "Failed"
1782
+ # resp.state_reason #=> String
1783
+ # resp.state_reason_code #=> String, one of "Idle", "Creating", "Restoring", "EniLimitExceeded", "InsufficientRolePermissions", "InvalidConfiguration", "InternalError", "SubnetOutOfIPAddresses"
1784
+ # resp.last_update_status #=> String, one of "Successful", "Failed", "InProgress"
1785
+ # resp.last_update_status_reason #=> String
1786
+ # resp.last_update_status_reason_code #=> String, one of "EniLimitExceeded", "InsufficientRolePermissions", "InvalidConfiguration", "InternalError"
1619
1787
  #
1620
1788
  # @see http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetFunctionConfiguration AWS API Documentation
1621
1789
  #
@@ -1626,6 +1794,65 @@ module Aws::Lambda
1626
1794
  req.send_request(options)
1627
1795
  end
1628
1796
 
1797
+ # Retrieves the configuration for asynchronous invocation for a
1798
+ # function, version, or alias.
1799
+ #
1800
+ # To configure options for asynchronous invocation, use
1801
+ # PutFunctionEventInvokeConfig.
1802
+ #
1803
+ # @option params [required, String] :function_name
1804
+ # The name of the Lambda function, version, or alias.
1805
+ #
1806
+ # **Name formats**
1807
+ #
1808
+ # * **Function name** - `my-function` (name-only), `my-function:v1`
1809
+ # (with alias).
1810
+ #
1811
+ # * **Function ARN** -
1812
+ # `arn:aws:lambda:us-west-2:123456789012:function:my-function`.
1813
+ #
1814
+ # * **Partial ARN** - `123456789012:function:my-function`.
1815
+ #
1816
+ # You can append a version number or alias to any of the formats. The
1817
+ # length constraint applies only to the full ARN. If you specify only
1818
+ # the function name, it is limited to 64 characters in length.
1819
+ #
1820
+ # @option params [String] :qualifier
1821
+ # A version number or alias name.
1822
+ #
1823
+ # @return [Types::FunctionEventInvokeConfig] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1824
+ #
1825
+ # * {Types::FunctionEventInvokeConfig#last_modified #last_modified} => Time
1826
+ # * {Types::FunctionEventInvokeConfig#function_arn #function_arn} => String
1827
+ # * {Types::FunctionEventInvokeConfig#maximum_retry_attempts #maximum_retry_attempts} => Integer
1828
+ # * {Types::FunctionEventInvokeConfig#maximum_event_age_in_seconds #maximum_event_age_in_seconds} => Integer
1829
+ # * {Types::FunctionEventInvokeConfig#destination_config #destination_config} => Types::DestinationConfig
1830
+ #
1831
+ # @example Request syntax with placeholder values
1832
+ #
1833
+ # resp = client.get_function_event_invoke_config({
1834
+ # function_name: "FunctionName", # required
1835
+ # qualifier: "Qualifier",
1836
+ # })
1837
+ #
1838
+ # @example Response structure
1839
+ #
1840
+ # resp.last_modified #=> Time
1841
+ # resp.function_arn #=> String
1842
+ # resp.maximum_retry_attempts #=> Integer
1843
+ # resp.maximum_event_age_in_seconds #=> Integer
1844
+ # resp.destination_config.on_success.destination #=> String
1845
+ # resp.destination_config.on_failure.destination #=> String
1846
+ #
1847
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetFunctionEventInvokeConfig AWS API Documentation
1848
+ #
1849
+ # @overload get_function_event_invoke_config(params = {})
1850
+ # @param [Hash] params ({})
1851
+ def get_function_event_invoke_config(params = {}, options = {})
1852
+ req = build_request(:get_function_event_invoke_config, params)
1853
+ req.send_request(options)
1854
+ end
1855
+
1629
1856
  # Returns information about a version of an [AWS Lambda layer][1], with
1630
1857
  # a link to download the layer archive that's valid for 10 minutes.
1631
1858
  #
@@ -1841,22 +2068,27 @@ module Aws::Lambda
1841
2068
  # (and wait for the response), or asynchronously. To invoke a function
1842
2069
  # asynchronously, set `InvocationType` to `Event`.
1843
2070
  #
1844
- # For synchronous invocation, details about the function response,
2071
+ # For [synchronous invocation][1], details about the function response,
1845
2072
  # including errors, are included in the response body and headers. For
1846
2073
  # either invocation type, you can find more information in the
1847
- # [execution log][1] and [trace][2]. To record function errors for
1848
- # asynchronous invocations, configure your function with a [dead letter
1849
- # queue][2].
2074
+ # [execution log][2] and [trace][3].
1850
2075
  #
1851
2076
  # When an error occurs, your function may be invoked multiple times.
1852
2077
  # Retry behavior varies by error type, client, event source, and
1853
2078
  # invocation type. For example, if you invoke a function asynchronously
1854
2079
  # and it returns an error, Lambda executes the function up to two more
1855
- # times. For more information, see [Retry Behavior][3].
2080
+ # times. For more information, see [Retry Behavior][4].
2081
+ #
2082
+ # For [asynchronous invocation][5], Lambda adds events to a queue before
2083
+ # sending them to your function. If your function does not have enough
2084
+ # capacity to keep up with the queue, events may be lost. Occasionally,
2085
+ # your function may receive the same event multiple times, even if no
2086
+ # error occurs. To retain events that were not processed, configure your
2087
+ # function with a [dead-letter queue][6].
1856
2088
  #
1857
2089
  # The status code in the API response doesn't reflect function errors.
1858
2090
  # Error codes are reserved for errors that prevent your function from
1859
- # executing, such as permissions errors, [limit errors][4], or issues
2091
+ # executing, such as permissions errors, [limit errors][7], or issues
1860
2092
  # with your function's code and configuration. For example, Lambda
1861
2093
  # returns `TooManyRequestsException` if executing the function would
1862
2094
  # cause you to exceed a concurrency limit at either the account level
@@ -1873,10 +2105,13 @@ module Aws::Lambda
1873
2105
  #
1874
2106
  #
1875
2107
  #
1876
- # [1]: https://docs.aws.amazon.com/lambda/latest/dg/monitoring-functions.html
1877
- # [2]: https://docs.aws.amazon.com/lambda/latest/dg/dlq.html
1878
- # [3]: https://docs.aws.amazon.com/lambda/latest/dg/retries-on-errors.html
1879
- # [4]: https://docs.aws.amazon.com/lambda/latest/dg/limits.html
2108
+ # [1]: https://docs.aws.amazon.com/lambda/latest/dg/invocation-sync.html
2109
+ # [2]: https://docs.aws.amazon.com/lambda/latest/dg/monitoring-functions.html
2110
+ # [3]: https://docs.aws.amazon.com/lambda/latest/dg/lambda-x-ray.html
2111
+ # [4]: https://docs.aws.amazon.com/lambda/latest/dg/retries-on-errors.html
2112
+ # [5]: https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html
2113
+ # [6]: https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#dlq
2114
+ # [7]: https://docs.aws.amazon.com/lambda/latest/dg/limits.html
1880
2115
  #
1881
2116
  # @option params [required, String] :function_name
1882
2117
  # The name of the Lambda function, version, or alias.
@@ -2187,12 +2422,18 @@ module Aws::Lambda
2187
2422
  # resp.event_source_mappings[0].uuid #=> String
2188
2423
  # resp.event_source_mappings[0].batch_size #=> Integer
2189
2424
  # resp.event_source_mappings[0].maximum_batching_window_in_seconds #=> Integer
2425
+ # resp.event_source_mappings[0].parallelization_factor #=> Integer
2190
2426
  # resp.event_source_mappings[0].event_source_arn #=> String
2191
2427
  # resp.event_source_mappings[0].function_arn #=> String
2192
2428
  # resp.event_source_mappings[0].last_modified #=> Time
2193
2429
  # resp.event_source_mappings[0].last_processing_result #=> String
2194
2430
  # resp.event_source_mappings[0].state #=> String
2195
2431
  # resp.event_source_mappings[0].state_transition_reason #=> String
2432
+ # resp.event_source_mappings[0].destination_config.on_success.destination #=> String
2433
+ # resp.event_source_mappings[0].destination_config.on_failure.destination #=> String
2434
+ # resp.event_source_mappings[0].maximum_record_age_in_seconds #=> Integer
2435
+ # resp.event_source_mappings[0].bisect_batch_on_function_error #=> Boolean
2436
+ # resp.event_source_mappings[0].maximum_retry_attempts #=> Integer
2196
2437
  #
2197
2438
  # @see http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListEventSourceMappings AWS API Documentation
2198
2439
  #
@@ -2203,6 +2444,67 @@ module Aws::Lambda
2203
2444
  req.send_request(options)
2204
2445
  end
2205
2446
 
2447
+ # Retrieves a list of configurations for asynchronous invocation for a
2448
+ # function.
2449
+ #
2450
+ # To configure options for asynchronous invocation, use
2451
+ # PutFunctionEventInvokeConfig.
2452
+ #
2453
+ # @option params [required, String] :function_name
2454
+ # The name of the Lambda function.
2455
+ #
2456
+ # **Name formats**
2457
+ #
2458
+ # * **Function name** - `my-function`.
2459
+ #
2460
+ # * **Function ARN** -
2461
+ # `arn:aws:lambda:us-west-2:123456789012:function:my-function`.
2462
+ #
2463
+ # * **Partial ARN** - `123456789012:function:my-function`.
2464
+ #
2465
+ # The length constraint applies only to the full ARN. If you specify
2466
+ # only the function name, it is limited to 64 characters in length.
2467
+ #
2468
+ # @option params [String] :marker
2469
+ # Specify the pagination token that's returned by a previous request to
2470
+ # retrieve the next page of results.
2471
+ #
2472
+ # @option params [Integer] :max_items
2473
+ # The maximum number of configurations to return.
2474
+ #
2475
+ # @return [Types::ListFunctionEventInvokeConfigsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2476
+ #
2477
+ # * {Types::ListFunctionEventInvokeConfigsResponse#function_event_invoke_configs #function_event_invoke_configs} => Array<Types::FunctionEventInvokeConfig>
2478
+ # * {Types::ListFunctionEventInvokeConfigsResponse#next_marker #next_marker} => String
2479
+ #
2480
+ # @example Request syntax with placeholder values
2481
+ #
2482
+ # resp = client.list_function_event_invoke_configs({
2483
+ # function_name: "FunctionName", # required
2484
+ # marker: "String",
2485
+ # max_items: 1,
2486
+ # })
2487
+ #
2488
+ # @example Response structure
2489
+ #
2490
+ # resp.function_event_invoke_configs #=> Array
2491
+ # resp.function_event_invoke_configs[0].last_modified #=> Time
2492
+ # resp.function_event_invoke_configs[0].function_arn #=> String
2493
+ # resp.function_event_invoke_configs[0].maximum_retry_attempts #=> Integer
2494
+ # resp.function_event_invoke_configs[0].maximum_event_age_in_seconds #=> Integer
2495
+ # resp.function_event_invoke_configs[0].destination_config.on_success.destination #=> String
2496
+ # resp.function_event_invoke_configs[0].destination_config.on_failure.destination #=> String
2497
+ # resp.next_marker #=> String
2498
+ #
2499
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListFunctionEventInvokeConfigs AWS API Documentation
2500
+ #
2501
+ # @overload list_function_event_invoke_configs(params = {})
2502
+ # @param [Hash] params ({})
2503
+ def list_function_event_invoke_configs(params = {}, options = {})
2504
+ req = build_request(:list_function_event_invoke_configs, params)
2505
+ req.send_request(options)
2506
+ end
2507
+
2206
2508
  # Returns a list of Lambda functions, with the version-specific
2207
2509
  # configuration of each.
2208
2510
  #
@@ -2291,6 +2593,12 @@ module Aws::Lambda
2291
2593
  # resp.functions[0].layers #=> Array
2292
2594
  # resp.functions[0].layers[0].arn #=> String
2293
2595
  # resp.functions[0].layers[0].code_size #=> Integer
2596
+ # resp.functions[0].state #=> String, one of "Pending", "Active", "Inactive", "Failed"
2597
+ # resp.functions[0].state_reason #=> String
2598
+ # resp.functions[0].state_reason_code #=> String, one of "Idle", "Creating", "Restoring", "EniLimitExceeded", "InsufficientRolePermissions", "InvalidConfiguration", "InternalError", "SubnetOutOfIPAddresses"
2599
+ # resp.functions[0].last_update_status #=> String, one of "Successful", "Failed", "InProgress"
2600
+ # resp.functions[0].last_update_status_reason #=> String
2601
+ # resp.functions[0].last_update_status_reason_code #=> String, one of "EniLimitExceeded", "InsufficientRolePermissions", "InvalidConfiguration", "InternalError"
2294
2602
  #
2295
2603
  # @see http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListFunctions AWS API Documentation
2296
2604
  #
@@ -2539,6 +2847,12 @@ module Aws::Lambda
2539
2847
  # resp.versions[0].layers #=> Array
2540
2848
  # resp.versions[0].layers[0].arn #=> String
2541
2849
  # resp.versions[0].layers[0].code_size #=> Integer
2850
+ # resp.versions[0].state #=> String, one of "Pending", "Active", "Inactive", "Failed"
2851
+ # resp.versions[0].state_reason #=> String
2852
+ # resp.versions[0].state_reason_code #=> String, one of "Idle", "Creating", "Restoring", "EniLimitExceeded", "InsufficientRolePermissions", "InvalidConfiguration", "InternalError", "SubnetOutOfIPAddresses"
2853
+ # resp.versions[0].last_update_status #=> String, one of "Successful", "Failed", "InProgress"
2854
+ # resp.versions[0].last_update_status_reason #=> String
2855
+ # resp.versions[0].last_update_status_reason_code #=> String, one of "EniLimitExceeded", "InsufficientRolePermissions", "InvalidConfiguration", "InternalError"
2542
2856
  #
2543
2857
  # @see http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListVersionsByFunction AWS API Documentation
2544
2858
  #
@@ -2550,8 +2864,8 @@ module Aws::Lambda
2550
2864
  end
2551
2865
 
2552
2866
  # Creates an [AWS Lambda layer][1] from a ZIP archive. Each time you
2553
- # call `PublishLayerVersion` with the same version name, a new version
2554
- # is created.
2867
+ # call `PublishLayerVersion` with the same layer name, a new version is
2868
+ # created.
2555
2869
  #
2556
2870
  # Add layers to your function with CreateFunction or
2557
2871
  # UpdateFunctionConfiguration.
@@ -2709,6 +3023,12 @@ module Aws::Lambda
2709
3023
  # * {Types::FunctionConfiguration#master_arn #master_arn} => String
2710
3024
  # * {Types::FunctionConfiguration#revision_id #revision_id} => String
2711
3025
  # * {Types::FunctionConfiguration#layers #layers} => Array<Types::Layer>
3026
+ # * {Types::FunctionConfiguration#state #state} => String
3027
+ # * {Types::FunctionConfiguration#state_reason #state_reason} => String
3028
+ # * {Types::FunctionConfiguration#state_reason_code #state_reason_code} => String
3029
+ # * {Types::FunctionConfiguration#last_update_status #last_update_status} => String
3030
+ # * {Types::FunctionConfiguration#last_update_status_reason #last_update_status_reason} => String
3031
+ # * {Types::FunctionConfiguration#last_update_status_reason_code #last_update_status_reason_code} => String
2712
3032
  #
2713
3033
  #
2714
3034
  # @example Example: To publish a version of a Lambda function
@@ -2779,6 +3099,12 @@ module Aws::Lambda
2779
3099
  # resp.layers #=> Array
2780
3100
  # resp.layers[0].arn #=> String
2781
3101
  # resp.layers[0].code_size #=> Integer
3102
+ # resp.state #=> String, one of "Pending", "Active", "Inactive", "Failed"
3103
+ # resp.state_reason #=> String
3104
+ # resp.state_reason_code #=> String, one of "Idle", "Creating", "Restoring", "EniLimitExceeded", "InsufficientRolePermissions", "InvalidConfiguration", "InternalError", "SubnetOutOfIPAddresses"
3105
+ # resp.last_update_status #=> String, one of "Successful", "Failed", "InProgress"
3106
+ # resp.last_update_status_reason #=> String
3107
+ # resp.last_update_status_reason_code #=> String, one of "EniLimitExceeded", "InsufficientRolePermissions", "InvalidConfiguration", "InternalError"
2782
3108
  #
2783
3109
  # @see http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/PublishVersion AWS API Documentation
2784
3110
  #
@@ -2850,6 +3176,105 @@ module Aws::Lambda
2850
3176
  req.send_request(options)
2851
3177
  end
2852
3178
 
3179
+ # Configures options for [asynchronous invocation][1] on a function,
3180
+ # version, or alias.
3181
+ #
3182
+ # By default, Lambda retries an asynchronous invocation twice if the
3183
+ # function returns an error. It retains events in a queue for up to six
3184
+ # hours. When an event fails all processing attempts or stays in the
3185
+ # asynchronous invocation queue for too long, Lambda discards it. To
3186
+ # retain discarded events, configure a dead-letter queue with
3187
+ # UpdateFunctionConfiguration.
3188
+ #
3189
+ #
3190
+ #
3191
+ # [1]: https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html
3192
+ #
3193
+ # @option params [required, String] :function_name
3194
+ # The name of the Lambda function, version, or alias.
3195
+ #
3196
+ # **Name formats**
3197
+ #
3198
+ # * **Function name** - `my-function` (name-only), `my-function:v1`
3199
+ # (with alias).
3200
+ #
3201
+ # * **Function ARN** -
3202
+ # `arn:aws:lambda:us-west-2:123456789012:function:my-function`.
3203
+ #
3204
+ # * **Partial ARN** - `123456789012:function:my-function`.
3205
+ #
3206
+ # You can append a version number or alias to any of the formats. The
3207
+ # length constraint applies only to the full ARN. If you specify only
3208
+ # the function name, it is limited to 64 characters in length.
3209
+ #
3210
+ # @option params [String] :qualifier
3211
+ # A version number or alias name.
3212
+ #
3213
+ # @option params [Integer] :maximum_retry_attempts
3214
+ # The maximum number of times to retry when the function returns an
3215
+ # error.
3216
+ #
3217
+ # @option params [Integer] :maximum_event_age_in_seconds
3218
+ # The maximum age of a request that Lambda sends to a function for
3219
+ # processing.
3220
+ #
3221
+ # @option params [Types::DestinationConfig] :destination_config
3222
+ # A destination for events after they have been sent to a function for
3223
+ # processing.
3224
+ #
3225
+ # **Destinations**
3226
+ #
3227
+ # * **Function** - The Amazon Resource Name (ARN) of a Lambda function.
3228
+ #
3229
+ # * **Queue** - The ARN of an SQS queue.
3230
+ #
3231
+ # * **Topic** - The ARN of an SNS topic.
3232
+ #
3233
+ # * **Event Bus** - The ARN of an Amazon EventBridge event bus.
3234
+ #
3235
+ # @return [Types::FunctionEventInvokeConfig] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3236
+ #
3237
+ # * {Types::FunctionEventInvokeConfig#last_modified #last_modified} => Time
3238
+ # * {Types::FunctionEventInvokeConfig#function_arn #function_arn} => String
3239
+ # * {Types::FunctionEventInvokeConfig#maximum_retry_attempts #maximum_retry_attempts} => Integer
3240
+ # * {Types::FunctionEventInvokeConfig#maximum_event_age_in_seconds #maximum_event_age_in_seconds} => Integer
3241
+ # * {Types::FunctionEventInvokeConfig#destination_config #destination_config} => Types::DestinationConfig
3242
+ #
3243
+ # @example Request syntax with placeholder values
3244
+ #
3245
+ # resp = client.put_function_event_invoke_config({
3246
+ # function_name: "FunctionName", # required
3247
+ # qualifier: "Qualifier",
3248
+ # maximum_retry_attempts: 1,
3249
+ # maximum_event_age_in_seconds: 1,
3250
+ # destination_config: {
3251
+ # on_success: {
3252
+ # destination: "DestinationArn",
3253
+ # },
3254
+ # on_failure: {
3255
+ # destination: "DestinationArn",
3256
+ # },
3257
+ # },
3258
+ # })
3259
+ #
3260
+ # @example Response structure
3261
+ #
3262
+ # resp.last_modified #=> Time
3263
+ # resp.function_arn #=> String
3264
+ # resp.maximum_retry_attempts #=> Integer
3265
+ # resp.maximum_event_age_in_seconds #=> Integer
3266
+ # resp.destination_config.on_success.destination #=> String
3267
+ # resp.destination_config.on_failure.destination #=> String
3268
+ #
3269
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/PutFunctionEventInvokeConfig AWS API Documentation
3270
+ #
3271
+ # @overload put_function_event_invoke_config(params = {})
3272
+ # @param [Hash] params ({})
3273
+ def put_function_event_invoke_config(params = {}, options = {})
3274
+ req = build_request(:put_function_event_invoke_config, params)
3275
+ req.send_request(options)
3276
+ end
3277
+
2853
3278
  # Removes a statement from the permissions policy for a version of an
2854
3279
  # [AWS Lambda layer][1]. For more information, see
2855
3280
  # AddLayerVersionPermission.
@@ -3127,6 +3552,21 @@ module Aws::Lambda
3127
3552
  # Lambda invokes, or pause invocation and resume later from the same
3128
3553
  # location.
3129
3554
  #
3555
+ # The following error handling options are only available for stream
3556
+ # sources (DynamoDB and Kinesis):
3557
+ #
3558
+ # * `BisectBatchOnFunctionError` - If the function returns an error,
3559
+ # split the batch in two and retry.
3560
+ #
3561
+ # * `DestinationConfig` - Send discarded records to an Amazon SQS queue
3562
+ # or Amazon SNS topic.
3563
+ #
3564
+ # * `MaximumRecordAgeInSeconds` - Discard records older than the
3565
+ # specified age.
3566
+ #
3567
+ # * `MaximumRetryAttempts` - Discard records after the specified number
3568
+ # of retries.
3569
+ #
3130
3570
  # @option params [required, String] :uuid
3131
3571
  # The identifier of the event source mapping.
3132
3572
  #
@@ -3161,18 +3601,45 @@ module Aws::Lambda
3161
3601
  # * **Amazon Simple Queue Service** - Default 10. Max 10.
3162
3602
  #
3163
3603
  # @option params [Integer] :maximum_batching_window_in_seconds
3604
+ # The maximum amount of time to gather records before invoking the
3605
+ # function, in seconds.
3606
+ #
3607
+ # @option params [Types::DestinationConfig] :destination_config
3608
+ # (Streams) An Amazon SQS queue or Amazon SNS topic destination for
3609
+ # discarded records.
3610
+ #
3611
+ # @option params [Integer] :maximum_record_age_in_seconds
3612
+ # (Streams) The maximum age of a record that Lambda sends to a function
3613
+ # for processing.
3614
+ #
3615
+ # @option params [Boolean] :bisect_batch_on_function_error
3616
+ # (Streams) If the function returns an error, split the batch in two and
3617
+ # retry.
3618
+ #
3619
+ # @option params [Integer] :maximum_retry_attempts
3620
+ # (Streams) The maximum number of times to retry when the function
3621
+ # returns an error.
3622
+ #
3623
+ # @option params [Integer] :parallelization_factor
3624
+ # (Streams) The number of batches to process from each shard
3625
+ # concurrently.
3164
3626
  #
3165
3627
  # @return [Types::EventSourceMappingConfiguration] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3166
3628
  #
3167
3629
  # * {Types::EventSourceMappingConfiguration#uuid #uuid} => String
3168
3630
  # * {Types::EventSourceMappingConfiguration#batch_size #batch_size} => Integer
3169
3631
  # * {Types::EventSourceMappingConfiguration#maximum_batching_window_in_seconds #maximum_batching_window_in_seconds} => Integer
3632
+ # * {Types::EventSourceMappingConfiguration#parallelization_factor #parallelization_factor} => Integer
3170
3633
  # * {Types::EventSourceMappingConfiguration#event_source_arn #event_source_arn} => String
3171
3634
  # * {Types::EventSourceMappingConfiguration#function_arn #function_arn} => String
3172
3635
  # * {Types::EventSourceMappingConfiguration#last_modified #last_modified} => Time
3173
3636
  # * {Types::EventSourceMappingConfiguration#last_processing_result #last_processing_result} => String
3174
3637
  # * {Types::EventSourceMappingConfiguration#state #state} => String
3175
3638
  # * {Types::EventSourceMappingConfiguration#state_transition_reason #state_transition_reason} => String
3639
+ # * {Types::EventSourceMappingConfiguration#destination_config #destination_config} => Types::DestinationConfig
3640
+ # * {Types::EventSourceMappingConfiguration#maximum_record_age_in_seconds #maximum_record_age_in_seconds} => Integer
3641
+ # * {Types::EventSourceMappingConfiguration#bisect_batch_on_function_error #bisect_batch_on_function_error} => Boolean
3642
+ # * {Types::EventSourceMappingConfiguration#maximum_retry_attempts #maximum_retry_attempts} => Integer
3176
3643
  #
3177
3644
  #
3178
3645
  # @example Example: To update a Lambda function event source mapping
@@ -3206,6 +3673,18 @@ module Aws::Lambda
3206
3673
  # enabled: false,
3207
3674
  # batch_size: 1,
3208
3675
  # maximum_batching_window_in_seconds: 1,
3676
+ # destination_config: {
3677
+ # on_success: {
3678
+ # destination: "DestinationArn",
3679
+ # },
3680
+ # on_failure: {
3681
+ # destination: "DestinationArn",
3682
+ # },
3683
+ # },
3684
+ # maximum_record_age_in_seconds: 1,
3685
+ # bisect_batch_on_function_error: false,
3686
+ # maximum_retry_attempts: 1,
3687
+ # parallelization_factor: 1,
3209
3688
  # })
3210
3689
  #
3211
3690
  # @example Response structure
@@ -3213,12 +3692,18 @@ module Aws::Lambda
3213
3692
  # resp.uuid #=> String
3214
3693
  # resp.batch_size #=> Integer
3215
3694
  # resp.maximum_batching_window_in_seconds #=> Integer
3695
+ # resp.parallelization_factor #=> Integer
3216
3696
  # resp.event_source_arn #=> String
3217
3697
  # resp.function_arn #=> String
3218
3698
  # resp.last_modified #=> Time
3219
3699
  # resp.last_processing_result #=> String
3220
3700
  # resp.state #=> String
3221
3701
  # resp.state_transition_reason #=> String
3702
+ # resp.destination_config.on_success.destination #=> String
3703
+ # resp.destination_config.on_failure.destination #=> String
3704
+ # resp.maximum_record_age_in_seconds #=> Integer
3705
+ # resp.bisect_batch_on_function_error #=> Boolean
3706
+ # resp.maximum_retry_attempts #=> Integer
3222
3707
  #
3223
3708
  # @see http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/UpdateEventSourceMapping AWS API Documentation
3224
3709
  #
@@ -3300,6 +3785,12 @@ module Aws::Lambda
3300
3785
  # * {Types::FunctionConfiguration#master_arn #master_arn} => String
3301
3786
  # * {Types::FunctionConfiguration#revision_id #revision_id} => String
3302
3787
  # * {Types::FunctionConfiguration#layers #layers} => Array<Types::Layer>
3788
+ # * {Types::FunctionConfiguration#state #state} => String
3789
+ # * {Types::FunctionConfiguration#state_reason #state_reason} => String
3790
+ # * {Types::FunctionConfiguration#state_reason_code #state_reason_code} => String
3791
+ # * {Types::FunctionConfiguration#last_update_status #last_update_status} => String
3792
+ # * {Types::FunctionConfiguration#last_update_status_reason #last_update_status_reason} => String
3793
+ # * {Types::FunctionConfiguration#last_update_status_reason_code #last_update_status_reason_code} => String
3303
3794
  #
3304
3795
  #
3305
3796
  # @example Example: To update a Lambda function's code
@@ -3377,6 +3868,12 @@ module Aws::Lambda
3377
3868
  # resp.layers #=> Array
3378
3869
  # resp.layers[0].arn #=> String
3379
3870
  # resp.layers[0].code_size #=> Integer
3871
+ # resp.state #=> String, one of "Pending", "Active", "Inactive", "Failed"
3872
+ # resp.state_reason #=> String
3873
+ # resp.state_reason_code #=> String, one of "Idle", "Creating", "Restoring", "EniLimitExceeded", "InsufficientRolePermissions", "InvalidConfiguration", "InternalError", "SubnetOutOfIPAddresses"
3874
+ # resp.last_update_status #=> String, one of "Successful", "Failed", "InProgress"
3875
+ # resp.last_update_status_reason #=> String
3876
+ # resp.last_update_status_reason_code #=> String, one of "EniLimitExceeded", "InsufficientRolePermissions", "InvalidConfiguration", "InternalError"
3380
3877
  #
3381
3878
  # @see http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/UpdateFunctionCode AWS API Documentation
3382
3879
  #
@@ -3389,6 +3886,16 @@ module Aws::Lambda
3389
3886
 
3390
3887
  # Modify the version-specific settings of a Lambda function.
3391
3888
  #
3889
+ # When you update a function, Lambda provisions an instance of the
3890
+ # function and its supporting resources. If your function connects to a
3891
+ # VPC, this process can take a minute. During this time, you can't
3892
+ # modify the function, but you can still invoke it. The
3893
+ # `LastUpdateStatus`, `LastUpdateStatusReason`, and
3894
+ # `LastUpdateStatusReasonCode` fields in the response from
3895
+ # GetFunctionConfiguration indicate when the update is complete and the
3896
+ # function is processing events with the new configuration. For more
3897
+ # information, see [Function States][1].
3898
+ #
3392
3899
  # These settings can vary between versions of a function and are locked
3393
3900
  # when you publish a version. You can't modify the configuration of a
3394
3901
  # published version, only the unpublished version.
@@ -3397,6 +3904,10 @@ module Aws::Lambda
3397
3904
  # grant invoke permissions to an account or AWS service, use
3398
3905
  # AddPermission.
3399
3906
  #
3907
+ #
3908
+ #
3909
+ # [1]: https://docs.aws.amazon.com/lambda/latest/dg/functions-states.html
3910
+ #
3400
3911
  # @option params [required, String] :function_name
3401
3912
  # The name of the Lambda function.
3402
3913
  #
@@ -3446,7 +3957,7 @@ module Aws::Lambda
3446
3957
  #
3447
3958
  #
3448
3959
  #
3449
- # [1]: https://docs.aws.amazon.com/lambda/latest/dg/vpc.html
3960
+ # [1]: https://docs.aws.amazon.com/lambda/latest/dg/configuration-vpc.html
3450
3961
  #
3451
3962
  # @option params [Types::Environment] :environment
3452
3963
  # Environment variables that are accessible from function code during
@@ -3466,7 +3977,7 @@ module Aws::Lambda
3466
3977
  #
3467
3978
  #
3468
3979
  #
3469
- # [1]: https://docs.aws.amazon.com/lambda/latest/dg/dlq.html
3980
+ # [1]: https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#dlq
3470
3981
  #
3471
3982
  # @option params [String] :kms_key_arn
3472
3983
  # The ARN of the AWS Key Management Service (AWS KMS) key that's used
@@ -3512,6 +4023,12 @@ module Aws::Lambda
3512
4023
  # * {Types::FunctionConfiguration#master_arn #master_arn} => String
3513
4024
  # * {Types::FunctionConfiguration#revision_id #revision_id} => String
3514
4025
  # * {Types::FunctionConfiguration#layers #layers} => Array<Types::Layer>
4026
+ # * {Types::FunctionConfiguration#state #state} => String
4027
+ # * {Types::FunctionConfiguration#state_reason #state_reason} => String
4028
+ # * {Types::FunctionConfiguration#state_reason_code #state_reason_code} => String
4029
+ # * {Types::FunctionConfiguration#last_update_status #last_update_status} => String
4030
+ # * {Types::FunctionConfiguration#last_update_status_reason #last_update_status_reason} => String
4031
+ # * {Types::FunctionConfiguration#last_update_status_reason_code #last_update_status_reason_code} => String
3515
4032
  #
3516
4033
  #
3517
4034
  # @example Example: To update a Lambda function's configuration
@@ -3609,6 +4126,12 @@ module Aws::Lambda
3609
4126
  # resp.layers #=> Array
3610
4127
  # resp.layers[0].arn #=> String
3611
4128
  # resp.layers[0].code_size #=> Integer
4129
+ # resp.state #=> String, one of "Pending", "Active", "Inactive", "Failed"
4130
+ # resp.state_reason #=> String
4131
+ # resp.state_reason_code #=> String, one of "Idle", "Creating", "Restoring", "EniLimitExceeded", "InsufficientRolePermissions", "InvalidConfiguration", "InternalError", "SubnetOutOfIPAddresses"
4132
+ # resp.last_update_status #=> String, one of "Successful", "Failed", "InProgress"
4133
+ # resp.last_update_status_reason #=> String
4134
+ # resp.last_update_status_reason_code #=> String, one of "EniLimitExceeded", "InsufficientRolePermissions", "InvalidConfiguration", "InternalError"
3612
4135
  #
3613
4136
  # @see http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/UpdateFunctionConfiguration AWS API Documentation
3614
4137
  #
@@ -3619,6 +4142,97 @@ module Aws::Lambda
3619
4142
  req.send_request(options)
3620
4143
  end
3621
4144
 
4145
+ # Updates the configuration for asynchronous invocation for a function,
4146
+ # version, or alias.
4147
+ #
4148
+ # To configure options for asynchronous invocation, use
4149
+ # PutFunctionEventInvokeConfig.
4150
+ #
4151
+ # @option params [required, String] :function_name
4152
+ # The name of the Lambda function, version, or alias.
4153
+ #
4154
+ # **Name formats**
4155
+ #
4156
+ # * **Function name** - `my-function` (name-only), `my-function:v1`
4157
+ # (with alias).
4158
+ #
4159
+ # * **Function ARN** -
4160
+ # `arn:aws:lambda:us-west-2:123456789012:function:my-function`.
4161
+ #
4162
+ # * **Partial ARN** - `123456789012:function:my-function`.
4163
+ #
4164
+ # You can append a version number or alias to any of the formats. The
4165
+ # length constraint applies only to the full ARN. If you specify only
4166
+ # the function name, it is limited to 64 characters in length.
4167
+ #
4168
+ # @option params [String] :qualifier
4169
+ # A version number or alias name.
4170
+ #
4171
+ # @option params [Integer] :maximum_retry_attempts
4172
+ # The maximum number of times to retry when the function returns an
4173
+ # error.
4174
+ #
4175
+ # @option params [Integer] :maximum_event_age_in_seconds
4176
+ # The maximum age of a request that Lambda sends to a function for
4177
+ # processing.
4178
+ #
4179
+ # @option params [Types::DestinationConfig] :destination_config
4180
+ # A destination for events after they have been sent to a function for
4181
+ # processing.
4182
+ #
4183
+ # **Destinations**
4184
+ #
4185
+ # * **Function** - The Amazon Resource Name (ARN) of a Lambda function.
4186
+ #
4187
+ # * **Queue** - The ARN of an SQS queue.
4188
+ #
4189
+ # * **Topic** - The ARN of an SNS topic.
4190
+ #
4191
+ # * **Event Bus** - The ARN of an Amazon EventBridge event bus.
4192
+ #
4193
+ # @return [Types::FunctionEventInvokeConfig] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4194
+ #
4195
+ # * {Types::FunctionEventInvokeConfig#last_modified #last_modified} => Time
4196
+ # * {Types::FunctionEventInvokeConfig#function_arn #function_arn} => String
4197
+ # * {Types::FunctionEventInvokeConfig#maximum_retry_attempts #maximum_retry_attempts} => Integer
4198
+ # * {Types::FunctionEventInvokeConfig#maximum_event_age_in_seconds #maximum_event_age_in_seconds} => Integer
4199
+ # * {Types::FunctionEventInvokeConfig#destination_config #destination_config} => Types::DestinationConfig
4200
+ #
4201
+ # @example Request syntax with placeholder values
4202
+ #
4203
+ # resp = client.update_function_event_invoke_config({
4204
+ # function_name: "FunctionName", # required
4205
+ # qualifier: "Qualifier",
4206
+ # maximum_retry_attempts: 1,
4207
+ # maximum_event_age_in_seconds: 1,
4208
+ # destination_config: {
4209
+ # on_success: {
4210
+ # destination: "DestinationArn",
4211
+ # },
4212
+ # on_failure: {
4213
+ # destination: "DestinationArn",
4214
+ # },
4215
+ # },
4216
+ # })
4217
+ #
4218
+ # @example Response structure
4219
+ #
4220
+ # resp.last_modified #=> Time
4221
+ # resp.function_arn #=> String
4222
+ # resp.maximum_retry_attempts #=> Integer
4223
+ # resp.maximum_event_age_in_seconds #=> Integer
4224
+ # resp.destination_config.on_success.destination #=> String
4225
+ # resp.destination_config.on_failure.destination #=> String
4226
+ #
4227
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/UpdateFunctionEventInvokeConfig AWS API Documentation
4228
+ #
4229
+ # @overload update_function_event_invoke_config(params = {})
4230
+ # @param [Hash] params ({})
4231
+ def update_function_event_invoke_config(params = {}, options = {})
4232
+ req = build_request(:update_function_event_invoke_config, params)
4233
+ req.send_request(options)
4234
+ end
4235
+
3622
4236
  # @!endgroup
3623
4237
 
3624
4238
  # @param params ({})
@@ -3632,7 +4246,7 @@ module Aws::Lambda
3632
4246
  params: params,
3633
4247
  config: config)
3634
4248
  context[:gem_name] = 'aws-sdk-lambda'
3635
- context[:gem_version] = '1.32.0'
4249
+ context[:gem_version] = '1.33.0'
3636
4250
  Seahorse::Client::Request.new(handlers, context)
3637
4251
  end
3638
4252
 
@@ -3698,9 +4312,11 @@ module Aws::Lambda
3698
4312
  # The following table lists the valid waiter names, the operations they call,
3699
4313
  # and the default `:delay` and `:max_attempts` values.
3700
4314
  #
3701
- # | waiter_name | params | :delay | :max_attempts |
3702
- # | --------------- | --------------- | -------- | ------------- |
3703
- # | function_exists | {#get_function} | 1 | 20 |
4315
+ # | waiter_name | params | :delay | :max_attempts |
4316
+ # | ---------------- | ----------------------------- | -------- | ------------- |
4317
+ # | function_active | {#get_function_configuration} | 5 | 60 |
4318
+ # | function_exists | {#get_function} | 1 | 20 |
4319
+ # | function_updated | {#get_function_configuration} | 5 | 60 |
3704
4320
  #
3705
4321
  # @raise [Errors::FailureStateError] Raised when the waiter terminates
3706
4322
  # because the waiter has entered a state that it will not transition
@@ -3751,7 +4367,9 @@ module Aws::Lambda
3751
4367
 
3752
4368
  def waiters
3753
4369
  {
3754
- function_exists: Waiters::FunctionExists
4370
+ function_active: Waiters::FunctionActive,
4371
+ function_exists: Waiters::FunctionExists,
4372
+ function_updated: Waiters::FunctionUpdated
3755
4373
  }
3756
4374
  end
3757
4375