/* * Copyright 2018-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with * the License. A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions * and limitations under the License. */ package com.amazonaws.services.lambda.model; import java.io.Serializable; import javax.annotation.Generated; import com.amazonaws.AmazonWebServiceRequest; /** * * @see AWS * API Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class UpdateEventSourceMappingRequest extends com.amazonaws.AmazonWebServiceRequest implements Serializable, Cloneable { /** *

* The identifier of the event source mapping. *

*/ private String uUID; /** *

* The name of the Lambda function. *

*

* Name formats *

* *

* The length constraint applies only to the full ARN. If you specify only the function name, it's limited to 64 * characters in length. *

*/ private String functionName; /** *

* When true, the event source mapping is active. When false, Lambda pauses polling and invocation. *

*

* Default: True *

*/ private Boolean enabled; /** *

* The maximum number of records in each batch that Lambda pulls from your stream or queue and sends to your * function. Lambda passes all of the records in the batch to the function in a single call, up to the payload limit * for synchronous invocation (6 MB). *

* */ private Integer batchSize; /** *

* An object that defines the filter criteria that determine whether Lambda should process an event. For more * information, see Lambda * event filtering. *

*/ private FilterCriteria filterCriteria; /** *

* The maximum amount of time, in seconds, that Lambda spends gathering records before invoking the function. You * can configure MaximumBatchingWindowInSeconds to any value from 0 seconds to 300 seconds in * increments of seconds. *

*

* For streams and Amazon SQS event sources, the default batching window is 0 seconds. For Amazon MSK, Self-managed * Apache Kafka, Amazon MQ, and DocumentDB event sources, the default batching window is 500 ms. Note that because * you can only change MaximumBatchingWindowInSeconds in increments of seconds, you cannot revert back * to the 500 ms default batching window after you have changed it. To restore the default batching window, you must * create a new event source mapping. *

*

* Related setting: For streams and Amazon SQS event sources, when you set BatchSize to a value greater * than 10, you must set MaximumBatchingWindowInSeconds to at least 1. *

*/ private Integer maximumBatchingWindowInSeconds; /** *

* (Kinesis and DynamoDB Streams only) A standard Amazon SQS queue or standard Amazon SNS topic destination for * discarded records. *

*/ private DestinationConfig destinationConfig; /** *

* (Kinesis and DynamoDB Streams only) Discard records older than the specified age. The default value is infinite * (-1). *

*/ private Integer maximumRecordAgeInSeconds; /** *

* (Kinesis and DynamoDB Streams only) If the function returns an error, split the batch in two and retry. *

*/ private Boolean bisectBatchOnFunctionError; /** *

* (Kinesis and DynamoDB Streams only) Discard records after the specified number of retries. The default value is * infinite (-1). When set to infinite (-1), failed records are retried until the record expires. *

*/ private Integer maximumRetryAttempts; /** *

* (Kinesis and DynamoDB Streams only) The number of batches to process from each shard concurrently. *

*/ private Integer parallelizationFactor; /** *

* An array of authentication protocols or VPC components required to secure your event source. *

*/ private com.amazonaws.internal.SdkInternalList sourceAccessConfigurations; /** *

* (Kinesis and DynamoDB Streams only) The duration in seconds of a processing window for DynamoDB and Kinesis * Streams event sources. A value of 0 seconds indicates no tumbling window. *

*/ private Integer tumblingWindowInSeconds; /** *

* (Kinesis, DynamoDB Streams, and Amazon SQS) A list of current response type enums applied to the event source * mapping. *

*/ private com.amazonaws.internal.SdkInternalList functionResponseTypes; /** *

* (Amazon SQS only) The scaling configuration for the event source. For more information, see Configuring maximum * concurrency for Amazon SQS event sources. *

*/ private ScalingConfig scalingConfig; /** *

* Specific configuration settings for a DocumentDB event source. *

*/ private DocumentDBEventSourceConfig documentDBEventSourceConfig; /** *

* The identifier of the event source mapping. *

* * @param uUID * The identifier of the event source mapping. */ public void setUUID(String uUID) { this.uUID = uUID; } /** *

* The identifier of the event source mapping. *

* * @return The identifier of the event source mapping. */ public String getUUID() { return this.uUID; } /** *

* The identifier of the event source mapping. *

* * @param uUID * The identifier of the event source mapping. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateEventSourceMappingRequest withUUID(String uUID) { setUUID(uUID); return this; } /** *

* The name of the Lambda function. *

*

* Name formats *

* *

* The length constraint applies only to the full ARN. If you specify only the function name, it's limited to 64 * characters in length. *

* * @param functionName * The name of the Lambda function.

*

* Name formats *

* *

* The length constraint applies only to the full ARN. If you specify only the function name, it's limited to * 64 characters in length. */ public void setFunctionName(String functionName) { this.functionName = functionName; } /** *

* The name of the Lambda function. *

*

* Name formats *

* *

* The length constraint applies only to the full ARN. If you specify only the function name, it's limited to 64 * characters in length. *

* * @return The name of the Lambda function.

*

* Name formats *

* *

* The length constraint applies only to the full ARN. If you specify only the function name, it's limited * to 64 characters in length. */ public String getFunctionName() { return this.functionName; } /** *

* The name of the Lambda function. *

*

* Name formats *

* *

* The length constraint applies only to the full ARN. If you specify only the function name, it's limited to 64 * characters in length. *

* * @param functionName * The name of the Lambda function.

*

* Name formats *

* *

* The length constraint applies only to the full ARN. If you specify only the function name, it's limited to * 64 characters in length. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateEventSourceMappingRequest withFunctionName(String functionName) { setFunctionName(functionName); return this; } /** *

* When true, the event source mapping is active. When false, Lambda pauses polling and invocation. *

*

* Default: True *

* * @param enabled * When true, the event source mapping is active. When false, Lambda pauses polling and invocation.

*

* Default: True */ public void setEnabled(Boolean enabled) { this.enabled = enabled; } /** *

* When true, the event source mapping is active. When false, Lambda pauses polling and invocation. *

*

* Default: True *

* * @return When true, the event source mapping is active. When false, Lambda pauses polling and invocation.

*

* Default: True */ public Boolean getEnabled() { return this.enabled; } /** *

* When true, the event source mapping is active. When false, Lambda pauses polling and invocation. *

*

* Default: True *

* * @param enabled * When true, the event source mapping is active. When false, Lambda pauses polling and invocation.

*

* Default: True * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateEventSourceMappingRequest withEnabled(Boolean enabled) { setEnabled(enabled); return this; } /** *

* When true, the event source mapping is active. When false, Lambda pauses polling and invocation. *

*

* Default: True *

* * @return When true, the event source mapping is active. When false, Lambda pauses polling and invocation.

*

* Default: True */ public Boolean isEnabled() { return this.enabled; } /** *

* The maximum number of records in each batch that Lambda pulls from your stream or queue and sends to your * function. Lambda passes all of the records in the batch to the function in a single call, up to the payload limit * for synchronous invocation (6 MB). *

* * * @param batchSize * The maximum number of records in each batch that Lambda pulls from your stream or queue and sends to your * function. Lambda passes all of the records in the batch to the function in a single call, up to the * payload limit for synchronous invocation (6 MB).

*