aws-sdk-lambda 1.168.0 → 1.169.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.
@@ -754,6 +754,144 @@ module Aws::Lambda
754
754
  req.send_request(options)
755
755
  end
756
756
 
757
+ # Saves the progress of a [durable function][1] execution during
758
+ # runtime. This API is used by the Lambda durable functions SDK to
759
+ # checkpoint completed steps and schedule asynchronous operations. You
760
+ # typically don't need to call this API directly as the SDK handles
761
+ # checkpointing automatically.
762
+ #
763
+ # Each checkpoint operation consumes the current checkpoint token and
764
+ # returns a new one for the next checkpoint. This ensures that
765
+ # checkpoints are applied in the correct order and prevents duplicate or
766
+ # out-of-order state updates.
767
+ #
768
+ #
769
+ #
770
+ # [1]: https://docs.aws.amazon.com/lambda/latest/dg/durable-functions.html
771
+ #
772
+ # @option params [required, String] :durable_execution_arn
773
+ # The Amazon Resource Name (ARN) of the durable execution.
774
+ #
775
+ # @option params [required, String] :checkpoint_token
776
+ # A unique token that identifies the current checkpoint state. This
777
+ # token is provided by the Lambda runtime and must be used to ensure
778
+ # checkpoints are applied in the correct order. Each checkpoint
779
+ # operation consumes this token and returns a new one.
780
+ #
781
+ # @option params [Array<Types::OperationUpdate>] :updates
782
+ # An array of state updates to apply during this checkpoint. Each update
783
+ # represents a change to the execution state, such as completing a step,
784
+ # starting a callback, or scheduling a timer. Updates are applied
785
+ # atomically as part of the checkpoint operation.
786
+ #
787
+ # @option params [String] :client_token
788
+ # An optional idempotency token to ensure that duplicate checkpoint
789
+ # requests are handled correctly. If provided, Lambda uses this token to
790
+ # detect and handle duplicate requests within a 15-minute window.
791
+ #
792
+ # **A suitable default value is auto-generated.** You should normally
793
+ # not need to pass this option.**
794
+ #
795
+ # @return [Types::CheckpointDurableExecutionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
796
+ #
797
+ # * {Types::CheckpointDurableExecutionResponse#checkpoint_token #checkpoint_token} => String
798
+ # * {Types::CheckpointDurableExecutionResponse#new_execution_state #new_execution_state} => Types::CheckpointUpdatedExecutionState
799
+ #
800
+ # @example Request syntax with placeholder values
801
+ #
802
+ # resp = client.checkpoint_durable_execution({
803
+ # durable_execution_arn: "DurableExecutionArn", # required
804
+ # checkpoint_token: "CheckpointToken", # required
805
+ # updates: [
806
+ # {
807
+ # id: "OperationId", # required
808
+ # parent_id: "OperationId",
809
+ # name: "OperationName",
810
+ # type: "EXECUTION", # required, accepts EXECUTION, CONTEXT, STEP, WAIT, CALLBACK, CHAINED_INVOKE
811
+ # sub_type: "OperationSubType",
812
+ # action: "START", # required, accepts START, SUCCEED, FAIL, RETRY, CANCEL
813
+ # payload: "OperationPayload",
814
+ # error: {
815
+ # error_message: "ErrorMessage",
816
+ # error_type: "ErrorType",
817
+ # error_data: "ErrorData",
818
+ # stack_trace: ["StackTraceEntry"],
819
+ # },
820
+ # context_options: {
821
+ # replay_children: false,
822
+ # },
823
+ # step_options: {
824
+ # next_attempt_delay_seconds: 1,
825
+ # },
826
+ # wait_options: {
827
+ # wait_seconds: 1,
828
+ # },
829
+ # callback_options: {
830
+ # timeout_seconds: 1,
831
+ # heartbeat_timeout_seconds: 1,
832
+ # },
833
+ # chained_invoke_options: {
834
+ # function_name: "NamespacedFunctionName", # required
835
+ # tenant_id: "TenantId",
836
+ # },
837
+ # },
838
+ # ],
839
+ # client_token: "ClientToken",
840
+ # })
841
+ #
842
+ # @example Response structure
843
+ #
844
+ # resp.checkpoint_token #=> String
845
+ # resp.new_execution_state.operations #=> Array
846
+ # resp.new_execution_state.operations[0].id #=> String
847
+ # resp.new_execution_state.operations[0].parent_id #=> String
848
+ # resp.new_execution_state.operations[0].name #=> String
849
+ # resp.new_execution_state.operations[0].type #=> String, one of "EXECUTION", "CONTEXT", "STEP", "WAIT", "CALLBACK", "CHAINED_INVOKE"
850
+ # resp.new_execution_state.operations[0].sub_type #=> String
851
+ # resp.new_execution_state.operations[0].start_timestamp #=> Time
852
+ # resp.new_execution_state.operations[0].end_timestamp #=> Time
853
+ # resp.new_execution_state.operations[0].status #=> String, one of "STARTED", "PENDING", "READY", "SUCCEEDED", "FAILED", "CANCELLED", "TIMED_OUT", "STOPPED"
854
+ # resp.new_execution_state.operations[0].execution_details.input_payload #=> String
855
+ # resp.new_execution_state.operations[0].context_details.replay_children #=> Boolean
856
+ # resp.new_execution_state.operations[0].context_details.result #=> String
857
+ # resp.new_execution_state.operations[0].context_details.error.error_message #=> String
858
+ # resp.new_execution_state.operations[0].context_details.error.error_type #=> String
859
+ # resp.new_execution_state.operations[0].context_details.error.error_data #=> String
860
+ # resp.new_execution_state.operations[0].context_details.error.stack_trace #=> Array
861
+ # resp.new_execution_state.operations[0].context_details.error.stack_trace[0] #=> String
862
+ # resp.new_execution_state.operations[0].step_details.attempt #=> Integer
863
+ # resp.new_execution_state.operations[0].step_details.next_attempt_timestamp #=> Time
864
+ # resp.new_execution_state.operations[0].step_details.result #=> String
865
+ # resp.new_execution_state.operations[0].step_details.error.error_message #=> String
866
+ # resp.new_execution_state.operations[0].step_details.error.error_type #=> String
867
+ # resp.new_execution_state.operations[0].step_details.error.error_data #=> String
868
+ # resp.new_execution_state.operations[0].step_details.error.stack_trace #=> Array
869
+ # resp.new_execution_state.operations[0].step_details.error.stack_trace[0] #=> String
870
+ # resp.new_execution_state.operations[0].wait_details.scheduled_end_timestamp #=> Time
871
+ # resp.new_execution_state.operations[0].callback_details.callback_id #=> String
872
+ # resp.new_execution_state.operations[0].callback_details.result #=> String
873
+ # resp.new_execution_state.operations[0].callback_details.error.error_message #=> String
874
+ # resp.new_execution_state.operations[0].callback_details.error.error_type #=> String
875
+ # resp.new_execution_state.operations[0].callback_details.error.error_data #=> String
876
+ # resp.new_execution_state.operations[0].callback_details.error.stack_trace #=> Array
877
+ # resp.new_execution_state.operations[0].callback_details.error.stack_trace[0] #=> String
878
+ # resp.new_execution_state.operations[0].chained_invoke_details.result #=> String
879
+ # resp.new_execution_state.operations[0].chained_invoke_details.error.error_message #=> String
880
+ # resp.new_execution_state.operations[0].chained_invoke_details.error.error_type #=> String
881
+ # resp.new_execution_state.operations[0].chained_invoke_details.error.error_data #=> String
882
+ # resp.new_execution_state.operations[0].chained_invoke_details.error.stack_trace #=> Array
883
+ # resp.new_execution_state.operations[0].chained_invoke_details.error.stack_trace[0] #=> String
884
+ # resp.new_execution_state.next_marker #=> String
885
+ #
886
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/CheckpointDurableExecution AWS API Documentation
887
+ #
888
+ # @overload checkpoint_durable_execution(params = {})
889
+ # @param [Hash] params ({})
890
+ def checkpoint_durable_execution(params = {}, options = {})
891
+ req = build_request(:checkpoint_durable_execution, params)
892
+ req.send_request(options)
893
+ end
894
+
757
895
  # Creates an [alias][1] for a Lambda function version. Use aliases to
758
896
  # provide clients with a function identifier that you can update to
759
897
  # invoke a different version.
@@ -1814,6 +1952,11 @@ module Aws::Lambda
1814
1952
  # @option params [String] :publish_to
1815
1953
  # Specifies where to publish the function version or configuration.
1816
1954
  #
1955
+ # @option params [Types::DurableConfig] :durable_config
1956
+ # Configuration settings for durable functions. Enables creating
1957
+ # functions with durability that can remember their state and continue
1958
+ # execution even after interruptions.
1959
+ #
1817
1960
  # @option params [Types::TenancyConfig] :tenancy_config
1818
1961
  # Configuration for multi-tenant applications that use Lambda functions.
1819
1962
  # Defines tenant isolation settings and resource allocations. Required
@@ -1859,6 +2002,7 @@ module Aws::Lambda
1859
2002
  # * {Types::FunctionConfiguration#logging_config #logging_config} => Types::LoggingConfig
1860
2003
  # * {Types::FunctionConfiguration#capacity_provider_config #capacity_provider_config} => Types::CapacityProviderConfig
1861
2004
  # * {Types::FunctionConfiguration#config_sha_256 #config_sha_256} => String
2005
+ # * {Types::FunctionConfiguration#durable_config #durable_config} => Types::DurableConfig
1862
2006
  # * {Types::FunctionConfiguration#tenancy_config #tenancy_config} => Types::TenancyConfig
1863
2007
  #
1864
2008
  #
@@ -1873,6 +2017,10 @@ module Aws::Lambda
1873
2017
  # s3_key: "function.zip",
1874
2018
  # },
1875
2019
  # description: "Process image objects from Amazon S3.",
2020
+ # durable_config: {
2021
+ # execution_timeout: 31622400,
2022
+ # retention_period_in_days: 30,
2023
+ # },
1876
2024
  # environment: {
1877
2025
  # variables: {
1878
2026
  # "BUCKET" => "my-bucket-1xpuxmplzrlbh",
@@ -1900,6 +2048,10 @@ module Aws::Lambda
1900
2048
  # code_sha_256: "YFgDgEKG3ugvF1+pX64gV6tu9qNuIYNUdgJm8nCxsm4=",
1901
2049
  # code_size: 5797206,
1902
2050
  # description: "Process image objects from Amazon S3.",
2051
+ # durable_config: {
2052
+ # execution_timeout: 31622400,
2053
+ # retention_period_in_days: 30,
2054
+ # },
1903
2055
  # environment: {
1904
2056
  # variables: {
1905
2057
  # "BUCKET" => "my-bucket-1xpuxmplzrlbh",
@@ -1998,6 +2150,10 @@ module Aws::Lambda
1998
2150
  # },
1999
2151
  # },
2000
2152
  # publish_to: "LATEST_PUBLISHED", # accepts LATEST_PUBLISHED
2153
+ # durable_config: {
2154
+ # retention_period_in_days: 1,
2155
+ # execution_timeout: 1,
2156
+ # },
2001
2157
  # tenancy_config: {
2002
2158
  # tenant_isolation_mode: "PER_TENANT", # required, accepts PER_TENANT
2003
2159
  # },
@@ -2039,7 +2195,7 @@ module Aws::Lambda
2039
2195
  # resp.layers[0].signing_job_arn #=> String
2040
2196
  # resp.state #=> String, one of "Pending", "Active", "Inactive", "Failed", "Deactivating", "Deactivated", "ActiveNonInvocable", "Deleting"
2041
2197
  # resp.state_reason #=> String
2042
- # resp.state_reason_code #=> String, one of "Idle", "Creating", "Restoring", "EniLimitExceeded", "InsufficientRolePermissions", "InvalidConfiguration", "InternalError", "SubnetOutOfIPAddresses", "InvalidSubnet", "InvalidSecurityGroup", "ImageDeleted", "ImageAccessDenied", "InvalidImage", "KMSKeyAccessDenied", "KMSKeyNotFound", "InvalidStateKMSKey", "DisabledKMSKey", "EFSIOError", "EFSMountConnectivityError", "EFSMountFailure", "EFSMountTimeout", "InvalidRuntime", "InvalidZipFileException", "FunctionError", "VcpuLimitExceeded", "CapacityProviderScalingLimitExceeded", "InsufficientCapacity", "EC2RequestLimitExceeded", "FunctionError.InitTimeout", "FunctionError.RuntimeInitError", "FunctionError.ExtensionInitError", "FunctionError.InvalidEntryPoint", "FunctionError.InvalidWorkingDirectory", "FunctionError.PermissionDenied", "FunctionError.TooManyExtensions", "FunctionError.InitResourceExhausted"
2198
+ # resp.state_reason_code #=> String, one of "Idle", "Creating", "Restoring", "EniLimitExceeded", "InsufficientRolePermissions", "InvalidConfiguration", "InternalError", "SubnetOutOfIPAddresses", "InvalidSubnet", "InvalidSecurityGroup", "ImageDeleted", "ImageAccessDenied", "InvalidImage", "KMSKeyAccessDenied", "KMSKeyNotFound", "InvalidStateKMSKey", "DisabledKMSKey", "EFSIOError", "EFSMountConnectivityError", "EFSMountFailure", "EFSMountTimeout", "InvalidRuntime", "InvalidZipFileException", "FunctionError", "DrainingDurableExecutions", "VcpuLimitExceeded", "CapacityProviderScalingLimitExceeded", "InsufficientCapacity", "EC2RequestLimitExceeded", "FunctionError.InitTimeout", "FunctionError.RuntimeInitError", "FunctionError.ExtensionInitError", "FunctionError.InvalidEntryPoint", "FunctionError.InvalidWorkingDirectory", "FunctionError.PermissionDenied", "FunctionError.TooManyExtensions", "FunctionError.InitResourceExhausted"
2043
2199
  # resp.last_update_status #=> String, one of "Successful", "Failed", "InProgress"
2044
2200
  # resp.last_update_status_reason #=> String
2045
2201
  # resp.last_update_status_reason_code #=> String, one of "EniLimitExceeded", "InsufficientRolePermissions", "InvalidConfiguration", "InternalError", "SubnetOutOfIPAddresses", "InvalidSubnet", "InvalidSecurityGroup", "ImageDeleted", "ImageAccessDenied", "InvalidImage", "KMSKeyAccessDenied", "KMSKeyNotFound", "InvalidStateKMSKey", "DisabledKMSKey", "EFSIOError", "EFSMountConnectivityError", "EFSMountFailure", "EFSMountTimeout", "InvalidRuntime", "InvalidZipFileException", "FunctionError", "VcpuLimitExceeded", "CapacityProviderScalingLimitExceeded", "InsufficientCapacity", "EC2RequestLimitExceeded", "FunctionError.InitTimeout", "FunctionError.RuntimeInitError", "FunctionError.ExtensionInitError", "FunctionError.InvalidEntryPoint", "FunctionError.InvalidWorkingDirectory", "FunctionError.PermissionDenied", "FunctionError.TooManyExtensions", "FunctionError.InitResourceExhausted"
@@ -2072,6 +2228,8 @@ module Aws::Lambda
2072
2228
  # resp.capacity_provider_config.lambda_managed_instances_capacity_provider_config.per_execution_environment_max_concurrency #=> Integer
2073
2229
  # resp.capacity_provider_config.lambda_managed_instances_capacity_provider_config.execution_environment_memory_gi_b_per_v_cpu #=> Float
2074
2230
  # resp.config_sha_256 #=> String
2231
+ # resp.durable_config.retention_period_in_days #=> Integer
2232
+ # resp.durable_config.execution_timeout #=> Integer
2075
2233
  # resp.tenancy_config.tenant_isolation_mode #=> String, one of "PER_TENANT"
2076
2234
  #
2077
2235
  # @see http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/CreateFunction AWS API Documentation
@@ -3007,6 +3165,345 @@ module Aws::Lambda
3007
3165
  req.send_request(options)
3008
3166
  end
3009
3167
 
3168
+ # Retrieves detailed information about a specific [durable
3169
+ # execution][1], including its current status, input payload, result or
3170
+ # error information, and execution metadata such as start time and usage
3171
+ # statistics.
3172
+ #
3173
+ #
3174
+ #
3175
+ # [1]: https://docs.aws.amazon.com/lambda/latest/dg/durable-functions.html
3176
+ #
3177
+ # @option params [required, String] :durable_execution_arn
3178
+ # The Amazon Resource Name (ARN) of the durable execution.
3179
+ #
3180
+ # @return [Types::GetDurableExecutionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3181
+ #
3182
+ # * {Types::GetDurableExecutionResponse#durable_execution_arn #durable_execution_arn} => String
3183
+ # * {Types::GetDurableExecutionResponse#durable_execution_name #durable_execution_name} => String
3184
+ # * {Types::GetDurableExecutionResponse#function_arn #function_arn} => String
3185
+ # * {Types::GetDurableExecutionResponse#input_payload #input_payload} => String
3186
+ # * {Types::GetDurableExecutionResponse#result #result} => String
3187
+ # * {Types::GetDurableExecutionResponse#error #error} => Types::ErrorObject
3188
+ # * {Types::GetDurableExecutionResponse#start_timestamp #start_timestamp} => Time
3189
+ # * {Types::GetDurableExecutionResponse#status #status} => String
3190
+ # * {Types::GetDurableExecutionResponse#end_timestamp #end_timestamp} => Time
3191
+ # * {Types::GetDurableExecutionResponse#version #version} => String
3192
+ # * {Types::GetDurableExecutionResponse#trace_header #trace_header} => Types::TraceHeader
3193
+ #
3194
+ # @example Request syntax with placeholder values
3195
+ #
3196
+ # resp = client.get_durable_execution({
3197
+ # durable_execution_arn: "DurableExecutionArn", # required
3198
+ # })
3199
+ #
3200
+ # @example Response structure
3201
+ #
3202
+ # resp.durable_execution_arn #=> String
3203
+ # resp.durable_execution_name #=> String
3204
+ # resp.function_arn #=> String
3205
+ # resp.input_payload #=> String
3206
+ # resp.result #=> String
3207
+ # resp.error.error_message #=> String
3208
+ # resp.error.error_type #=> String
3209
+ # resp.error.error_data #=> String
3210
+ # resp.error.stack_trace #=> Array
3211
+ # resp.error.stack_trace[0] #=> String
3212
+ # resp.start_timestamp #=> Time
3213
+ # resp.status #=> String, one of "RUNNING", "SUCCEEDED", "FAILED", "TIMED_OUT", "STOPPED"
3214
+ # resp.end_timestamp #=> Time
3215
+ # resp.version #=> String
3216
+ # resp.trace_header.x_amzn_trace_id #=> String
3217
+ #
3218
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetDurableExecution AWS API Documentation
3219
+ #
3220
+ # @overload get_durable_execution(params = {})
3221
+ # @param [Hash] params ({})
3222
+ def get_durable_execution(params = {}, options = {})
3223
+ req = build_request(:get_durable_execution, params)
3224
+ req.send_request(options)
3225
+ end
3226
+
3227
+ # Retrieves the execution history for a [durable execution][1], showing
3228
+ # all the steps, callbacks, and events that occurred during the
3229
+ # execution. This provides a detailed audit trail of the execution's
3230
+ # progress over time.
3231
+ #
3232
+ # The history is available while the execution is running and for a
3233
+ # retention period after it completes (1-90 days, default 30 days). You
3234
+ # can control whether to include execution data such as step results and
3235
+ # callback payloads.
3236
+ #
3237
+ #
3238
+ #
3239
+ # [1]: https://docs.aws.amazon.com/lambda/latest/dg/durable-functions.html
3240
+ #
3241
+ # @option params [required, String] :durable_execution_arn
3242
+ # The Amazon Resource Name (ARN) of the durable execution.
3243
+ #
3244
+ # @option params [Boolean] :include_execution_data
3245
+ # Specifies whether to include execution data such as step results and
3246
+ # callback payloads in the history events. Set to `true` to include
3247
+ # data, or `false` to exclude it for a more compact response. The
3248
+ # default is `true`.
3249
+ #
3250
+ # @option params [Integer] :max_items
3251
+ # The maximum number of history events to return per call. You can use
3252
+ # `Marker` to retrieve additional pages of results. The default is 100
3253
+ # and the maximum allowed is 1000. A value of 0 uses the default.
3254
+ #
3255
+ # @option params [String] :marker
3256
+ # If `NextMarker` was returned from a previous request, use this value
3257
+ # to retrieve the next page of results. Each pagination token expires
3258
+ # after 24 hours.
3259
+ #
3260
+ # @option params [Boolean] :reverse_order
3261
+ # When set to `true`, returns the history events in reverse
3262
+ # chronological order (newest first). By default, events are returned in
3263
+ # chronological order (oldest first).
3264
+ #
3265
+ # @return [Types::GetDurableExecutionHistoryResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3266
+ #
3267
+ # * {Types::GetDurableExecutionHistoryResponse#events #events} => Array&lt;Types::Event&gt;
3268
+ # * {Types::GetDurableExecutionHistoryResponse#next_marker #next_marker} => String
3269
+ #
3270
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
3271
+ #
3272
+ # @example Request syntax with placeholder values
3273
+ #
3274
+ # resp = client.get_durable_execution_history({
3275
+ # durable_execution_arn: "DurableExecutionArn", # required
3276
+ # include_execution_data: false,
3277
+ # max_items: 1,
3278
+ # marker: "String",
3279
+ # reverse_order: false,
3280
+ # })
3281
+ #
3282
+ # @example Response structure
3283
+ #
3284
+ # resp.events #=> Array
3285
+ # resp.events[0].event_type #=> String, one of "ExecutionStarted", "ExecutionSucceeded", "ExecutionFailed", "ExecutionTimedOut", "ExecutionStopped", "ContextStarted", "ContextSucceeded", "ContextFailed", "WaitStarted", "WaitSucceeded", "WaitCancelled", "StepStarted", "StepSucceeded", "StepFailed", "ChainedInvokeStarted", "ChainedInvokeSucceeded", "ChainedInvokeFailed", "ChainedInvokeTimedOut", "ChainedInvokeStopped", "CallbackStarted", "CallbackSucceeded", "CallbackFailed", "CallbackTimedOut", "InvocationCompleted"
3286
+ # resp.events[0].sub_type #=> String
3287
+ # resp.events[0].event_id #=> Integer
3288
+ # resp.events[0].id #=> String
3289
+ # resp.events[0].name #=> String
3290
+ # resp.events[0].event_timestamp #=> Time
3291
+ # resp.events[0].parent_id #=> String
3292
+ # resp.events[0].execution_started_details.input.payload #=> String
3293
+ # resp.events[0].execution_started_details.input.truncated #=> Boolean
3294
+ # resp.events[0].execution_started_details.execution_timeout #=> Integer
3295
+ # resp.events[0].execution_succeeded_details.result.payload #=> String
3296
+ # resp.events[0].execution_succeeded_details.result.truncated #=> Boolean
3297
+ # resp.events[0].execution_failed_details.error.payload.error_message #=> String
3298
+ # resp.events[0].execution_failed_details.error.payload.error_type #=> String
3299
+ # resp.events[0].execution_failed_details.error.payload.error_data #=> String
3300
+ # resp.events[0].execution_failed_details.error.payload.stack_trace #=> Array
3301
+ # resp.events[0].execution_failed_details.error.payload.stack_trace[0] #=> String
3302
+ # resp.events[0].execution_failed_details.error.truncated #=> Boolean
3303
+ # resp.events[0].execution_timed_out_details.error.payload.error_message #=> String
3304
+ # resp.events[0].execution_timed_out_details.error.payload.error_type #=> String
3305
+ # resp.events[0].execution_timed_out_details.error.payload.error_data #=> String
3306
+ # resp.events[0].execution_timed_out_details.error.payload.stack_trace #=> Array
3307
+ # resp.events[0].execution_timed_out_details.error.payload.stack_trace[0] #=> String
3308
+ # resp.events[0].execution_timed_out_details.error.truncated #=> Boolean
3309
+ # resp.events[0].execution_stopped_details.error.payload.error_message #=> String
3310
+ # resp.events[0].execution_stopped_details.error.payload.error_type #=> String
3311
+ # resp.events[0].execution_stopped_details.error.payload.error_data #=> String
3312
+ # resp.events[0].execution_stopped_details.error.payload.stack_trace #=> Array
3313
+ # resp.events[0].execution_stopped_details.error.payload.stack_trace[0] #=> String
3314
+ # resp.events[0].execution_stopped_details.error.truncated #=> Boolean
3315
+ # resp.events[0].context_succeeded_details.result.payload #=> String
3316
+ # resp.events[0].context_succeeded_details.result.truncated #=> Boolean
3317
+ # resp.events[0].context_failed_details.error.payload.error_message #=> String
3318
+ # resp.events[0].context_failed_details.error.payload.error_type #=> String
3319
+ # resp.events[0].context_failed_details.error.payload.error_data #=> String
3320
+ # resp.events[0].context_failed_details.error.payload.stack_trace #=> Array
3321
+ # resp.events[0].context_failed_details.error.payload.stack_trace[0] #=> String
3322
+ # resp.events[0].context_failed_details.error.truncated #=> Boolean
3323
+ # resp.events[0].wait_started_details.duration #=> Integer
3324
+ # resp.events[0].wait_started_details.scheduled_end_timestamp #=> Time
3325
+ # resp.events[0].wait_succeeded_details.duration #=> Integer
3326
+ # resp.events[0].wait_cancelled_details.error.payload.error_message #=> String
3327
+ # resp.events[0].wait_cancelled_details.error.payload.error_type #=> String
3328
+ # resp.events[0].wait_cancelled_details.error.payload.error_data #=> String
3329
+ # resp.events[0].wait_cancelled_details.error.payload.stack_trace #=> Array
3330
+ # resp.events[0].wait_cancelled_details.error.payload.stack_trace[0] #=> String
3331
+ # resp.events[0].wait_cancelled_details.error.truncated #=> Boolean
3332
+ # resp.events[0].step_succeeded_details.result.payload #=> String
3333
+ # resp.events[0].step_succeeded_details.result.truncated #=> Boolean
3334
+ # resp.events[0].step_succeeded_details.retry_details.current_attempt #=> Integer
3335
+ # resp.events[0].step_succeeded_details.retry_details.next_attempt_delay_seconds #=> Integer
3336
+ # resp.events[0].step_failed_details.error.payload.error_message #=> String
3337
+ # resp.events[0].step_failed_details.error.payload.error_type #=> String
3338
+ # resp.events[0].step_failed_details.error.payload.error_data #=> String
3339
+ # resp.events[0].step_failed_details.error.payload.stack_trace #=> Array
3340
+ # resp.events[0].step_failed_details.error.payload.stack_trace[0] #=> String
3341
+ # resp.events[0].step_failed_details.error.truncated #=> Boolean
3342
+ # resp.events[0].step_failed_details.retry_details.current_attempt #=> Integer
3343
+ # resp.events[0].step_failed_details.retry_details.next_attempt_delay_seconds #=> Integer
3344
+ # resp.events[0].chained_invoke_started_details.function_name #=> String
3345
+ # resp.events[0].chained_invoke_started_details.tenant_id #=> String
3346
+ # resp.events[0].chained_invoke_started_details.input.payload #=> String
3347
+ # resp.events[0].chained_invoke_started_details.input.truncated #=> Boolean
3348
+ # resp.events[0].chained_invoke_started_details.executed_version #=> String
3349
+ # resp.events[0].chained_invoke_started_details.durable_execution_arn #=> String
3350
+ # resp.events[0].chained_invoke_succeeded_details.result.payload #=> String
3351
+ # resp.events[0].chained_invoke_succeeded_details.result.truncated #=> Boolean
3352
+ # resp.events[0].chained_invoke_failed_details.error.payload.error_message #=> String
3353
+ # resp.events[0].chained_invoke_failed_details.error.payload.error_type #=> String
3354
+ # resp.events[0].chained_invoke_failed_details.error.payload.error_data #=> String
3355
+ # resp.events[0].chained_invoke_failed_details.error.payload.stack_trace #=> Array
3356
+ # resp.events[0].chained_invoke_failed_details.error.payload.stack_trace[0] #=> String
3357
+ # resp.events[0].chained_invoke_failed_details.error.truncated #=> Boolean
3358
+ # resp.events[0].chained_invoke_timed_out_details.error.payload.error_message #=> String
3359
+ # resp.events[0].chained_invoke_timed_out_details.error.payload.error_type #=> String
3360
+ # resp.events[0].chained_invoke_timed_out_details.error.payload.error_data #=> String
3361
+ # resp.events[0].chained_invoke_timed_out_details.error.payload.stack_trace #=> Array
3362
+ # resp.events[0].chained_invoke_timed_out_details.error.payload.stack_trace[0] #=> String
3363
+ # resp.events[0].chained_invoke_timed_out_details.error.truncated #=> Boolean
3364
+ # resp.events[0].chained_invoke_stopped_details.error.payload.error_message #=> String
3365
+ # resp.events[0].chained_invoke_stopped_details.error.payload.error_type #=> String
3366
+ # resp.events[0].chained_invoke_stopped_details.error.payload.error_data #=> String
3367
+ # resp.events[0].chained_invoke_stopped_details.error.payload.stack_trace #=> Array
3368
+ # resp.events[0].chained_invoke_stopped_details.error.payload.stack_trace[0] #=> String
3369
+ # resp.events[0].chained_invoke_stopped_details.error.truncated #=> Boolean
3370
+ # resp.events[0].callback_started_details.callback_id #=> String
3371
+ # resp.events[0].callback_started_details.heartbeat_timeout #=> Integer
3372
+ # resp.events[0].callback_started_details.timeout #=> Integer
3373
+ # resp.events[0].callback_succeeded_details.result.payload #=> String
3374
+ # resp.events[0].callback_succeeded_details.result.truncated #=> Boolean
3375
+ # resp.events[0].callback_failed_details.error.payload.error_message #=> String
3376
+ # resp.events[0].callback_failed_details.error.payload.error_type #=> String
3377
+ # resp.events[0].callback_failed_details.error.payload.error_data #=> String
3378
+ # resp.events[0].callback_failed_details.error.payload.stack_trace #=> Array
3379
+ # resp.events[0].callback_failed_details.error.payload.stack_trace[0] #=> String
3380
+ # resp.events[0].callback_failed_details.error.truncated #=> Boolean
3381
+ # resp.events[0].callback_timed_out_details.error.payload.error_message #=> String
3382
+ # resp.events[0].callback_timed_out_details.error.payload.error_type #=> String
3383
+ # resp.events[0].callback_timed_out_details.error.payload.error_data #=> String
3384
+ # resp.events[0].callback_timed_out_details.error.payload.stack_trace #=> Array
3385
+ # resp.events[0].callback_timed_out_details.error.payload.stack_trace[0] #=> String
3386
+ # resp.events[0].callback_timed_out_details.error.truncated #=> Boolean
3387
+ # resp.events[0].invocation_completed_details.start_timestamp #=> Time
3388
+ # resp.events[0].invocation_completed_details.end_timestamp #=> Time
3389
+ # resp.events[0].invocation_completed_details.request_id #=> String
3390
+ # resp.events[0].invocation_completed_details.error.payload.error_message #=> String
3391
+ # resp.events[0].invocation_completed_details.error.payload.error_type #=> String
3392
+ # resp.events[0].invocation_completed_details.error.payload.error_data #=> String
3393
+ # resp.events[0].invocation_completed_details.error.payload.stack_trace #=> Array
3394
+ # resp.events[0].invocation_completed_details.error.payload.stack_trace[0] #=> String
3395
+ # resp.events[0].invocation_completed_details.error.truncated #=> Boolean
3396
+ # resp.next_marker #=> String
3397
+ #
3398
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetDurableExecutionHistory AWS API Documentation
3399
+ #
3400
+ # @overload get_durable_execution_history(params = {})
3401
+ # @param [Hash] params ({})
3402
+ def get_durable_execution_history(params = {}, options = {})
3403
+ req = build_request(:get_durable_execution_history, params)
3404
+ req.send_request(options)
3405
+ end
3406
+
3407
+ # Retrieves the current execution state required for the replay process
3408
+ # during [durable function][1] execution. This API is used by the Lambda
3409
+ # durable functions SDK to get state information needed for replay. You
3410
+ # typically don't need to call this API directly as the SDK handles
3411
+ # state management automatically.
3412
+ #
3413
+ # The response contains operations ordered by start sequence number in
3414
+ # ascending order. Completed operations with children don't include
3415
+ # child operation details since they don't need to be replayed.
3416
+ #
3417
+ #
3418
+ #
3419
+ # [1]: https://docs.aws.amazon.com/lambda/latest/dg/durable-functions.html
3420
+ #
3421
+ # @option params [required, String] :durable_execution_arn
3422
+ # The Amazon Resource Name (ARN) of the durable execution.
3423
+ #
3424
+ # @option params [required, String] :checkpoint_token
3425
+ # A checkpoint token that identifies the current state of the execution.
3426
+ # This token is provided by the Lambda runtime and ensures that state
3427
+ # retrieval is consistent with the current execution context.
3428
+ #
3429
+ # @option params [String] :marker
3430
+ # If `NextMarker` was returned from a previous request, use this value
3431
+ # to retrieve the next page of operations. Each pagination token expires
3432
+ # after 24 hours.
3433
+ #
3434
+ # @option params [Integer] :max_items
3435
+ # The maximum number of operations to return per call. You can use
3436
+ # `Marker` to retrieve additional pages of results. The default is 100
3437
+ # and the maximum allowed is 1000. A value of 0 uses the default.
3438
+ #
3439
+ # @return [Types::GetDurableExecutionStateResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3440
+ #
3441
+ # * {Types::GetDurableExecutionStateResponse#operations #operations} => Array&lt;Types::Operation&gt;
3442
+ # * {Types::GetDurableExecutionStateResponse#next_marker #next_marker} => String
3443
+ #
3444
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
3445
+ #
3446
+ # @example Request syntax with placeholder values
3447
+ #
3448
+ # resp = client.get_durable_execution_state({
3449
+ # durable_execution_arn: "DurableExecutionArn", # required
3450
+ # checkpoint_token: "CheckpointToken", # required
3451
+ # marker: "String",
3452
+ # max_items: 1,
3453
+ # })
3454
+ #
3455
+ # @example Response structure
3456
+ #
3457
+ # resp.operations #=> Array
3458
+ # resp.operations[0].id #=> String
3459
+ # resp.operations[0].parent_id #=> String
3460
+ # resp.operations[0].name #=> String
3461
+ # resp.operations[0].type #=> String, one of "EXECUTION", "CONTEXT", "STEP", "WAIT", "CALLBACK", "CHAINED_INVOKE"
3462
+ # resp.operations[0].sub_type #=> String
3463
+ # resp.operations[0].start_timestamp #=> Time
3464
+ # resp.operations[0].end_timestamp #=> Time
3465
+ # resp.operations[0].status #=> String, one of "STARTED", "PENDING", "READY", "SUCCEEDED", "FAILED", "CANCELLED", "TIMED_OUT", "STOPPED"
3466
+ # resp.operations[0].execution_details.input_payload #=> String
3467
+ # resp.operations[0].context_details.replay_children #=> Boolean
3468
+ # resp.operations[0].context_details.result #=> String
3469
+ # resp.operations[0].context_details.error.error_message #=> String
3470
+ # resp.operations[0].context_details.error.error_type #=> String
3471
+ # resp.operations[0].context_details.error.error_data #=> String
3472
+ # resp.operations[0].context_details.error.stack_trace #=> Array
3473
+ # resp.operations[0].context_details.error.stack_trace[0] #=> String
3474
+ # resp.operations[0].step_details.attempt #=> Integer
3475
+ # resp.operations[0].step_details.next_attempt_timestamp #=> Time
3476
+ # resp.operations[0].step_details.result #=> String
3477
+ # resp.operations[0].step_details.error.error_message #=> String
3478
+ # resp.operations[0].step_details.error.error_type #=> String
3479
+ # resp.operations[0].step_details.error.error_data #=> String
3480
+ # resp.operations[0].step_details.error.stack_trace #=> Array
3481
+ # resp.operations[0].step_details.error.stack_trace[0] #=> String
3482
+ # resp.operations[0].wait_details.scheduled_end_timestamp #=> Time
3483
+ # resp.operations[0].callback_details.callback_id #=> String
3484
+ # resp.operations[0].callback_details.result #=> String
3485
+ # resp.operations[0].callback_details.error.error_message #=> String
3486
+ # resp.operations[0].callback_details.error.error_type #=> String
3487
+ # resp.operations[0].callback_details.error.error_data #=> String
3488
+ # resp.operations[0].callback_details.error.stack_trace #=> Array
3489
+ # resp.operations[0].callback_details.error.stack_trace[0] #=> String
3490
+ # resp.operations[0].chained_invoke_details.result #=> String
3491
+ # resp.operations[0].chained_invoke_details.error.error_message #=> String
3492
+ # resp.operations[0].chained_invoke_details.error.error_type #=> String
3493
+ # resp.operations[0].chained_invoke_details.error.error_data #=> String
3494
+ # resp.operations[0].chained_invoke_details.error.stack_trace #=> Array
3495
+ # resp.operations[0].chained_invoke_details.error.stack_trace[0] #=> String
3496
+ # resp.next_marker #=> String
3497
+ #
3498
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetDurableExecutionState AWS API Documentation
3499
+ #
3500
+ # @overload get_durable_execution_state(params = {})
3501
+ # @param [Hash] params ({})
3502
+ def get_durable_execution_state(params = {}, options = {})
3503
+ req = build_request(:get_durable_execution_state, params)
3504
+ req.send_request(options)
3505
+ end
3506
+
3010
3507
  # Returns details about an event source mapping. You can get the
3011
3508
  # identifier of a mapping from the output of ListEventSourceMappings.
3012
3509
  #
@@ -3208,6 +3705,10 @@ module Aws::Lambda
3208
3705
  # code_sha_256: "YFgDgEKG3ugvF1+pX64gV6tu9qNuIYNUdgJm8nCxsm4=",
3209
3706
  # code_size: 5797206,
3210
3707
  # description: "Process image objects from Amazon S3.",
3708
+ # durable_config: {
3709
+ # execution_timeout: 31622400,
3710
+ # retention_period_in_days: 30,
3711
+ # },
3211
3712
  # environment: {
3212
3713
  # variables: {
3213
3714
  # "BUCKET" => "my-bucket-1xpuxmplzrlbh",
@@ -3279,7 +3780,7 @@ module Aws::Lambda
3279
3780
  # resp.configuration.layers[0].signing_job_arn #=> String
3280
3781
  # resp.configuration.state #=> String, one of "Pending", "Active", "Inactive", "Failed", "Deactivating", "Deactivated", "ActiveNonInvocable", "Deleting"
3281
3782
  # resp.configuration.state_reason #=> String
3282
- # resp.configuration.state_reason_code #=> String, one of "Idle", "Creating", "Restoring", "EniLimitExceeded", "InsufficientRolePermissions", "InvalidConfiguration", "InternalError", "SubnetOutOfIPAddresses", "InvalidSubnet", "InvalidSecurityGroup", "ImageDeleted", "ImageAccessDenied", "InvalidImage", "KMSKeyAccessDenied", "KMSKeyNotFound", "InvalidStateKMSKey", "DisabledKMSKey", "EFSIOError", "EFSMountConnectivityError", "EFSMountFailure", "EFSMountTimeout", "InvalidRuntime", "InvalidZipFileException", "FunctionError", "VcpuLimitExceeded", "CapacityProviderScalingLimitExceeded", "InsufficientCapacity", "EC2RequestLimitExceeded", "FunctionError.InitTimeout", "FunctionError.RuntimeInitError", "FunctionError.ExtensionInitError", "FunctionError.InvalidEntryPoint", "FunctionError.InvalidWorkingDirectory", "FunctionError.PermissionDenied", "FunctionError.TooManyExtensions", "FunctionError.InitResourceExhausted"
3783
+ # resp.configuration.state_reason_code #=> String, one of "Idle", "Creating", "Restoring", "EniLimitExceeded", "InsufficientRolePermissions", "InvalidConfiguration", "InternalError", "SubnetOutOfIPAddresses", "InvalidSubnet", "InvalidSecurityGroup", "ImageDeleted", "ImageAccessDenied", "InvalidImage", "KMSKeyAccessDenied", "KMSKeyNotFound", "InvalidStateKMSKey", "DisabledKMSKey", "EFSIOError", "EFSMountConnectivityError", "EFSMountFailure", "EFSMountTimeout", "InvalidRuntime", "InvalidZipFileException", "FunctionError", "DrainingDurableExecutions", "VcpuLimitExceeded", "CapacityProviderScalingLimitExceeded", "InsufficientCapacity", "EC2RequestLimitExceeded", "FunctionError.InitTimeout", "FunctionError.RuntimeInitError", "FunctionError.ExtensionInitError", "FunctionError.InvalidEntryPoint", "FunctionError.InvalidWorkingDirectory", "FunctionError.PermissionDenied", "FunctionError.TooManyExtensions", "FunctionError.InitResourceExhausted"
3283
3784
  # resp.configuration.last_update_status #=> String, one of "Successful", "Failed", "InProgress"
3284
3785
  # resp.configuration.last_update_status_reason #=> String
3285
3786
  # resp.configuration.last_update_status_reason_code #=> String, one of "EniLimitExceeded", "InsufficientRolePermissions", "InvalidConfiguration", "InternalError", "SubnetOutOfIPAddresses", "InvalidSubnet", "InvalidSecurityGroup", "ImageDeleted", "ImageAccessDenied", "InvalidImage", "KMSKeyAccessDenied", "KMSKeyNotFound", "InvalidStateKMSKey", "DisabledKMSKey", "EFSIOError", "EFSMountConnectivityError", "EFSMountFailure", "EFSMountTimeout", "InvalidRuntime", "InvalidZipFileException", "FunctionError", "VcpuLimitExceeded", "CapacityProviderScalingLimitExceeded", "InsufficientCapacity", "EC2RequestLimitExceeded", "FunctionError.InitTimeout", "FunctionError.RuntimeInitError", "FunctionError.ExtensionInitError", "FunctionError.InvalidEntryPoint", "FunctionError.InvalidWorkingDirectory", "FunctionError.PermissionDenied", "FunctionError.TooManyExtensions", "FunctionError.InitResourceExhausted"
@@ -3312,6 +3813,8 @@ module Aws::Lambda
3312
3813
  # resp.configuration.capacity_provider_config.lambda_managed_instances_capacity_provider_config.per_execution_environment_max_concurrency #=> Integer
3313
3814
  # resp.configuration.capacity_provider_config.lambda_managed_instances_capacity_provider_config.execution_environment_memory_gi_b_per_v_cpu #=> Float
3314
3815
  # resp.configuration.config_sha_256 #=> String
3816
+ # resp.configuration.durable_config.retention_period_in_days #=> Integer
3817
+ # resp.configuration.durable_config.execution_timeout #=> Integer
3315
3818
  # resp.configuration.tenancy_config.tenant_isolation_mode #=> String, one of "PER_TENANT"
3316
3819
  # resp.code.repository_type #=> String
3317
3820
  # resp.code.location #=> String
@@ -3506,6 +4009,7 @@ module Aws::Lambda
3506
4009
  # * {Types::FunctionConfiguration#logging_config #logging_config} => Types::LoggingConfig
3507
4010
  # * {Types::FunctionConfiguration#capacity_provider_config #capacity_provider_config} => Types::CapacityProviderConfig
3508
4011
  # * {Types::FunctionConfiguration#config_sha_256 #config_sha_256} => String
4012
+ # * {Types::FunctionConfiguration#durable_config #durable_config} => Types::DurableConfig
3509
4013
  # * {Types::FunctionConfiguration#tenancy_config #tenancy_config} => Types::TenancyConfig
3510
4014
  #
3511
4015
  #
@@ -3523,6 +4027,10 @@ module Aws::Lambda
3523
4027
  # code_sha_256: "YFgDgEKG3ugvF1+pX64gV6tu9qNuIYNUdgJm8nCxsm4=",
3524
4028
  # code_size: 5797206,
3525
4029
  # description: "Process image objects from Amazon S3.",
4030
+ # durable_config: {
4031
+ # execution_timeout: 31622400,
4032
+ # retention_period_in_days: 30,
4033
+ # },
3526
4034
  # environment: {
3527
4035
  # variables: {
3528
4036
  # "BUCKET" => "my-bucket-1xpuxmplzrlbh",
@@ -3590,7 +4098,7 @@ module Aws::Lambda
3590
4098
  # resp.layers[0].signing_job_arn #=> String
3591
4099
  # resp.state #=> String, one of "Pending", "Active", "Inactive", "Failed", "Deactivating", "Deactivated", "ActiveNonInvocable", "Deleting"
3592
4100
  # resp.state_reason #=> String
3593
- # resp.state_reason_code #=> String, one of "Idle", "Creating", "Restoring", "EniLimitExceeded", "InsufficientRolePermissions", "InvalidConfiguration", "InternalError", "SubnetOutOfIPAddresses", "InvalidSubnet", "InvalidSecurityGroup", "ImageDeleted", "ImageAccessDenied", "InvalidImage", "KMSKeyAccessDenied", "KMSKeyNotFound", "InvalidStateKMSKey", "DisabledKMSKey", "EFSIOError", "EFSMountConnectivityError", "EFSMountFailure", "EFSMountTimeout", "InvalidRuntime", "InvalidZipFileException", "FunctionError", "VcpuLimitExceeded", "CapacityProviderScalingLimitExceeded", "InsufficientCapacity", "EC2RequestLimitExceeded", "FunctionError.InitTimeout", "FunctionError.RuntimeInitError", "FunctionError.ExtensionInitError", "FunctionError.InvalidEntryPoint", "FunctionError.InvalidWorkingDirectory", "FunctionError.PermissionDenied", "FunctionError.TooManyExtensions", "FunctionError.InitResourceExhausted"
4101
+ # resp.state_reason_code #=> String, one of "Idle", "Creating", "Restoring", "EniLimitExceeded", "InsufficientRolePermissions", "InvalidConfiguration", "InternalError", "SubnetOutOfIPAddresses", "InvalidSubnet", "InvalidSecurityGroup", "ImageDeleted", "ImageAccessDenied", "InvalidImage", "KMSKeyAccessDenied", "KMSKeyNotFound", "InvalidStateKMSKey", "DisabledKMSKey", "EFSIOError", "EFSMountConnectivityError", "EFSMountFailure", "EFSMountTimeout", "InvalidRuntime", "InvalidZipFileException", "FunctionError", "DrainingDurableExecutions", "VcpuLimitExceeded", "CapacityProviderScalingLimitExceeded", "InsufficientCapacity", "EC2RequestLimitExceeded", "FunctionError.InitTimeout", "FunctionError.RuntimeInitError", "FunctionError.ExtensionInitError", "FunctionError.InvalidEntryPoint", "FunctionError.InvalidWorkingDirectory", "FunctionError.PermissionDenied", "FunctionError.TooManyExtensions", "FunctionError.InitResourceExhausted"
3594
4102
  # resp.last_update_status #=> String, one of "Successful", "Failed", "InProgress"
3595
4103
  # resp.last_update_status_reason #=> String
3596
4104
  # resp.last_update_status_reason_code #=> String, one of "EniLimitExceeded", "InsufficientRolePermissions", "InvalidConfiguration", "InternalError", "SubnetOutOfIPAddresses", "InvalidSubnet", "InvalidSecurityGroup", "ImageDeleted", "ImageAccessDenied", "InvalidImage", "KMSKeyAccessDenied", "KMSKeyNotFound", "InvalidStateKMSKey", "DisabledKMSKey", "EFSIOError", "EFSMountConnectivityError", "EFSMountFailure", "EFSMountTimeout", "InvalidRuntime", "InvalidZipFileException", "FunctionError", "VcpuLimitExceeded", "CapacityProviderScalingLimitExceeded", "InsufficientCapacity", "EC2RequestLimitExceeded", "FunctionError.InitTimeout", "FunctionError.RuntimeInitError", "FunctionError.ExtensionInitError", "FunctionError.InvalidEntryPoint", "FunctionError.InvalidWorkingDirectory", "FunctionError.PermissionDenied", "FunctionError.TooManyExtensions", "FunctionError.InitResourceExhausted"
@@ -3623,6 +4131,8 @@ module Aws::Lambda
3623
4131
  # resp.capacity_provider_config.lambda_managed_instances_capacity_provider_config.per_execution_environment_max_concurrency #=> Integer
3624
4132
  # resp.capacity_provider_config.lambda_managed_instances_capacity_provider_config.execution_environment_memory_gi_b_per_v_cpu #=> Float
3625
4133
  # resp.config_sha_256 #=> String
4134
+ # resp.durable_config.retention_period_in_days #=> Integer
4135
+ # resp.durable_config.execution_timeout #=> Integer
3626
4136
  # resp.tenancy_config.tenant_isolation_mode #=> String, one of "PER_TENANT"
3627
4137
  #
3628
4138
  #
@@ -4394,6 +4904,11 @@ module Aws::Lambda
4394
4904
  # `ClientContext` object to your function for synchronous invocations
4395
4905
  # only.
4396
4906
  #
4907
+ # @option params [String] :durable_execution_name
4908
+ # Optional unique name for the durable execution. When you start your
4909
+ # special function, you can give it a unique name to identify this
4910
+ # specific execution. It's like giving a nickname to a task.
4911
+ #
4397
4912
  # @option params [String, StringIO, File] :payload
4398
4913
  # The JSON that you want to provide to your Lambda function as input.
4399
4914
  # The maximum payload size is 6 MB for synchronous invocations and 1 MB
@@ -4417,6 +4932,7 @@ module Aws::Lambda
4417
4932
  # * {Types::InvocationResponse#log_result #log_result} => String
4418
4933
  # * {Types::InvocationResponse#payload #payload} => String
4419
4934
  # * {Types::InvocationResponse#executed_version #executed_version} => String
4935
+ # * {Types::InvocationResponse#durable_execution_arn #durable_execution_arn} => String
4420
4936
  #
4421
4937
  #
4422
4938
  # @example Example: To invoke a Lambda function
@@ -4424,7 +4940,9 @@ module Aws::Lambda
4424
4940
  # # The following example invokes version 1 of a function named my-function with an empty event payload.
4425
4941
  #
4426
4942
  # resp = client.invoke({
4943
+ # durable_execution_name: "myExecution",
4427
4944
  # function_name: "my-function",
4945
+ # invocation_type: "Event",
4428
4946
  # payload: "{}",
4429
4947
  # qualifier: "1",
4430
4948
  # })
@@ -4459,6 +4977,7 @@ module Aws::Lambda
4459
4977
  # invocation_type: "Event", # accepts Event, RequestResponse, DryRun
4460
4978
  # log_type: "None", # accepts None, Tail
4461
4979
  # client_context: "String",
4980
+ # durable_execution_name: "DurableExecutionName",
4462
4981
  # payload: "data",
4463
4982
  # qualifier: "NumericLatestPublishedOrAliasQualifier",
4464
4983
  # tenant_id: "TenantId",
@@ -4471,6 +4990,7 @@ module Aws::Lambda
4471
4990
  # resp.log_result #=> String
4472
4991
  # resp.payload #=> String
4473
4992
  # resp.executed_version #=> String
4993
+ # resp.durable_execution_arn #=> String
4474
4994
  #
4475
4995
  # @see http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/Invoke AWS API Documentation
4476
4996
  #
@@ -4994,6 +5514,89 @@ module Aws::Lambda
4994
5514
  req.send_request(options)
4995
5515
  end
4996
5516
 
5517
+ # Returns a list of [durable executions][1] for a specified Lambda
5518
+ # function. You can filter the results by execution name, status, and
5519
+ # start time range. This API supports pagination for large result sets.
5520
+ #
5521
+ #
5522
+ #
5523
+ # [1]: https://docs.aws.amazon.com/lambda/latest/dg/durable-functions.html
5524
+ #
5525
+ # @option params [required, String] :function_name
5526
+ # The name or ARN of the Lambda function. You can specify a function
5527
+ # name, a partial ARN, or a full ARN.
5528
+ #
5529
+ # @option params [String] :qualifier
5530
+ # The function version or alias. If not specified, lists executions for
5531
+ # the $LATEST version.
5532
+ #
5533
+ # @option params [String] :durable_execution_name
5534
+ # Filter executions by name. Only executions with names that contain
5535
+ # this string are returned.
5536
+ #
5537
+ # @option params [Array<String>] :statuses
5538
+ # Filter executions by status. Valid values: RUNNING, SUCCEEDED, FAILED,
5539
+ # TIMED\_OUT, STOPPED.
5540
+ #
5541
+ # @option params [Time,DateTime,Date,Integer,String] :started_after
5542
+ # Filter executions that started after this timestamp (ISO 8601 format).
5543
+ #
5544
+ # @option params [Time,DateTime,Date,Integer,String] :started_before
5545
+ # Filter executions that started before this timestamp (ISO 8601
5546
+ # format).
5547
+ #
5548
+ # @option params [Boolean] :reverse_order
5549
+ # Set to true to return results in reverse chronological order (newest
5550
+ # first). Default is false.
5551
+ #
5552
+ # @option params [String] :marker
5553
+ # Pagination token from a previous request to continue retrieving
5554
+ # results.
5555
+ #
5556
+ # @option params [Integer] :max_items
5557
+ # Maximum number of executions to return (1-1000). Default is 100.
5558
+ #
5559
+ # @return [Types::ListDurableExecutionsByFunctionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5560
+ #
5561
+ # * {Types::ListDurableExecutionsByFunctionResponse#durable_executions #durable_executions} => Array&lt;Types::Execution&gt;
5562
+ # * {Types::ListDurableExecutionsByFunctionResponse#next_marker #next_marker} => String
5563
+ #
5564
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
5565
+ #
5566
+ # @example Request syntax with placeholder values
5567
+ #
5568
+ # resp = client.list_durable_executions_by_function({
5569
+ # function_name: "NamespacedFunctionName", # required
5570
+ # qualifier: "NumericLatestPublishedOrAliasQualifier",
5571
+ # durable_execution_name: "DurableExecutionName",
5572
+ # statuses: ["RUNNING"], # accepts RUNNING, SUCCEEDED, FAILED, TIMED_OUT, STOPPED
5573
+ # started_after: Time.now,
5574
+ # started_before: Time.now,
5575
+ # reverse_order: false,
5576
+ # marker: "String",
5577
+ # max_items: 1,
5578
+ # })
5579
+ #
5580
+ # @example Response structure
5581
+ #
5582
+ # resp.durable_executions #=> Array
5583
+ # resp.durable_executions[0].durable_execution_arn #=> String
5584
+ # resp.durable_executions[0].durable_execution_name #=> String
5585
+ # resp.durable_executions[0].function_arn #=> String
5586
+ # resp.durable_executions[0].status #=> String, one of "RUNNING", "SUCCEEDED", "FAILED", "TIMED_OUT", "STOPPED"
5587
+ # resp.durable_executions[0].start_timestamp #=> Time
5588
+ # resp.durable_executions[0].end_timestamp #=> Time
5589
+ # resp.next_marker #=> String
5590
+ #
5591
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListDurableExecutionsByFunction AWS API Documentation
5592
+ #
5593
+ # @overload list_durable_executions_by_function(params = {})
5594
+ # @param [Hash] params ({})
5595
+ def list_durable_executions_by_function(params = {}, options = {})
5596
+ req = build_request(:list_durable_executions_by_function, params)
5597
+ req.send_request(options)
5598
+ end
5599
+
4997
5600
  # Lists event source mappings. Specify an `EventSourceArn` to show only
4998
5601
  # event source mappings for a single event source.
4999
5602
  #
@@ -5441,6 +6044,10 @@ module Aws::Lambda
5441
6044
  # code_sha_256: "sU0cJ2/hOZevwV/lTxCuQqK3gDZP3i8gUoqUUVRmY6E=",
5442
6045
  # code_size: 266,
5443
6046
  # description: "",
6047
+ # durable_config: {
6048
+ # execution_timeout: 31622400,
6049
+ # retention_period_in_days: 30,
6050
+ # },
5444
6051
  # function_arn: "arn:aws:lambda:us-west-2:123456789012:function:my-function",
5445
6052
  # function_name: "my-function",
5446
6053
  # handler: "index.handler",
@@ -5513,7 +6120,7 @@ module Aws::Lambda
5513
6120
  # resp.functions[0].layers[0].signing_job_arn #=> String
5514
6121
  # resp.functions[0].state #=> String, one of "Pending", "Active", "Inactive", "Failed", "Deactivating", "Deactivated", "ActiveNonInvocable", "Deleting"
5515
6122
  # resp.functions[0].state_reason #=> String
5516
- # resp.functions[0].state_reason_code #=> String, one of "Idle", "Creating", "Restoring", "EniLimitExceeded", "InsufficientRolePermissions", "InvalidConfiguration", "InternalError", "SubnetOutOfIPAddresses", "InvalidSubnet", "InvalidSecurityGroup", "ImageDeleted", "ImageAccessDenied", "InvalidImage", "KMSKeyAccessDenied", "KMSKeyNotFound", "InvalidStateKMSKey", "DisabledKMSKey", "EFSIOError", "EFSMountConnectivityError", "EFSMountFailure", "EFSMountTimeout", "InvalidRuntime", "InvalidZipFileException", "FunctionError", "VcpuLimitExceeded", "CapacityProviderScalingLimitExceeded", "InsufficientCapacity", "EC2RequestLimitExceeded", "FunctionError.InitTimeout", "FunctionError.RuntimeInitError", "FunctionError.ExtensionInitError", "FunctionError.InvalidEntryPoint", "FunctionError.InvalidWorkingDirectory", "FunctionError.PermissionDenied", "FunctionError.TooManyExtensions", "FunctionError.InitResourceExhausted"
6123
+ # resp.functions[0].state_reason_code #=> String, one of "Idle", "Creating", "Restoring", "EniLimitExceeded", "InsufficientRolePermissions", "InvalidConfiguration", "InternalError", "SubnetOutOfIPAddresses", "InvalidSubnet", "InvalidSecurityGroup", "ImageDeleted", "ImageAccessDenied", "InvalidImage", "KMSKeyAccessDenied", "KMSKeyNotFound", "InvalidStateKMSKey", "DisabledKMSKey", "EFSIOError", "EFSMountConnectivityError", "EFSMountFailure", "EFSMountTimeout", "InvalidRuntime", "InvalidZipFileException", "FunctionError", "DrainingDurableExecutions", "VcpuLimitExceeded", "CapacityProviderScalingLimitExceeded", "InsufficientCapacity", "EC2RequestLimitExceeded", "FunctionError.InitTimeout", "FunctionError.RuntimeInitError", "FunctionError.ExtensionInitError", "FunctionError.InvalidEntryPoint", "FunctionError.InvalidWorkingDirectory", "FunctionError.PermissionDenied", "FunctionError.TooManyExtensions", "FunctionError.InitResourceExhausted"
5517
6124
  # resp.functions[0].last_update_status #=> String, one of "Successful", "Failed", "InProgress"
5518
6125
  # resp.functions[0].last_update_status_reason #=> String
5519
6126
  # resp.functions[0].last_update_status_reason_code #=> String, one of "EniLimitExceeded", "InsufficientRolePermissions", "InvalidConfiguration", "InternalError", "SubnetOutOfIPAddresses", "InvalidSubnet", "InvalidSecurityGroup", "ImageDeleted", "ImageAccessDenied", "InvalidImage", "KMSKeyAccessDenied", "KMSKeyNotFound", "InvalidStateKMSKey", "DisabledKMSKey", "EFSIOError", "EFSMountConnectivityError", "EFSMountFailure", "EFSMountTimeout", "InvalidRuntime", "InvalidZipFileException", "FunctionError", "VcpuLimitExceeded", "CapacityProviderScalingLimitExceeded", "InsufficientCapacity", "EC2RequestLimitExceeded", "FunctionError.InitTimeout", "FunctionError.RuntimeInitError", "FunctionError.ExtensionInitError", "FunctionError.InvalidEntryPoint", "FunctionError.InvalidWorkingDirectory", "FunctionError.PermissionDenied", "FunctionError.TooManyExtensions", "FunctionError.InitResourceExhausted"
@@ -5546,6 +6153,8 @@ module Aws::Lambda
5546
6153
  # resp.functions[0].capacity_provider_config.lambda_managed_instances_capacity_provider_config.per_execution_environment_max_concurrency #=> Integer
5547
6154
  # resp.functions[0].capacity_provider_config.lambda_managed_instances_capacity_provider_config.execution_environment_memory_gi_b_per_v_cpu #=> Float
5548
6155
  # resp.functions[0].config_sha_256 #=> String
6156
+ # resp.functions[0].durable_config.retention_period_in_days #=> Integer
6157
+ # resp.functions[0].durable_config.execution_timeout #=> Integer
5549
6158
  # resp.functions[0].tenancy_config.tenant_isolation_mode #=> String, one of "PER_TENANT"
5550
6159
  #
5551
6160
  # @see http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListFunctions AWS API Documentation
@@ -6023,6 +6632,10 @@ module Aws::Lambda
6023
6632
  # code_sha_256: "YFgDgEKG3ugvF1+pX64gV6tu9qNuIYNUdgJm8nCxsm4=",
6024
6633
  # code_size: 5797206,
6025
6634
  # description: "Process image objects from Amazon S3.",
6635
+ # durable_config: {
6636
+ # execution_timeout: 31622400,
6637
+ # retention_period_in_days: 30,
6638
+ # },
6026
6639
  # environment: {
6027
6640
  # variables: {
6028
6641
  # "BUCKET" => "my-bucket-1xpuxmplzrlbh",
@@ -6048,6 +6661,10 @@ module Aws::Lambda
6048
6661
  # code_sha_256: "YFgDgEKG3ugvF1+pX64gV6tu9qNuIYNUdgJm8nCxsm4=",
6049
6662
  # code_size: 5797206,
6050
6663
  # description: "Process image objects from Amazon S3.",
6664
+ # durable_config: {
6665
+ # execution_timeout: 31622400,
6666
+ # retention_period_in_days: 30,
6667
+ # },
6051
6668
  # environment: {
6052
6669
  # variables: {
6053
6670
  # "BUCKET" => "my-bucket-1xpuxmplzrlbh",
@@ -6118,7 +6735,7 @@ module Aws::Lambda
6118
6735
  # resp.versions[0].layers[0].signing_job_arn #=> String
6119
6736
  # resp.versions[0].state #=> String, one of "Pending", "Active", "Inactive", "Failed", "Deactivating", "Deactivated", "ActiveNonInvocable", "Deleting"
6120
6737
  # resp.versions[0].state_reason #=> String
6121
- # resp.versions[0].state_reason_code #=> String, one of "Idle", "Creating", "Restoring", "EniLimitExceeded", "InsufficientRolePermissions", "InvalidConfiguration", "InternalError", "SubnetOutOfIPAddresses", "InvalidSubnet", "InvalidSecurityGroup", "ImageDeleted", "ImageAccessDenied", "InvalidImage", "KMSKeyAccessDenied", "KMSKeyNotFound", "InvalidStateKMSKey", "DisabledKMSKey", "EFSIOError", "EFSMountConnectivityError", "EFSMountFailure", "EFSMountTimeout", "InvalidRuntime", "InvalidZipFileException", "FunctionError", "VcpuLimitExceeded", "CapacityProviderScalingLimitExceeded", "InsufficientCapacity", "EC2RequestLimitExceeded", "FunctionError.InitTimeout", "FunctionError.RuntimeInitError", "FunctionError.ExtensionInitError", "FunctionError.InvalidEntryPoint", "FunctionError.InvalidWorkingDirectory", "FunctionError.PermissionDenied", "FunctionError.TooManyExtensions", "FunctionError.InitResourceExhausted"
6738
+ # resp.versions[0].state_reason_code #=> String, one of "Idle", "Creating", "Restoring", "EniLimitExceeded", "InsufficientRolePermissions", "InvalidConfiguration", "InternalError", "SubnetOutOfIPAddresses", "InvalidSubnet", "InvalidSecurityGroup", "ImageDeleted", "ImageAccessDenied", "InvalidImage", "KMSKeyAccessDenied", "KMSKeyNotFound", "InvalidStateKMSKey", "DisabledKMSKey", "EFSIOError", "EFSMountConnectivityError", "EFSMountFailure", "EFSMountTimeout", "InvalidRuntime", "InvalidZipFileException", "FunctionError", "DrainingDurableExecutions", "VcpuLimitExceeded", "CapacityProviderScalingLimitExceeded", "InsufficientCapacity", "EC2RequestLimitExceeded", "FunctionError.InitTimeout", "FunctionError.RuntimeInitError", "FunctionError.ExtensionInitError", "FunctionError.InvalidEntryPoint", "FunctionError.InvalidWorkingDirectory", "FunctionError.PermissionDenied", "FunctionError.TooManyExtensions", "FunctionError.InitResourceExhausted"
6122
6739
  # resp.versions[0].last_update_status #=> String, one of "Successful", "Failed", "InProgress"
6123
6740
  # resp.versions[0].last_update_status_reason #=> String
6124
6741
  # resp.versions[0].last_update_status_reason_code #=> String, one of "EniLimitExceeded", "InsufficientRolePermissions", "InvalidConfiguration", "InternalError", "SubnetOutOfIPAddresses", "InvalidSubnet", "InvalidSecurityGroup", "ImageDeleted", "ImageAccessDenied", "InvalidImage", "KMSKeyAccessDenied", "KMSKeyNotFound", "InvalidStateKMSKey", "DisabledKMSKey", "EFSIOError", "EFSMountConnectivityError", "EFSMountFailure", "EFSMountTimeout", "InvalidRuntime", "InvalidZipFileException", "FunctionError", "VcpuLimitExceeded", "CapacityProviderScalingLimitExceeded", "InsufficientCapacity", "EC2RequestLimitExceeded", "FunctionError.InitTimeout", "FunctionError.RuntimeInitError", "FunctionError.ExtensionInitError", "FunctionError.InvalidEntryPoint", "FunctionError.InvalidWorkingDirectory", "FunctionError.PermissionDenied", "FunctionError.TooManyExtensions", "FunctionError.InitResourceExhausted"
@@ -6151,6 +6768,8 @@ module Aws::Lambda
6151
6768
  # resp.versions[0].capacity_provider_config.lambda_managed_instances_capacity_provider_config.per_execution_environment_max_concurrency #=> Integer
6152
6769
  # resp.versions[0].capacity_provider_config.lambda_managed_instances_capacity_provider_config.execution_environment_memory_gi_b_per_v_cpu #=> Float
6153
6770
  # resp.versions[0].config_sha_256 #=> String
6771
+ # resp.versions[0].durable_config.retention_period_in_days #=> Integer
6772
+ # resp.versions[0].durable_config.execution_timeout #=> Integer
6154
6773
  # resp.versions[0].tenancy_config.tenant_isolation_mode #=> String, one of "PER_TENANT"
6155
6774
  #
6156
6775
  # @see http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListVersionsByFunction AWS API Documentation
@@ -6399,6 +7018,7 @@ module Aws::Lambda
6399
7018
  # * {Types::FunctionConfiguration#logging_config #logging_config} => Types::LoggingConfig
6400
7019
  # * {Types::FunctionConfiguration#capacity_provider_config #capacity_provider_config} => Types::CapacityProviderConfig
6401
7020
  # * {Types::FunctionConfiguration#config_sha_256 #config_sha_256} => String
7021
+ # * {Types::FunctionConfiguration#durable_config #durable_config} => Types::DurableConfig
6402
7022
  # * {Types::FunctionConfiguration#tenancy_config #tenancy_config} => Types::TenancyConfig
6403
7023
  #
6404
7024
  #
@@ -6487,7 +7107,7 @@ module Aws::Lambda
6487
7107
  # resp.layers[0].signing_job_arn #=> String
6488
7108
  # resp.state #=> String, one of "Pending", "Active", "Inactive", "Failed", "Deactivating", "Deactivated", "ActiveNonInvocable", "Deleting"
6489
7109
  # resp.state_reason #=> String
6490
- # resp.state_reason_code #=> String, one of "Idle", "Creating", "Restoring", "EniLimitExceeded", "InsufficientRolePermissions", "InvalidConfiguration", "InternalError", "SubnetOutOfIPAddresses", "InvalidSubnet", "InvalidSecurityGroup", "ImageDeleted", "ImageAccessDenied", "InvalidImage", "KMSKeyAccessDenied", "KMSKeyNotFound", "InvalidStateKMSKey", "DisabledKMSKey", "EFSIOError", "EFSMountConnectivityError", "EFSMountFailure", "EFSMountTimeout", "InvalidRuntime", "InvalidZipFileException", "FunctionError", "VcpuLimitExceeded", "CapacityProviderScalingLimitExceeded", "InsufficientCapacity", "EC2RequestLimitExceeded", "FunctionError.InitTimeout", "FunctionError.RuntimeInitError", "FunctionError.ExtensionInitError", "FunctionError.InvalidEntryPoint", "FunctionError.InvalidWorkingDirectory", "FunctionError.PermissionDenied", "FunctionError.TooManyExtensions", "FunctionError.InitResourceExhausted"
7110
+ # resp.state_reason_code #=> String, one of "Idle", "Creating", "Restoring", "EniLimitExceeded", "InsufficientRolePermissions", "InvalidConfiguration", "InternalError", "SubnetOutOfIPAddresses", "InvalidSubnet", "InvalidSecurityGroup", "ImageDeleted", "ImageAccessDenied", "InvalidImage", "KMSKeyAccessDenied", "KMSKeyNotFound", "InvalidStateKMSKey", "DisabledKMSKey", "EFSIOError", "EFSMountConnectivityError", "EFSMountFailure", "EFSMountTimeout", "InvalidRuntime", "InvalidZipFileException", "FunctionError", "DrainingDurableExecutions", "VcpuLimitExceeded", "CapacityProviderScalingLimitExceeded", "InsufficientCapacity", "EC2RequestLimitExceeded", "FunctionError.InitTimeout", "FunctionError.RuntimeInitError", "FunctionError.ExtensionInitError", "FunctionError.InvalidEntryPoint", "FunctionError.InvalidWorkingDirectory", "FunctionError.PermissionDenied", "FunctionError.TooManyExtensions", "FunctionError.InitResourceExhausted"
6491
7111
  # resp.last_update_status #=> String, one of "Successful", "Failed", "InProgress"
6492
7112
  # resp.last_update_status_reason #=> String
6493
7113
  # resp.last_update_status_reason_code #=> String, one of "EniLimitExceeded", "InsufficientRolePermissions", "InvalidConfiguration", "InternalError", "SubnetOutOfIPAddresses", "InvalidSubnet", "InvalidSecurityGroup", "ImageDeleted", "ImageAccessDenied", "InvalidImage", "KMSKeyAccessDenied", "KMSKeyNotFound", "InvalidStateKMSKey", "DisabledKMSKey", "EFSIOError", "EFSMountConnectivityError", "EFSMountFailure", "EFSMountTimeout", "InvalidRuntime", "InvalidZipFileException", "FunctionError", "VcpuLimitExceeded", "CapacityProviderScalingLimitExceeded", "InsufficientCapacity", "EC2RequestLimitExceeded", "FunctionError.InitTimeout", "FunctionError.RuntimeInitError", "FunctionError.ExtensionInitError", "FunctionError.InvalidEntryPoint", "FunctionError.InvalidWorkingDirectory", "FunctionError.PermissionDenied", "FunctionError.TooManyExtensions", "FunctionError.InitResourceExhausted"
@@ -6520,6 +7140,8 @@ module Aws::Lambda
6520
7140
  # resp.capacity_provider_config.lambda_managed_instances_capacity_provider_config.per_execution_environment_max_concurrency #=> Integer
6521
7141
  # resp.capacity_provider_config.lambda_managed_instances_capacity_provider_config.execution_environment_memory_gi_b_per_v_cpu #=> Float
6522
7142
  # resp.config_sha_256 #=> String
7143
+ # resp.durable_config.retention_period_in_days #=> Integer
7144
+ # resp.durable_config.execution_timeout #=> Integer
6523
7145
  # resp.tenancy_config.tenant_isolation_mode #=> String, one of "PER_TENANT"
6524
7146
  #
6525
7147
  # @see http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/PublishVersion AWS API Documentation
@@ -7222,6 +7844,135 @@ module Aws::Lambda
7222
7844
  req.send_request(options)
7223
7845
  end
7224
7846
 
7847
+ # Sends a failure response for a callback operation in a durable
7848
+ # execution. Use this API when an external system cannot complete a
7849
+ # callback operation successfully.
7850
+ #
7851
+ # @option params [required, String] :callback_id
7852
+ # The unique identifier for the callback operation.
7853
+ #
7854
+ # @option params [Types::ErrorObject] :error
7855
+ # Error details describing why the callback operation failed.
7856
+ #
7857
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
7858
+ #
7859
+ # @example Request syntax with placeholder values
7860
+ #
7861
+ # resp = client.send_durable_execution_callback_failure({
7862
+ # callback_id: "CallbackId", # required
7863
+ # error: {
7864
+ # error_message: "ErrorMessage",
7865
+ # error_type: "ErrorType",
7866
+ # error_data: "ErrorData",
7867
+ # stack_trace: ["StackTraceEntry"],
7868
+ # },
7869
+ # })
7870
+ #
7871
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/SendDurableExecutionCallbackFailure AWS API Documentation
7872
+ #
7873
+ # @overload send_durable_execution_callback_failure(params = {})
7874
+ # @param [Hash] params ({})
7875
+ def send_durable_execution_callback_failure(params = {}, options = {})
7876
+ req = build_request(:send_durable_execution_callback_failure, params)
7877
+ req.send_request(options)
7878
+ end
7879
+
7880
+ # Sends a heartbeat signal for a long-running callback operation to
7881
+ # prevent timeout. Use this API to extend the callback timeout period
7882
+ # while the external operation is still in progress.
7883
+ #
7884
+ # @option params [required, String] :callback_id
7885
+ # The unique identifier for the callback operation.
7886
+ #
7887
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
7888
+ #
7889
+ # @example Request syntax with placeholder values
7890
+ #
7891
+ # resp = client.send_durable_execution_callback_heartbeat({
7892
+ # callback_id: "CallbackId", # required
7893
+ # })
7894
+ #
7895
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/SendDurableExecutionCallbackHeartbeat AWS API Documentation
7896
+ #
7897
+ # @overload send_durable_execution_callback_heartbeat(params = {})
7898
+ # @param [Hash] params ({})
7899
+ def send_durable_execution_callback_heartbeat(params = {}, options = {})
7900
+ req = build_request(:send_durable_execution_callback_heartbeat, params)
7901
+ req.send_request(options)
7902
+ end
7903
+
7904
+ # Sends a successful completion response for a callback operation in a
7905
+ # durable execution. Use this API when an external system has
7906
+ # successfully completed a callback operation.
7907
+ #
7908
+ # @option params [required, String] :callback_id
7909
+ # The unique identifier for the callback operation.
7910
+ #
7911
+ # @option params [String, StringIO, File] :result
7912
+ # The result data from the successful callback operation. Maximum size
7913
+ # is 256 KB.
7914
+ #
7915
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
7916
+ #
7917
+ # @example Request syntax with placeholder values
7918
+ #
7919
+ # resp = client.send_durable_execution_callback_success({
7920
+ # callback_id: "CallbackId", # required
7921
+ # result: "data",
7922
+ # })
7923
+ #
7924
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/SendDurableExecutionCallbackSuccess AWS API Documentation
7925
+ #
7926
+ # @overload send_durable_execution_callback_success(params = {})
7927
+ # @param [Hash] params ({})
7928
+ def send_durable_execution_callback_success(params = {}, options = {})
7929
+ req = build_request(:send_durable_execution_callback_success, params)
7930
+ req.send_request(options)
7931
+ end
7932
+
7933
+ # Stops a running [durable execution][1]. The execution transitions to
7934
+ # STOPPED status and cannot be resumed. Any in-progress operations are
7935
+ # terminated.
7936
+ #
7937
+ #
7938
+ #
7939
+ # [1]: https://docs.aws.amazon.com/lambda/latest/dg/durable-functions.html
7940
+ #
7941
+ # @option params [required, String] :durable_execution_arn
7942
+ # The Amazon Resource Name (ARN) of the durable execution.
7943
+ #
7944
+ # @option params [Types::ErrorObject] :error
7945
+ # Optional error details explaining why the execution is being stopped.
7946
+ #
7947
+ # @return [Types::StopDurableExecutionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
7948
+ #
7949
+ # * {Types::StopDurableExecutionResponse#stop_timestamp #stop_timestamp} => Time
7950
+ #
7951
+ # @example Request syntax with placeholder values
7952
+ #
7953
+ # resp = client.stop_durable_execution({
7954
+ # durable_execution_arn: "DurableExecutionArn", # required
7955
+ # error: {
7956
+ # error_message: "ErrorMessage",
7957
+ # error_type: "ErrorType",
7958
+ # error_data: "ErrorData",
7959
+ # stack_trace: ["StackTraceEntry"],
7960
+ # },
7961
+ # })
7962
+ #
7963
+ # @example Response structure
7964
+ #
7965
+ # resp.stop_timestamp #=> Time
7966
+ #
7967
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/StopDurableExecution AWS API Documentation
7968
+ #
7969
+ # @overload stop_durable_execution(params = {})
7970
+ # @param [Hash] params ({})
7971
+ def stop_durable_execution(params = {}, options = {})
7972
+ req = build_request(:stop_durable_execution, params)
7973
+ req.send_request(options)
7974
+ end
7975
+
7225
7976
  # Adds [tags][1] to a function, event source mapping, or code signing
7226
7977
  # configuration.
7227
7978
  #
@@ -8141,6 +8892,7 @@ module Aws::Lambda
8141
8892
  # * {Types::FunctionConfiguration#logging_config #logging_config} => Types::LoggingConfig
8142
8893
  # * {Types::FunctionConfiguration#capacity_provider_config #capacity_provider_config} => Types::CapacityProviderConfig
8143
8894
  # * {Types::FunctionConfiguration#config_sha_256 #config_sha_256} => String
8895
+ # * {Types::FunctionConfiguration#durable_config #durable_config} => Types::DurableConfig
8144
8896
  # * {Types::FunctionConfiguration#tenancy_config #tenancy_config} => Types::TenancyConfig
8145
8897
  #
8146
8898
  #
@@ -8228,7 +8980,7 @@ module Aws::Lambda
8228
8980
  # resp.layers[0].signing_job_arn #=> String
8229
8981
  # resp.state #=> String, one of "Pending", "Active", "Inactive", "Failed", "Deactivating", "Deactivated", "ActiveNonInvocable", "Deleting"
8230
8982
  # resp.state_reason #=> String
8231
- # resp.state_reason_code #=> String, one of "Idle", "Creating", "Restoring", "EniLimitExceeded", "InsufficientRolePermissions", "InvalidConfiguration", "InternalError", "SubnetOutOfIPAddresses", "InvalidSubnet", "InvalidSecurityGroup", "ImageDeleted", "ImageAccessDenied", "InvalidImage", "KMSKeyAccessDenied", "KMSKeyNotFound", "InvalidStateKMSKey", "DisabledKMSKey", "EFSIOError", "EFSMountConnectivityError", "EFSMountFailure", "EFSMountTimeout", "InvalidRuntime", "InvalidZipFileException", "FunctionError", "VcpuLimitExceeded", "CapacityProviderScalingLimitExceeded", "InsufficientCapacity", "EC2RequestLimitExceeded", "FunctionError.InitTimeout", "FunctionError.RuntimeInitError", "FunctionError.ExtensionInitError", "FunctionError.InvalidEntryPoint", "FunctionError.InvalidWorkingDirectory", "FunctionError.PermissionDenied", "FunctionError.TooManyExtensions", "FunctionError.InitResourceExhausted"
8983
+ # resp.state_reason_code #=> String, one of "Idle", "Creating", "Restoring", "EniLimitExceeded", "InsufficientRolePermissions", "InvalidConfiguration", "InternalError", "SubnetOutOfIPAddresses", "InvalidSubnet", "InvalidSecurityGroup", "ImageDeleted", "ImageAccessDenied", "InvalidImage", "KMSKeyAccessDenied", "KMSKeyNotFound", "InvalidStateKMSKey", "DisabledKMSKey", "EFSIOError", "EFSMountConnectivityError", "EFSMountFailure", "EFSMountTimeout", "InvalidRuntime", "InvalidZipFileException", "FunctionError", "DrainingDurableExecutions", "VcpuLimitExceeded", "CapacityProviderScalingLimitExceeded", "InsufficientCapacity", "EC2RequestLimitExceeded", "FunctionError.InitTimeout", "FunctionError.RuntimeInitError", "FunctionError.ExtensionInitError", "FunctionError.InvalidEntryPoint", "FunctionError.InvalidWorkingDirectory", "FunctionError.PermissionDenied", "FunctionError.TooManyExtensions", "FunctionError.InitResourceExhausted"
8232
8984
  # resp.last_update_status #=> String, one of "Successful", "Failed", "InProgress"
8233
8985
  # resp.last_update_status_reason #=> String
8234
8986
  # resp.last_update_status_reason_code #=> String, one of "EniLimitExceeded", "InsufficientRolePermissions", "InvalidConfiguration", "InternalError", "SubnetOutOfIPAddresses", "InvalidSubnet", "InvalidSecurityGroup", "ImageDeleted", "ImageAccessDenied", "InvalidImage", "KMSKeyAccessDenied", "KMSKeyNotFound", "InvalidStateKMSKey", "DisabledKMSKey", "EFSIOError", "EFSMountConnectivityError", "EFSMountFailure", "EFSMountTimeout", "InvalidRuntime", "InvalidZipFileException", "FunctionError", "VcpuLimitExceeded", "CapacityProviderScalingLimitExceeded", "InsufficientCapacity", "EC2RequestLimitExceeded", "FunctionError.InitTimeout", "FunctionError.RuntimeInitError", "FunctionError.ExtensionInitError", "FunctionError.InvalidEntryPoint", "FunctionError.InvalidWorkingDirectory", "FunctionError.PermissionDenied", "FunctionError.TooManyExtensions", "FunctionError.InitResourceExhausted"
@@ -8261,6 +9013,8 @@ module Aws::Lambda
8261
9013
  # resp.capacity_provider_config.lambda_managed_instances_capacity_provider_config.per_execution_environment_max_concurrency #=> Integer
8262
9014
  # resp.capacity_provider_config.lambda_managed_instances_capacity_provider_config.execution_environment_memory_gi_b_per_v_cpu #=> Float
8263
9015
  # resp.config_sha_256 #=> String
9016
+ # resp.durable_config.retention_period_in_days #=> Integer
9017
+ # resp.durable_config.execution_timeout #=> Integer
8264
9018
  # resp.tenancy_config.tenant_isolation_mode #=> String, one of "PER_TENANT"
8265
9019
  #
8266
9020
  # @see http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/UpdateFunctionCode AWS API Documentation
@@ -8476,6 +9230,11 @@ module Aws::Lambda
8476
9230
  # Configuration for the capacity provider that manages compute resources
8477
9231
  # for Lambda functions.
8478
9232
  #
9233
+ # @option params [Types::DurableConfig] :durable_config
9234
+ # Configuration settings for durable functions. Allows updating
9235
+ # execution timeout and retention period for functions with durability
9236
+ # enabled.
9237
+ #
8479
9238
  # @return [Types::FunctionConfiguration] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
8480
9239
  #
8481
9240
  # * {Types::FunctionConfiguration#function_name #function_name} => String
@@ -8516,6 +9275,7 @@ module Aws::Lambda
8516
9275
  # * {Types::FunctionConfiguration#logging_config #logging_config} => Types::LoggingConfig
8517
9276
  # * {Types::FunctionConfiguration#capacity_provider_config #capacity_provider_config} => Types::CapacityProviderConfig
8518
9277
  # * {Types::FunctionConfiguration#config_sha_256 #config_sha_256} => String
9278
+ # * {Types::FunctionConfiguration#durable_config #durable_config} => Types::DurableConfig
8519
9279
  # * {Types::FunctionConfiguration#tenancy_config #tenancy_config} => Types::TenancyConfig
8520
9280
  #
8521
9281
  #
@@ -8525,6 +9285,10 @@ module Aws::Lambda
8525
9285
  # # my-function.
8526
9286
  #
8527
9287
  # resp = client.update_function_configuration({
9288
+ # durable_config: {
9289
+ # execution_timeout: 3600,
9290
+ # retention_period_in_days: 45,
9291
+ # },
8528
9292
  # function_name: "my-function",
8529
9293
  # memory_size: 256,
8530
9294
  # })
@@ -8534,6 +9298,10 @@ module Aws::Lambda
8534
9298
  # code_sha_256: "PFn4S+er27qk+UuZSTKEQfNKG/XNn7QJs90mJgq6oH8=",
8535
9299
  # code_size: 308,
8536
9300
  # description: "",
9301
+ # durable_config: {
9302
+ # execution_timeout: 3600,
9303
+ # retention_period_in_days: 45,
9304
+ # },
8537
9305
  # function_arn: "arn:aws:lambda:us-east-2:123456789012:function:my-function",
8538
9306
  # function_name: "my-function",
8539
9307
  # handler: "index.handler",
@@ -8608,6 +9376,10 @@ module Aws::Lambda
8608
9376
  # execution_environment_memory_gi_b_per_v_cpu: 1.0,
8609
9377
  # },
8610
9378
  # },
9379
+ # durable_config: {
9380
+ # retention_period_in_days: 1,
9381
+ # execution_timeout: 1,
9382
+ # },
8611
9383
  # })
8612
9384
  #
8613
9385
  # @example Response structure
@@ -8646,7 +9418,7 @@ module Aws::Lambda
8646
9418
  # resp.layers[0].signing_job_arn #=> String
8647
9419
  # resp.state #=> String, one of "Pending", "Active", "Inactive", "Failed", "Deactivating", "Deactivated", "ActiveNonInvocable", "Deleting"
8648
9420
  # resp.state_reason #=> String
8649
- # resp.state_reason_code #=> String, one of "Idle", "Creating", "Restoring", "EniLimitExceeded", "InsufficientRolePermissions", "InvalidConfiguration", "InternalError", "SubnetOutOfIPAddresses", "InvalidSubnet", "InvalidSecurityGroup", "ImageDeleted", "ImageAccessDenied", "InvalidImage", "KMSKeyAccessDenied", "KMSKeyNotFound", "InvalidStateKMSKey", "DisabledKMSKey", "EFSIOError", "EFSMountConnectivityError", "EFSMountFailure", "EFSMountTimeout", "InvalidRuntime", "InvalidZipFileException", "FunctionError", "VcpuLimitExceeded", "CapacityProviderScalingLimitExceeded", "InsufficientCapacity", "EC2RequestLimitExceeded", "FunctionError.InitTimeout", "FunctionError.RuntimeInitError", "FunctionError.ExtensionInitError", "FunctionError.InvalidEntryPoint", "FunctionError.InvalidWorkingDirectory", "FunctionError.PermissionDenied", "FunctionError.TooManyExtensions", "FunctionError.InitResourceExhausted"
9421
+ # resp.state_reason_code #=> String, one of "Idle", "Creating", "Restoring", "EniLimitExceeded", "InsufficientRolePermissions", "InvalidConfiguration", "InternalError", "SubnetOutOfIPAddresses", "InvalidSubnet", "InvalidSecurityGroup", "ImageDeleted", "ImageAccessDenied", "InvalidImage", "KMSKeyAccessDenied", "KMSKeyNotFound", "InvalidStateKMSKey", "DisabledKMSKey", "EFSIOError", "EFSMountConnectivityError", "EFSMountFailure", "EFSMountTimeout", "InvalidRuntime", "InvalidZipFileException", "FunctionError", "DrainingDurableExecutions", "VcpuLimitExceeded", "CapacityProviderScalingLimitExceeded", "InsufficientCapacity", "EC2RequestLimitExceeded", "FunctionError.InitTimeout", "FunctionError.RuntimeInitError", "FunctionError.ExtensionInitError", "FunctionError.InvalidEntryPoint", "FunctionError.InvalidWorkingDirectory", "FunctionError.PermissionDenied", "FunctionError.TooManyExtensions", "FunctionError.InitResourceExhausted"
8650
9422
  # resp.last_update_status #=> String, one of "Successful", "Failed", "InProgress"
8651
9423
  # resp.last_update_status_reason #=> String
8652
9424
  # resp.last_update_status_reason_code #=> String, one of "EniLimitExceeded", "InsufficientRolePermissions", "InvalidConfiguration", "InternalError", "SubnetOutOfIPAddresses", "InvalidSubnet", "InvalidSecurityGroup", "ImageDeleted", "ImageAccessDenied", "InvalidImage", "KMSKeyAccessDenied", "KMSKeyNotFound", "InvalidStateKMSKey", "DisabledKMSKey", "EFSIOError", "EFSMountConnectivityError", "EFSMountFailure", "EFSMountTimeout", "InvalidRuntime", "InvalidZipFileException", "FunctionError", "VcpuLimitExceeded", "CapacityProviderScalingLimitExceeded", "InsufficientCapacity", "EC2RequestLimitExceeded", "FunctionError.InitTimeout", "FunctionError.RuntimeInitError", "FunctionError.ExtensionInitError", "FunctionError.InvalidEntryPoint", "FunctionError.InvalidWorkingDirectory", "FunctionError.PermissionDenied", "FunctionError.TooManyExtensions", "FunctionError.InitResourceExhausted"
@@ -8679,6 +9451,8 @@ module Aws::Lambda
8679
9451
  # resp.capacity_provider_config.lambda_managed_instances_capacity_provider_config.per_execution_environment_max_concurrency #=> Integer
8680
9452
  # resp.capacity_provider_config.lambda_managed_instances_capacity_provider_config.execution_environment_memory_gi_b_per_v_cpu #=> Float
8681
9453
  # resp.config_sha_256 #=> String
9454
+ # resp.durable_config.retention_period_in_days #=> Integer
9455
+ # resp.durable_config.execution_timeout #=> Integer
8682
9456
  # resp.tenancy_config.tenant_isolation_mode #=> String, one of "PER_TENANT"
8683
9457
  #
8684
9458
  # @see http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/UpdateFunctionConfiguration AWS API Documentation
@@ -8943,7 +9717,7 @@ module Aws::Lambda
8943
9717
  tracer: tracer
8944
9718
  )
8945
9719
  context[:gem_name] = 'aws-sdk-lambda'
8946
- context[:gem_version] = '1.168.0'
9720
+ context[:gem_version] = '1.169.0'
8947
9721
  Seahorse::Client::Request.new(handlers, context)
8948
9722
  end
8949
9723