aws-sdk-lambda 1.91.0 → 1.93.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -214,7 +214,7 @@ module Aws::Lambda
214
214
  #
215
215
  # @!attribute [rw] function_url_auth_type
216
216
  # The type of authentication that your function URL uses. Set to
217
- # `AWS_IAM` if you want to restrict access to authenticated IAM users
217
+ # `AWS_IAM` if you want to restrict access to authenticated users
218
218
  # only. Set to `NONE` if you want to bypass IAM authentication to
219
219
  # create a public endpoint. For more information, see [Security and
220
220
  # auth model for Lambda function URLs][1].
@@ -661,6 +661,8 @@ module Aws::Lambda
661
661
  # cluster.
662
662
  #
663
663
  # * **Amazon MQ** – The ARN of the broker.
664
+ #
665
+ # * **Amazon DocumentDB** – The ARN of the DocumentDB change stream.
664
666
  # @return [String]
665
667
  #
666
668
  # @!attribute [rw] function_name
@@ -708,6 +710,8 @@ module Aws::Lambda
708
710
  # * **Self-managed Apache Kafka** – Default 100. Max 10,000.
709
711
  #
710
712
  # * **Amazon MQ (ActiveMQ and RabbitMQ)** – Default 100. Max 10,000.
713
+ #
714
+ # * **DocumentDB** – Default 100. Max 10,000.
711
715
  # @return [Integer]
712
716
  #
713
717
  # @!attribute [rw] filter_criteria
@@ -727,12 +731,13 @@ module Aws::Lambda
727
731
  # seconds in increments of seconds.
728
732
  #
729
733
  # For streams and Amazon SQS event sources, the default batching
730
- # window is 0 seconds. For Amazon MSK, Self-managed Apache Kafka, and
731
- # Amazon MQ event sources, the default batching window is 500 ms. Note
732
- # that because you can only change `MaximumBatchingWindowInSeconds` in
733
- # increments of seconds, you cannot revert back to the 500 ms default
734
- # batching window after you have changed it. To restore the default
735
- # batching window, you must create a new event source mapping.
734
+ # window is 0 seconds. For Amazon MSK, Self-managed Apache Kafka,
735
+ # Amazon MQ, and DocumentDB event sources, the default batching window
736
+ # is 500 ms. Note that because you can only change
737
+ # `MaximumBatchingWindowInSeconds` in increments of seconds, you
738
+ # cannot revert back to the 500 ms default batching window after you
739
+ # have changed it. To restore the default batching window, you must
740
+ # create a new event source mapping.
736
741
  #
737
742
  # Related setting: For streams and Amazon SQS event sources, when you
738
743
  # set `BatchSize` to a value greater than 10, you must set
@@ -740,14 +745,15 @@ module Aws::Lambda
740
745
  # @return [Integer]
741
746
  #
742
747
  # @!attribute [rw] parallelization_factor
743
- # (Streams only) The number of batches to process from each shard
744
- # concurrently.
748
+ # (Kinesis and DynamoDB Streams only) The number of batches to process
749
+ # from each shard concurrently.
745
750
  # @return [Integer]
746
751
  #
747
752
  # @!attribute [rw] starting_position
748
753
  # The position in a stream from which to start reading. Required for
749
754
  # Amazon Kinesis, Amazon DynamoDB, and Amazon MSK Streams sources.
750
- # `AT_TIMESTAMP` is supported only for Amazon Kinesis streams.
755
+ # `AT_TIMESTAMP` is supported only for Amazon Kinesis streams and
756
+ # Amazon DocumentDB.
751
757
  # @return [String]
752
758
  #
753
759
  # @!attribute [rw] starting_position_timestamp
@@ -756,29 +762,31 @@ module Aws::Lambda
756
762
  # @return [Time]
757
763
  #
758
764
  # @!attribute [rw] destination_config
759
- # (Streams only) An Amazon SQS queue or Amazon SNS topic destination
760
- # for discarded records.
765
+ # (Kinesis and DynamoDB Streams only) A standard Amazon SQS queue or
766
+ # standard Amazon SNS topic destination for discarded records.
761
767
  # @return [Types::DestinationConfig]
762
768
  #
763
769
  # @!attribute [rw] maximum_record_age_in_seconds
764
- # (Streams only) Discard records older than the specified age. The
765
- # default value is infinite (-1).
770
+ # (Kinesis and DynamoDB Streams only) Discard records older than the
771
+ # specified age. The default value is infinite (-1).
766
772
  # @return [Integer]
767
773
  #
768
774
  # @!attribute [rw] bisect_batch_on_function_error
769
- # (Streams only) If the function returns an error, split the batch in
770
- # two and retry.
775
+ # (Kinesis and DynamoDB Streams only) If the function returns an
776
+ # error, split the batch in two and retry.
771
777
  # @return [Boolean]
772
778
  #
773
779
  # @!attribute [rw] maximum_retry_attempts
774
- # (Streams only) Discard records after the specified number of
775
- # retries. The default value is infinite (-1). When set to infinite
776
- # (-1), failed records are retried until the record expires.
780
+ # (Kinesis and DynamoDB Streams only) Discard records after the
781
+ # specified number of retries. The default value is infinite (-1).
782
+ # When set to infinite (-1), failed records are retried until the
783
+ # record expires.
777
784
  # @return [Integer]
778
785
  #
779
786
  # @!attribute [rw] tumbling_window_in_seconds
780
- # (Streams only) The duration in seconds of a processing window. The
781
- # range is between 1 second and 900 seconds.
787
+ # (Kinesis and DynamoDB Streams only) The duration in seconds of a
788
+ # processing window for DynamoDB and Kinesis Streams event sources. A
789
+ # value of 0 seconds indicates no tumbling window.
782
790
  # @return [Integer]
783
791
  #
784
792
  # @!attribute [rw] topics
@@ -799,8 +807,8 @@ module Aws::Lambda
799
807
  # @return [Types::SelfManagedEventSource]
800
808
  #
801
809
  # @!attribute [rw] function_response_types
802
- # (Streams and Amazon SQS) A list of current response type enums
803
- # applied to the event source mapping.
810
+ # (Kinesis, DynamoDB Streams, and Amazon SQS) A list of current
811
+ # response type enums applied to the event source mapping.
804
812
  # @return [Array<String>]
805
813
  #
806
814
  # @!attribute [rw] amazon_managed_kafka_event_source_config
@@ -823,6 +831,10 @@ module Aws::Lambda
823
831
  # [1]: https://docs.aws.amazon.com/lambda/latest/dg/with-sqs.html#events-sqs-max-concurrency
824
832
  # @return [Types::ScalingConfig]
825
833
  #
834
+ # @!attribute [rw] document_db_event_source_config
835
+ # Specific configuration settings for a DocumentDB event source.
836
+ # @return [Types::DocumentDBEventSourceConfig]
837
+ #
826
838
  # @see http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/CreateEventSourceMappingRequest AWS API Documentation
827
839
  #
828
840
  class CreateEventSourceMappingRequest < Struct.new(
@@ -847,7 +859,8 @@ module Aws::Lambda
847
859
  :function_response_types,
848
860
  :amazon_managed_kafka_event_source_config,
849
861
  :self_managed_kafka_event_source_config,
850
- :scaling_config)
862
+ :scaling_config,
863
+ :document_db_event_source_config)
851
864
  SENSITIVE = []
852
865
  include Aws::Structure
853
866
  end
@@ -872,9 +885,13 @@ module Aws::Lambda
872
885
  # The identifier of the function's [runtime][1]. Runtime is required
873
886
  # if the deployment package is a .zip file archive.
874
887
  #
888
+ # The following list includes deprecated runtimes. For more
889
+ # information, see [Runtime deprecation policy][2].
890
+ #
875
891
  #
876
892
  #
877
893
  # [1]: https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html
894
+ # [2]: https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html#runtime-support-policy
878
895
  # @return [String]
879
896
  #
880
897
  # @!attribute [rw] role
@@ -960,9 +977,16 @@ module Aws::Lambda
960
977
  # @return [Types::Environment]
961
978
  #
962
979
  # @!attribute [rw] kms_key_arn
963
- # The ARN of the Key Management Service (KMS) key that's used to
964
- # encrypt your function's environment variables. If it's not
965
- # provided, Lambda uses a default service key.
980
+ # The ARN of the Key Management Service (KMS) customer managed key
981
+ # that's used to encrypt your function's [environment variables][1].
982
+ # When [Lambda SnapStart][2] is activated, this key is also used to
983
+ # encrypt your function's snapshot. If you don't provide a customer
984
+ # managed key, Lambda uses a default service key.
985
+ #
986
+ #
987
+ #
988
+ # [1]: https://docs.aws.amazon.com/lambda/latest/dg/configuration-envvars.html#configuration-envvars-encryption
989
+ # [2]: https://docs.aws.amazon.com/lambda/latest/dg/snapstart-security.html
966
990
  # @return [String]
967
991
  #
968
992
  # @!attribute [rw] tracing_config
@@ -1082,7 +1106,7 @@ module Aws::Lambda
1082
1106
  #
1083
1107
  # @!attribute [rw] auth_type
1084
1108
  # The type of authentication that your function URL uses. Set to
1085
- # `AWS_IAM` if you want to restrict access to authenticated IAM users
1109
+ # `AWS_IAM` if you want to restrict access to authenticated users
1086
1110
  # only. Set to `NONE` if you want to bypass IAM authentication to
1087
1111
  # create a public endpoint. For more information, see [Security and
1088
1112
  # auth model for Lambda function URLs][1].
@@ -1101,13 +1125,33 @@ module Aws::Lambda
1101
1125
  # [1]: https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS
1102
1126
  # @return [Types::Cors]
1103
1127
  #
1128
+ # @!attribute [rw] invoke_mode
1129
+ # Use one of the following options:
1130
+ #
1131
+ # * `BUFFERED` – This is the default option. Lambda invokes your
1132
+ # function using the `Invoke` API operation. Invocation results are
1133
+ # available when the payload is complete. The maximum payload size
1134
+ # is 6 MB.
1135
+ #
1136
+ # * `RESPONSE_STREAM` – Your function streams payload results as they
1137
+ # become available. Lambda invokes your function using the
1138
+ # `InvokeWithResponseStream` API operation. The maximum response
1139
+ # payload size is 20 MB, however, you can [request a quota
1140
+ # increase][1].
1141
+ #
1142
+ #
1143
+ #
1144
+ # [1]: https://docs.aws.amazon.com/servicequotas/latest/userguide/request-quota-increase.html
1145
+ # @return [String]
1146
+ #
1104
1147
  # @see http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/CreateFunctionUrlConfigRequest AWS API Documentation
1105
1148
  #
1106
1149
  class CreateFunctionUrlConfigRequest < Struct.new(
1107
1150
  :function_name,
1108
1151
  :qualifier,
1109
1152
  :auth_type,
1110
- :cors)
1153
+ :cors,
1154
+ :invoke_mode)
1111
1155
  SENSITIVE = []
1112
1156
  include Aws::Structure
1113
1157
  end
@@ -1122,7 +1166,7 @@ module Aws::Lambda
1122
1166
  #
1123
1167
  # @!attribute [rw] auth_type
1124
1168
  # The type of authentication that your function URL uses. Set to
1125
- # `AWS_IAM` if you want to restrict access to authenticated IAM users
1169
+ # `AWS_IAM` if you want to restrict access to authenticated users
1126
1170
  # only. Set to `NONE` if you want to bypass IAM authentication to
1127
1171
  # create a public endpoint. For more information, see [Security and
1128
1172
  # auth model for Lambda function URLs][1].
@@ -1150,6 +1194,25 @@ module Aws::Lambda
1150
1194
  # [1]: https://www.w3.org/TR/NOTE-datetime
1151
1195
  # @return [Time]
1152
1196
  #
1197
+ # @!attribute [rw] invoke_mode
1198
+ # Use one of the following options:
1199
+ #
1200
+ # * `BUFFERED` – This is the default option. Lambda invokes your
1201
+ # function using the `Invoke` API operation. Invocation results are
1202
+ # available when the payload is complete. The maximum payload size
1203
+ # is 6 MB.
1204
+ #
1205
+ # * `RESPONSE_STREAM` – Your function streams payload results as they
1206
+ # become available. Lambda invokes your function using the
1207
+ # `InvokeWithResponseStream` API operation. The maximum response
1208
+ # payload size is 20 MB, however, you can [request a quota
1209
+ # increase][1].
1210
+ #
1211
+ #
1212
+ #
1213
+ # [1]: https://docs.aws.amazon.com/servicequotas/latest/userguide/request-quota-increase.html
1214
+ # @return [String]
1215
+ #
1153
1216
  # @see http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/CreateFunctionUrlConfigResponse AWS API Documentation
1154
1217
  #
1155
1218
  class CreateFunctionUrlConfigResponse < Struct.new(
@@ -1157,7 +1220,8 @@ module Aws::Lambda
1157
1220
  :function_arn,
1158
1221
  :auth_type,
1159
1222
  :cors,
1160
- :creation_time)
1223
+ :creation_time,
1224
+ :invoke_mode)
1161
1225
  SENSITIVE = []
1162
1226
  include Aws::Structure
1163
1227
  end
@@ -1445,6 +1509,35 @@ module Aws::Lambda
1445
1509
  include Aws::Structure
1446
1510
  end
1447
1511
 
1512
+ # Specific configuration settings for a DocumentDB event source.
1513
+ #
1514
+ # @!attribute [rw] database_name
1515
+ # The name of the database to consume within the DocumentDB cluster.
1516
+ # @return [String]
1517
+ #
1518
+ # @!attribute [rw] collection_name
1519
+ # The name of the collection to consume within the database. If you do
1520
+ # not specify a collection, Lambda consumes all collections.
1521
+ # @return [String]
1522
+ #
1523
+ # @!attribute [rw] full_document
1524
+ # Determines what DocumentDB sends to your event stream during
1525
+ # document update operations. If set to UpdateLookup, DocumentDB sends
1526
+ # a delta describing the changes, along with a copy of the entire
1527
+ # document. Otherwise, DocumentDB sends only a partial document that
1528
+ # contains the changes.
1529
+ # @return [String]
1530
+ #
1531
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/DocumentDBEventSourceConfig AWS API Documentation
1532
+ #
1533
+ class DocumentDBEventSourceConfig < Struct.new(
1534
+ :database_name,
1535
+ :collection_name,
1536
+ :full_document)
1537
+ SENSITIVE = []
1538
+ include Aws::Structure
1539
+ end
1540
+
1448
1541
  # Need additional permissions to configure VPC settings.
1449
1542
  #
1450
1543
  # @!attribute [rw] type
@@ -1685,7 +1778,8 @@ module Aws::Lambda
1685
1778
  # @!attribute [rw] starting_position
1686
1779
  # The position in a stream from which to start reading. Required for
1687
1780
  # Amazon Kinesis, Amazon DynamoDB, and Amazon MSK stream sources.
1688
- # `AT_TIMESTAMP` is supported only for Amazon Kinesis streams.
1781
+ # `AT_TIMESTAMP` is supported only for Amazon Kinesis streams and
1782
+ # Amazon DocumentDB.
1689
1783
  # @return [String]
1690
1784
  #
1691
1785
  # @!attribute [rw] starting_position_timestamp
@@ -1713,12 +1807,13 @@ module Aws::Lambda
1713
1807
  # seconds in increments of seconds.
1714
1808
  #
1715
1809
  # For streams and Amazon SQS event sources, the default batching
1716
- # window is 0 seconds. For Amazon MSK, Self-managed Apache Kafka, and
1717
- # Amazon MQ event sources, the default batching window is 500 ms. Note
1718
- # that because you can only change `MaximumBatchingWindowInSeconds` in
1719
- # increments of seconds, you cannot revert back to the 500 ms default
1720
- # batching window after you have changed it. To restore the default
1721
- # batching window, you must create a new event source mapping.
1810
+ # window is 0 seconds. For Amazon MSK, Self-managed Apache Kafka,
1811
+ # Amazon MQ, and DocumentDB event sources, the default batching window
1812
+ # is 500 ms. Note that because you can only change
1813
+ # `MaximumBatchingWindowInSeconds` in increments of seconds, you
1814
+ # cannot revert back to the 500 ms default batching window after you
1815
+ # have changed it. To restore the default batching window, you must
1816
+ # create a new event source mapping.
1722
1817
  #
1723
1818
  # Related setting: For streams and Amazon SQS event sources, when you
1724
1819
  # set `BatchSize` to a value greater than 10, you must set
@@ -1726,8 +1821,8 @@ module Aws::Lambda
1726
1821
  # @return [Integer]
1727
1822
  #
1728
1823
  # @!attribute [rw] parallelization_factor
1729
- # (Streams only) The number of batches to process concurrently from
1730
- # each shard. The default value is 1.
1824
+ # (Kinesis and DynamoDB Streams only) The number of batches to process
1825
+ # concurrently from each shard. The default value is 1.
1731
1826
  # @return [Integer]
1732
1827
  #
1733
1828
  # @!attribute [rw] event_source_arn
@@ -1769,8 +1864,8 @@ module Aws::Lambda
1769
1864
  # @return [String]
1770
1865
  #
1771
1866
  # @!attribute [rw] destination_config
1772
- # (Streams only) An Amazon SQS queue or Amazon SNS topic destination
1773
- # for discarded records.
1867
+ # (Kinesis and DynamoDB Streams only) An Amazon SQS queue or Amazon
1868
+ # SNS topic destination for discarded records.
1774
1869
  # @return [Types::DestinationConfig]
1775
1870
  #
1776
1871
  # @!attribute [rw] topics
@@ -1792,31 +1887,34 @@ module Aws::Lambda
1792
1887
  # @return [Types::SelfManagedEventSource]
1793
1888
  #
1794
1889
  # @!attribute [rw] maximum_record_age_in_seconds
1795
- # (Streams only) Discard records older than the specified age. The
1796
- # default value is -1, which sets the maximum age to infinite. When
1797
- # the value is set to infinite, Lambda never discards old records.
1890
+ # (Kinesis and DynamoDB Streams only) Discard records older than the
1891
+ # specified age. The default value is -1, which sets the maximum age
1892
+ # to infinite. When the value is set to infinite, Lambda never
1893
+ # discards old records.
1798
1894
  # @return [Integer]
1799
1895
  #
1800
1896
  # @!attribute [rw] bisect_batch_on_function_error
1801
- # (Streams only) If the function returns an error, split the batch in
1802
- # two and retry. The default value is false.
1897
+ # (Kinesis and DynamoDB Streams only) If the function returns an
1898
+ # error, split the batch in two and retry. The default value is false.
1803
1899
  # @return [Boolean]
1804
1900
  #
1805
1901
  # @!attribute [rw] maximum_retry_attempts
1806
- # (Streams only) Discard records after the specified number of
1807
- # retries. The default value is -1, which sets the maximum number of
1808
- # retries to infinite. When MaximumRetryAttempts is infinite, Lambda
1809
- # retries failed records until the record expires in the event source.
1902
+ # (Kinesis and DynamoDB Streams only) Discard records after the
1903
+ # specified number of retries. The default value is -1, which sets the
1904
+ # maximum number of retries to infinite. When MaximumRetryAttempts is
1905
+ # infinite, Lambda retries failed records until the record expires in
1906
+ # the event source.
1810
1907
  # @return [Integer]
1811
1908
  #
1812
1909
  # @!attribute [rw] tumbling_window_in_seconds
1813
- # (Streams only) The duration in seconds of a processing window. The
1814
- # range is 1–900 seconds.
1910
+ # (Kinesis and DynamoDB Streams only) The duration in seconds of a
1911
+ # processing window for DynamoDB and Kinesis Streams event sources. A
1912
+ # value of 0 seconds indicates no tumbling window.
1815
1913
  # @return [Integer]
1816
1914
  #
1817
1915
  # @!attribute [rw] function_response_types
1818
- # (Streams and Amazon SQS) A list of current response type enums
1819
- # applied to the event source mapping.
1916
+ # (Kinesis, DynamoDB Streams, and Amazon SQS) A list of current
1917
+ # response type enums applied to the event source mapping.
1820
1918
  # @return [Array<String>]
1821
1919
  #
1822
1920
  # @!attribute [rw] amazon_managed_kafka_event_source_config
@@ -1839,6 +1937,10 @@ module Aws::Lambda
1839
1937
  # [1]: https://docs.aws.amazon.com/lambda/latest/dg/with-sqs.html#events-sqs-max-concurrency
1840
1938
  # @return [Types::ScalingConfig]
1841
1939
  #
1940
+ # @!attribute [rw] document_db_event_source_config
1941
+ # Specific configuration settings for a DocumentDB event source.
1942
+ # @return [Types::DocumentDBEventSourceConfig]
1943
+ #
1842
1944
  # @see http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/EventSourceMappingConfiguration AWS API Documentation
1843
1945
  #
1844
1946
  class EventSourceMappingConfiguration < Struct.new(
@@ -1867,7 +1969,8 @@ module Aws::Lambda
1867
1969
  :function_response_types,
1868
1970
  :amazon_managed_kafka_event_source_config,
1869
1971
  :self_managed_kafka_event_source_config,
1870
- :scaling_config)
1972
+ :scaling_config,
1973
+ :document_db_event_source_config)
1871
1974
  SENSITIVE = []
1872
1975
  include Aws::Structure
1873
1976
  end
@@ -2079,9 +2182,15 @@ module Aws::Lambda
2079
2182
  # @return [Types::EnvironmentResponse]
2080
2183
  #
2081
2184
  # @!attribute [rw] kms_key_arn
2082
- # The KMS key that's used to encrypt the function's environment
2083
- # variables. This key is returned only if you've configured a
2084
- # customer managed key.
2185
+ # The KMS key that's used to encrypt the function's [environment
2186
+ # variables][1]. When [Lambda SnapStart][2] is activated, this key is
2187
+ # also used to encrypt the function's snapshot. This key is returned
2188
+ # only if you've configured a customer managed key.
2189
+ #
2190
+ #
2191
+ #
2192
+ # [1]: https://docs.aws.amazon.com/lambda/latest/dg/configuration-envvars.html#configuration-envvars-encryption
2193
+ # [2]: https://docs.aws.amazon.com/lambda/latest/dg/snapstart-security.html
2085
2194
  # @return [String]
2086
2195
  #
2087
2196
  # @!attribute [rw] tracing_config
@@ -2252,9 +2361,9 @@ module Aws::Lambda
2252
2361
  # * **Function** - The Amazon Resource Name (ARN) of a Lambda
2253
2362
  # function.
2254
2363
  #
2255
- # * **Queue** - The ARN of an SQS queue.
2364
+ # * **Queue** - The ARN of a standard SQS queue.
2256
2365
  #
2257
- # * **Topic** - The ARN of an SNS topic.
2366
+ # * **Topic** - The ARN of a standard SNS topic.
2258
2367
  #
2259
2368
  # * **Event Bus** - The ARN of an Amazon EventBridge event bus.
2260
2369
  # @return [Types::DestinationConfig]
@@ -2310,7 +2419,7 @@ module Aws::Lambda
2310
2419
  #
2311
2420
  # @!attribute [rw] auth_type
2312
2421
  # The type of authentication that your function URL uses. Set to
2313
- # `AWS_IAM` if you want to restrict access to authenticated IAM users
2422
+ # `AWS_IAM` if you want to restrict access to authenticated users
2314
2423
  # only. Set to `NONE` if you want to bypass IAM authentication to
2315
2424
  # create a public endpoint. For more information, see [Security and
2316
2425
  # auth model for Lambda function URLs][1].
@@ -2320,6 +2429,25 @@ module Aws::Lambda
2320
2429
  # [1]: https://docs.aws.amazon.com/lambda/latest/dg/urls-auth.html
2321
2430
  # @return [String]
2322
2431
  #
2432
+ # @!attribute [rw] invoke_mode
2433
+ # Use one of the following options:
2434
+ #
2435
+ # * `BUFFERED` – This is the default option. Lambda invokes your
2436
+ # function using the `Invoke` API operation. Invocation results are
2437
+ # available when the payload is complete. The maximum payload size
2438
+ # is 6 MB.
2439
+ #
2440
+ # * `RESPONSE_STREAM` – Your function streams payload results as they
2441
+ # become available. Lambda invokes your function using the
2442
+ # `InvokeWithResponseStream` API operation. The maximum response
2443
+ # payload size is 20 MB, however, you can [request a quota
2444
+ # increase][1].
2445
+ #
2446
+ #
2447
+ #
2448
+ # [1]: https://docs.aws.amazon.com/servicequotas/latest/userguide/request-quota-increase.html
2449
+ # @return [String]
2450
+ #
2323
2451
  # @see http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/FunctionUrlConfig AWS API Documentation
2324
2452
  #
2325
2453
  class FunctionUrlConfig < Struct.new(
@@ -2328,7 +2456,8 @@ module Aws::Lambda
2328
2456
  :creation_time,
2329
2457
  :last_modified_time,
2330
2458
  :cors,
2331
- :auth_type)
2459
+ :auth_type,
2460
+ :invoke_mode)
2332
2461
  SENSITIVE = []
2333
2462
  include Aws::Structure
2334
2463
  end
@@ -2682,7 +2811,7 @@ module Aws::Lambda
2682
2811
  #
2683
2812
  # @!attribute [rw] auth_type
2684
2813
  # The type of authentication that your function URL uses. Set to
2685
- # `AWS_IAM` if you want to restrict access to authenticated IAM users
2814
+ # `AWS_IAM` if you want to restrict access to authenticated users
2686
2815
  # only. Set to `NONE` if you want to bypass IAM authentication to
2687
2816
  # create a public endpoint. For more information, see [Security and
2688
2817
  # auth model for Lambda function URLs][1].
@@ -2719,6 +2848,25 @@ module Aws::Lambda
2719
2848
  # [1]: https://www.w3.org/TR/NOTE-datetime
2720
2849
  # @return [Time]
2721
2850
  #
2851
+ # @!attribute [rw] invoke_mode
2852
+ # Use one of the following options:
2853
+ #
2854
+ # * `BUFFERED` – This is the default option. Lambda invokes your
2855
+ # function using the `Invoke` API operation. Invocation results are
2856
+ # available when the payload is complete. The maximum payload size
2857
+ # is 6 MB.
2858
+ #
2859
+ # * `RESPONSE_STREAM` – Your function streams payload results as they
2860
+ # become available. Lambda invokes your function using the
2861
+ # `InvokeWithResponseStream` API operation. The maximum response
2862
+ # payload size is 20 MB, however, you can [request a quota
2863
+ # increase][1].
2864
+ #
2865
+ #
2866
+ #
2867
+ # [1]: https://docs.aws.amazon.com/servicequotas/latest/userguide/request-quota-increase.html
2868
+ # @return [String]
2869
+ #
2722
2870
  # @see http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetFunctionUrlConfigResponse AWS API Documentation
2723
2871
  #
2724
2872
  class GetFunctionUrlConfigResponse < Struct.new(
@@ -2727,7 +2875,8 @@ module Aws::Lambda
2727
2875
  :auth_type,
2728
2876
  :cors,
2729
2877
  :creation_time,
2730
- :last_modified_time)
2878
+ :last_modified_time,
2879
+ :invoke_mode)
2731
2880
  SENSITIVE = []
2732
2881
  include Aws::Structure
2733
2882
  end
@@ -3020,11 +3169,16 @@ module Aws::Lambda
3020
3169
  # `null` is returned.
3021
3170
  # @return [String]
3022
3171
  #
3172
+ # @!attribute [rw] function_arn
3173
+ # The Amazon Resource Name (ARN) of your function.
3174
+ # @return [String]
3175
+ #
3023
3176
  # @see http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetRuntimeManagementConfigResponse AWS API Documentation
3024
3177
  #
3025
3178
  class GetRuntimeManagementConfigResponse < Struct.new(
3026
3179
  :update_runtime_on,
3027
- :runtime_version_arn)
3180
+ :runtime_version_arn,
3181
+ :function_arn)
3028
3182
  SENSITIVE = []
3029
3183
  include Aws::Structure
3030
3184
  end
@@ -3377,6 +3531,140 @@ module Aws::Lambda
3377
3531
  include Aws::Structure
3378
3532
  end
3379
3533
 
3534
+ # A chunk of the streamed response payload.
3535
+ #
3536
+ # @!attribute [rw] payload
3537
+ # Data returned by your Lambda function.
3538
+ # @return [String]
3539
+ #
3540
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/InvokeResponseStreamUpdate AWS API Documentation
3541
+ #
3542
+ class InvokeResponseStreamUpdate < Struct.new(
3543
+ :payload,
3544
+ :event_type)
3545
+ SENSITIVE = [:payload]
3546
+ include Aws::Structure
3547
+ end
3548
+
3549
+ # A response confirming that the event stream is complete.
3550
+ #
3551
+ # @!attribute [rw] error_code
3552
+ # An error code.
3553
+ # @return [String]
3554
+ #
3555
+ # @!attribute [rw] error_details
3556
+ # The details of any returned error.
3557
+ # @return [String]
3558
+ #
3559
+ # @!attribute [rw] log_result
3560
+ # The last 4 KB of the execution log, which is base64-encoded.
3561
+ # @return [String]
3562
+ #
3563
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/InvokeWithResponseStreamCompleteEvent AWS API Documentation
3564
+ #
3565
+ class InvokeWithResponseStreamCompleteEvent < Struct.new(
3566
+ :error_code,
3567
+ :error_details,
3568
+ :log_result,
3569
+ :event_type)
3570
+ SENSITIVE = []
3571
+ include Aws::Structure
3572
+ end
3573
+
3574
+ # @!attribute [rw] function_name
3575
+ # The name of the Lambda function.
3576
+ #
3577
+ # **Name formats**
3578
+ #
3579
+ # * **Function name** – `my-function`.
3580
+ #
3581
+ # * **Function ARN** –
3582
+ # `arn:aws:lambda:us-west-2:123456789012:function:my-function`.
3583
+ #
3584
+ # * **Partial ARN** – `123456789012:function:my-function`.
3585
+ #
3586
+ # The length constraint applies only to the full ARN. If you specify
3587
+ # only the function name, it is limited to 64 characters in length.
3588
+ # @return [String]
3589
+ #
3590
+ # @!attribute [rw] invocation_type
3591
+ # Use one of the following options:
3592
+ #
3593
+ # * `RequestResponse` (default) – Invoke the function synchronously.
3594
+ # Keep the connection open until the function returns a response or
3595
+ # times out. The API operation response includes the function
3596
+ # response and additional data.
3597
+ #
3598
+ # * `DryRun` – Validate parameter values and verify that the IAM user
3599
+ # or role has permission to invoke the function.
3600
+ # @return [String]
3601
+ #
3602
+ # @!attribute [rw] log_type
3603
+ # Set to `Tail` to include the execution log in the response. Applies
3604
+ # to synchronously invoked functions only.
3605
+ # @return [String]
3606
+ #
3607
+ # @!attribute [rw] client_context
3608
+ # Up to 3,583 bytes of base64-encoded data about the invoking client
3609
+ # to pass to the function in the context object.
3610
+ # @return [String]
3611
+ #
3612
+ # @!attribute [rw] qualifier
3613
+ # The alias name.
3614
+ # @return [String]
3615
+ #
3616
+ # @!attribute [rw] payload
3617
+ # The JSON that you want to provide to your Lambda function as input.
3618
+ #
3619
+ # You can enter the JSON directly. For example, `--payload '\{ "key":
3620
+ # "value" \}'`. You can also specify a file path. For example,
3621
+ # `--payload file://payload.json`.
3622
+ # @return [String]
3623
+ #
3624
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/InvokeWithResponseStreamRequest AWS API Documentation
3625
+ #
3626
+ class InvokeWithResponseStreamRequest < Struct.new(
3627
+ :function_name,
3628
+ :invocation_type,
3629
+ :log_type,
3630
+ :client_context,
3631
+ :qualifier,
3632
+ :payload)
3633
+ SENSITIVE = [:payload]
3634
+ include Aws::Structure
3635
+ end
3636
+
3637
+ # @!attribute [rw] status_code
3638
+ # For a successful request, the HTTP status code is in the 200 range.
3639
+ # For the `RequestResponse` invocation type, this status code is 200.
3640
+ # For the `DryRun` invocation type, this status code is 204.
3641
+ # @return [Integer]
3642
+ #
3643
+ # @!attribute [rw] executed_version
3644
+ # The version of the function that executed. When you invoke a
3645
+ # function with an alias, this indicates which version the alias
3646
+ # resolved to.
3647
+ # @return [String]
3648
+ #
3649
+ # @!attribute [rw] event_stream
3650
+ # The stream of response payloads.
3651
+ # @return [Types::InvokeWithResponseStreamResponseEvent]
3652
+ #
3653
+ # @!attribute [rw] response_stream_content_type
3654
+ # The type of data the stream is returning.
3655
+ # @return [String]
3656
+ #
3657
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/InvokeWithResponseStreamResponse AWS API Documentation
3658
+ #
3659
+ class InvokeWithResponseStreamResponse < Struct.new(
3660
+ :status_code,
3661
+ :executed_version,
3662
+ :event_stream,
3663
+ :response_stream_content_type)
3664
+ SENSITIVE = []
3665
+ include Aws::Structure
3666
+ end
3667
+
3380
3668
  # Lambda couldn't decrypt the environment variables because KMS access
3381
3669
  # was denied. Check the Lambda function's KMS permissions.
3382
3670
  #
@@ -3748,6 +4036,8 @@ module Aws::Lambda
3748
4036
  # cluster.
3749
4037
  #
3750
4038
  # * **Amazon MQ** – The ARN of the broker.
4039
+ #
4040
+ # * **Amazon DocumentDB** – The ARN of the DocumentDB change stream.
3751
4041
  # @return [String]
3752
4042
  #
3753
4043
  # @!attribute [rw] function_name
@@ -4679,9 +4969,9 @@ module Aws::Lambda
4679
4969
  # * **Function** - The Amazon Resource Name (ARN) of a Lambda
4680
4970
  # function.
4681
4971
  #
4682
- # * **Queue** - The ARN of an SQS queue.
4972
+ # * **Queue** - The ARN of a standard SQS queue.
4683
4973
  #
4684
- # * **Topic** - The ARN of an SNS topic.
4974
+ # * **Topic** - The ARN of a standard SNS topic.
4685
4975
  #
4686
4976
  # * **Event Bus** - The ARN of an Amazon EventBridge event bus.
4687
4977
  # @return [Types::DestinationConfig]
@@ -5613,6 +5903,8 @@ module Aws::Lambda
5613
5903
  # * **Self-managed Apache Kafka** – Default 100. Max 10,000.
5614
5904
  #
5615
5905
  # * **Amazon MQ (ActiveMQ and RabbitMQ)** – Default 100. Max 10,000.
5906
+ #
5907
+ # * **DocumentDB** – Default 100. Max 10,000.
5616
5908
  # @return [Integer]
5617
5909
  #
5618
5910
  # @!attribute [rw] filter_criteria
@@ -5632,12 +5924,13 @@ module Aws::Lambda
5632
5924
  # seconds in increments of seconds.
5633
5925
  #
5634
5926
  # For streams and Amazon SQS event sources, the default batching
5635
- # window is 0 seconds. For Amazon MSK, Self-managed Apache Kafka, and
5636
- # Amazon MQ event sources, the default batching window is 500 ms. Note
5637
- # that because you can only change `MaximumBatchingWindowInSeconds` in
5638
- # increments of seconds, you cannot revert back to the 500 ms default
5639
- # batching window after you have changed it. To restore the default
5640
- # batching window, you must create a new event source mapping.
5927
+ # window is 0 seconds. For Amazon MSK, Self-managed Apache Kafka,
5928
+ # Amazon MQ, and DocumentDB event sources, the default batching window
5929
+ # is 500 ms. Note that because you can only change
5930
+ # `MaximumBatchingWindowInSeconds` in increments of seconds, you
5931
+ # cannot revert back to the 500 ms default batching window after you
5932
+ # have changed it. To restore the default batching window, you must
5933
+ # create a new event source mapping.
5641
5934
  #
5642
5935
  # Related setting: For streams and Amazon SQS event sources, when you
5643
5936
  # set `BatchSize` to a value greater than 10, you must set
@@ -5645,29 +5938,30 @@ module Aws::Lambda
5645
5938
  # @return [Integer]
5646
5939
  #
5647
5940
  # @!attribute [rw] destination_config
5648
- # (Streams only) An Amazon SQS queue or Amazon SNS topic destination
5649
- # for discarded records.
5941
+ # (Kinesis and DynamoDB Streams only) A standard Amazon SQS queue or
5942
+ # standard Amazon SNS topic destination for discarded records.
5650
5943
  # @return [Types::DestinationConfig]
5651
5944
  #
5652
5945
  # @!attribute [rw] maximum_record_age_in_seconds
5653
- # (Streams only) Discard records older than the specified age. The
5654
- # default value is infinite (-1).
5946
+ # (Kinesis and DynamoDB Streams only) Discard records older than the
5947
+ # specified age. The default value is infinite (-1).
5655
5948
  # @return [Integer]
5656
5949
  #
5657
5950
  # @!attribute [rw] bisect_batch_on_function_error
5658
- # (Streams only) If the function returns an error, split the batch in
5659
- # two and retry.
5951
+ # (Kinesis and DynamoDB Streams only) If the function returns an
5952
+ # error, split the batch in two and retry.
5660
5953
  # @return [Boolean]
5661
5954
  #
5662
5955
  # @!attribute [rw] maximum_retry_attempts
5663
- # (Streams only) Discard records after the specified number of
5664
- # retries. The default value is infinite (-1). When set to infinite
5665
- # (-1), failed records are retried until the record expires.
5956
+ # (Kinesis and DynamoDB Streams only) Discard records after the
5957
+ # specified number of retries. The default value is infinite (-1).
5958
+ # When set to infinite (-1), failed records are retried until the
5959
+ # record expires.
5666
5960
  # @return [Integer]
5667
5961
  #
5668
5962
  # @!attribute [rw] parallelization_factor
5669
- # (Streams only) The number of batches to process from each shard
5670
- # concurrently.
5963
+ # (Kinesis and DynamoDB Streams only) The number of batches to process
5964
+ # from each shard concurrently.
5671
5965
  # @return [Integer]
5672
5966
  #
5673
5967
  # @!attribute [rw] source_access_configurations
@@ -5676,13 +5970,14 @@ module Aws::Lambda
5676
5970
  # @return [Array<Types::SourceAccessConfiguration>]
5677
5971
  #
5678
5972
  # @!attribute [rw] tumbling_window_in_seconds
5679
- # (Streams only) The duration in seconds of a processing window. The
5680
- # range is between 1 second and 900 seconds.
5973
+ # (Kinesis and DynamoDB Streams only) The duration in seconds of a
5974
+ # processing window for DynamoDB and Kinesis Streams event sources. A
5975
+ # value of 0 seconds indicates no tumbling window.
5681
5976
  # @return [Integer]
5682
5977
  #
5683
5978
  # @!attribute [rw] function_response_types
5684
- # (Streams and Amazon SQS) A list of current response type enums
5685
- # applied to the event source mapping.
5979
+ # (Kinesis, DynamoDB Streams, and Amazon SQS) A list of current
5980
+ # response type enums applied to the event source mapping.
5686
5981
  # @return [Array<String>]
5687
5982
  #
5688
5983
  # @!attribute [rw] scaling_config
@@ -5695,6 +5990,10 @@ module Aws::Lambda
5695
5990
  # [1]: https://docs.aws.amazon.com/lambda/latest/dg/with-sqs.html#events-sqs-max-concurrency
5696
5991
  # @return [Types::ScalingConfig]
5697
5992
  #
5993
+ # @!attribute [rw] document_db_event_source_config
5994
+ # Specific configuration settings for a DocumentDB event source.
5995
+ # @return [Types::DocumentDBEventSourceConfig]
5996
+ #
5698
5997
  # @see http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/UpdateEventSourceMappingRequest AWS API Documentation
5699
5998
  #
5700
5999
  class UpdateEventSourceMappingRequest < Struct.new(
@@ -5712,7 +6011,8 @@ module Aws::Lambda
5712
6011
  :source_access_configurations,
5713
6012
  :tumbling_window_in_seconds,
5714
6013
  :function_response_types,
5715
- :scaling_config)
6014
+ :scaling_config,
6015
+ :document_db_event_source_config)
5716
6016
  SENSITIVE = []
5717
6017
  include Aws::Structure
5718
6018
  end
@@ -5879,9 +6179,13 @@ module Aws::Lambda
5879
6179
  # The identifier of the function's [runtime][1]. Runtime is required
5880
6180
  # if the deployment package is a .zip file archive.
5881
6181
  #
6182
+ # The following list includes deprecated runtimes. For more
6183
+ # information, see [Runtime deprecation policy][2].
6184
+ #
5882
6185
  #
5883
6186
  #
5884
6187
  # [1]: https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html
6188
+ # [2]: https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html#runtime-support-policy
5885
6189
  # @return [String]
5886
6190
  #
5887
6191
  # @!attribute [rw] dead_letter_config
@@ -5895,9 +6199,16 @@ module Aws::Lambda
5895
6199
  # @return [Types::DeadLetterConfig]
5896
6200
  #
5897
6201
  # @!attribute [rw] kms_key_arn
5898
- # The ARN of the Key Management Service (KMS) key that's used to
5899
- # encrypt your function's environment variables. If it's not
5900
- # provided, Lambda uses a default service key.
6202
+ # The ARN of the Key Management Service (KMS) customer managed key
6203
+ # that's used to encrypt your function's [environment variables][1].
6204
+ # When [Lambda SnapStart][2] is activated, this key is also used to
6205
+ # encrypt your function's snapshot. If you don't provide a customer
6206
+ # managed key, Lambda uses a default service key.
6207
+ #
6208
+ #
6209
+ #
6210
+ # [1]: https://docs.aws.amazon.com/lambda/latest/dg/configuration-envvars.html#configuration-envvars-encryption
6211
+ # [2]: https://docs.aws.amazon.com/lambda/latest/dg/snapstart-security.html
5901
6212
  # @return [String]
5902
6213
  #
5903
6214
  # @!attribute [rw] tracing_config
@@ -6016,9 +6327,9 @@ module Aws::Lambda
6016
6327
  # * **Function** - The Amazon Resource Name (ARN) of a Lambda
6017
6328
  # function.
6018
6329
  #
6019
- # * **Queue** - The ARN of an SQS queue.
6330
+ # * **Queue** - The ARN of a standard SQS queue.
6020
6331
  #
6021
- # * **Topic** - The ARN of an SNS topic.
6332
+ # * **Topic** - The ARN of a standard SNS topic.
6022
6333
  #
6023
6334
  # * **Event Bus** - The ARN of an Amazon EventBridge event bus.
6024
6335
  # @return [Types::DestinationConfig]
@@ -6057,7 +6368,7 @@ module Aws::Lambda
6057
6368
  #
6058
6369
  # @!attribute [rw] auth_type
6059
6370
  # The type of authentication that your function URL uses. Set to
6060
- # `AWS_IAM` if you want to restrict access to authenticated IAM users
6371
+ # `AWS_IAM` if you want to restrict access to authenticated users
6061
6372
  # only. Set to `NONE` if you want to bypass IAM authentication to
6062
6373
  # create a public endpoint. For more information, see [Security and
6063
6374
  # auth model for Lambda function URLs][1].
@@ -6076,13 +6387,33 @@ module Aws::Lambda
6076
6387
  # [1]: https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS
6077
6388
  # @return [Types::Cors]
6078
6389
  #
6390
+ # @!attribute [rw] invoke_mode
6391
+ # Use one of the following options:
6392
+ #
6393
+ # * `BUFFERED` – This is the default option. Lambda invokes your
6394
+ # function using the `Invoke` API operation. Invocation results are
6395
+ # available when the payload is complete. The maximum payload size
6396
+ # is 6 MB.
6397
+ #
6398
+ # * `RESPONSE_STREAM` – Your function streams payload results as they
6399
+ # become available. Lambda invokes your function using the
6400
+ # `InvokeWithResponseStream` API operation. The maximum response
6401
+ # payload size is 20 MB, however, you can [request a quota
6402
+ # increase][1].
6403
+ #
6404
+ #
6405
+ #
6406
+ # [1]: https://docs.aws.amazon.com/servicequotas/latest/userguide/request-quota-increase.html
6407
+ # @return [String]
6408
+ #
6079
6409
  # @see http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/UpdateFunctionUrlConfigRequest AWS API Documentation
6080
6410
  #
6081
6411
  class UpdateFunctionUrlConfigRequest < Struct.new(
6082
6412
  :function_name,
6083
6413
  :qualifier,
6084
6414
  :auth_type,
6085
- :cors)
6415
+ :cors,
6416
+ :invoke_mode)
6086
6417
  SENSITIVE = []
6087
6418
  include Aws::Structure
6088
6419
  end
@@ -6097,7 +6428,7 @@ module Aws::Lambda
6097
6428
  #
6098
6429
  # @!attribute [rw] auth_type
6099
6430
  # The type of authentication that your function URL uses. Set to
6100
- # `AWS_IAM` if you want to restrict access to authenticated IAM users
6431
+ # `AWS_IAM` if you want to restrict access to authenticated users
6101
6432
  # only. Set to `NONE` if you want to bypass IAM authentication to
6102
6433
  # create a public endpoint. For more information, see [Security and
6103
6434
  # auth model for Lambda function URLs][1].
@@ -6134,6 +6465,25 @@ module Aws::Lambda
6134
6465
  # [1]: https://www.w3.org/TR/NOTE-datetime
6135
6466
  # @return [Time]
6136
6467
  #
6468
+ # @!attribute [rw] invoke_mode
6469
+ # Use one of the following options:
6470
+ #
6471
+ # * `BUFFERED` – This is the default option. Lambda invokes your
6472
+ # function using the `Invoke` API operation. Invocation results are
6473
+ # available when the payload is complete. The maximum payload size
6474
+ # is 6 MB.
6475
+ #
6476
+ # * `RESPONSE_STREAM` – Your function streams payload results as they
6477
+ # become available. Lambda invokes your function using the
6478
+ # `InvokeWithResponseStream` API operation. The maximum response
6479
+ # payload size is 20 MB, however, you can [request a quota
6480
+ # increase][1].
6481
+ #
6482
+ #
6483
+ #
6484
+ # [1]: https://docs.aws.amazon.com/servicequotas/latest/userguide/request-quota-increase.html
6485
+ # @return [String]
6486
+ #
6137
6487
  # @see http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/UpdateFunctionUrlConfigResponse AWS API Documentation
6138
6488
  #
6139
6489
  class UpdateFunctionUrlConfigResponse < Struct.new(
@@ -6142,7 +6492,8 @@ module Aws::Lambda
6142
6492
  :auth_type,
6143
6493
  :cors,
6144
6494
  :creation_time,
6145
- :last_modified_time)
6495
+ :last_modified_time,
6496
+ :invoke_mode)
6146
6497
  SENSITIVE = []
6147
6498
  include Aws::Structure
6148
6499
  end
@@ -6197,5 +6548,24 @@ module Aws::Lambda
6197
6548
  include Aws::Structure
6198
6549
  end
6199
6550
 
6551
+ # An object that includes a chunk of the response payload. When the
6552
+ # stream has ended, Lambda includes a `InvokeComplete` object.
6553
+ #
6554
+ # EventStream is an Enumerator of Events.
6555
+ # #event_types #=> Array, returns all modeled event types in the stream
6556
+ #
6557
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/InvokeWithResponseStreamResponseEvent AWS API Documentation
6558
+ #
6559
+ class InvokeWithResponseStreamResponseEvent < Enumerator
6560
+
6561
+ def event_types
6562
+ [
6563
+ :payload_chunk,
6564
+ :invoke_complete
6565
+ ]
6566
+ end
6567
+
6568
+ end
6569
+
6200
6570
  end
6201
6571
  end