/* * Copyright 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. */ /* * Do not modify this file. This file is generated from the lambda-2015-03-31.normal.json service model. */ using System; using System.Collections.Generic; using System.Xml.Serialization; using System.Text; using System.IO; using System.Net; using Amazon.Runtime; using Amazon.Runtime.Internal; namespace Amazon.Lambda.Model { /// /// A mapping between an Amazon Web Services resource and a Lambda function. For details, /// see CreateEventSourceMapping. /// public partial class EventSourceMappingConfiguration { private AmazonManagedKafkaEventSourceConfig _amazonManagedKafkaEventSourceConfig; private int? _batchSize; private bool? _bisectBatchOnFunctionError; private DestinationConfig _destinationConfig; private DocumentDBEventSourceConfig _documentDBEventSourceConfig; private string _eventSourceArn; private FilterCriteria _filterCriteria; private string _functionArn; private List _functionResponseTypes = new List(); private DateTime? _lastModified; private string _lastProcessingResult; private int? _maximumBatchingWindowInSeconds; private int? _maximumRecordAgeInSeconds; private int? _maximumRetryAttempts; private int? _parallelizationFactor; private List _queues = new List(); private ScalingConfig _scalingConfig; private SelfManagedEventSource _selfManagedEventSource; private SelfManagedKafkaEventSourceConfig _selfManagedKafkaEventSourceConfig; private List _sourceAccessConfigurations = new List(); private EventSourcePosition _startingPosition; private DateTime? _startingPositionTimestamp; private string _state; private string _stateTransitionReason; private List _topics = new List(); private int? _tumblingWindowInSeconds; private string _uuid; /// /// Gets and sets the property AmazonManagedKafkaEventSourceConfig. /// /// Specific configuration settings for an Amazon Managed Streaming for Apache Kafka (Amazon /// MSK) event source. /// /// public AmazonManagedKafkaEventSourceConfig AmazonManagedKafkaEventSourceConfig { get { return this._amazonManagedKafkaEventSourceConfig; } set { this._amazonManagedKafkaEventSourceConfig = value; } } // Check to see if AmazonManagedKafkaEventSourceConfig property is set internal bool IsSetAmazonManagedKafkaEventSourceConfig() { return this._amazonManagedKafkaEventSourceConfig != null; } /// /// Gets and sets the property 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). /// /// /// /// Default value: Varies by service. For Amazon SQS, the default is 10. For all other /// services, the default is 100. /// /// /// /// Related setting: When you set BatchSize to a value greater than 10, you /// must set MaximumBatchingWindowInSeconds to at least 1. /// /// [AWSProperty(Min=1, Max=10000)] public int BatchSize { get { return this._batchSize.GetValueOrDefault(); } set { this._batchSize = value; } } // Check to see if BatchSize property is set internal bool IsSetBatchSize() { return this._batchSize.HasValue; } /// /// Gets and sets the property BisectBatchOnFunctionError. /// /// (Kinesis and DynamoDB Streams only) If the function returns an error, split the batch /// in two and retry. The default value is false. /// /// public bool BisectBatchOnFunctionError { get { return this._bisectBatchOnFunctionError.GetValueOrDefault(); } set { this._bisectBatchOnFunctionError = value; } } // Check to see if BisectBatchOnFunctionError property is set internal bool IsSetBisectBatchOnFunctionError() { return this._bisectBatchOnFunctionError.HasValue; } /// /// Gets and sets the property DestinationConfig. /// /// (Kinesis and DynamoDB Streams only) An Amazon SQS queue or Amazon SNS topic destination /// for discarded records. /// /// public DestinationConfig DestinationConfig { get { return this._destinationConfig; } set { this._destinationConfig = value; } } // Check to see if DestinationConfig property is set internal bool IsSetDestinationConfig() { return this._destinationConfig != null; } /// /// Gets and sets the property DocumentDBEventSourceConfig. /// /// Specific configuration settings for a DocumentDB event source. /// /// public DocumentDBEventSourceConfig DocumentDBEventSourceConfig { get { return this._documentDBEventSourceConfig; } set { this._documentDBEventSourceConfig = value; } } // Check to see if DocumentDBEventSourceConfig property is set internal bool IsSetDocumentDBEventSourceConfig() { return this._documentDBEventSourceConfig != null; } /// /// Gets and sets the property EventSourceArn. /// /// The Amazon Resource Name (ARN) of the event source. /// /// public string EventSourceArn { get { return this._eventSourceArn; } set { this._eventSourceArn = value; } } // Check to see if EventSourceArn property is set internal bool IsSetEventSourceArn() { return this._eventSourceArn != null; } /// /// Gets and sets the property FilterCriteria. /// /// An object that defines the filter criteria that determine whether Lambda should process /// an event. For more information, see Lambda /// event filtering. /// /// public FilterCriteria FilterCriteria { get { return this._filterCriteria; } set { this._filterCriteria = value; } } // Check to see if FilterCriteria property is set internal bool IsSetFilterCriteria() { return this._filterCriteria != null; } /// /// Gets and sets the property FunctionArn. /// /// The ARN of the Lambda function. /// /// public string FunctionArn { get { return this._functionArn; } set { this._functionArn = value; } } // Check to see if FunctionArn property is set internal bool IsSetFunctionArn() { return this._functionArn != null; } /// /// Gets and sets the property FunctionResponseTypes. /// /// (Kinesis, DynamoDB Streams, and Amazon SQS) A list of current response type enums /// applied to the event source mapping. /// /// [AWSProperty(Min=0, Max=1)] public List FunctionResponseTypes { get { return this._functionResponseTypes; } set { this._functionResponseTypes = value; } } // Check to see if FunctionResponseTypes property is set internal bool IsSetFunctionResponseTypes() { return this._functionResponseTypes != null && this._functionResponseTypes.Count > 0; } /// /// Gets and sets the property LastModified. /// /// The date that the event source mapping was last updated or that its state changed. /// /// public DateTime LastModified { get { return this._lastModified.GetValueOrDefault(); } set { this._lastModified = value; } } // Check to see if LastModified property is set internal bool IsSetLastModified() { return this._lastModified.HasValue; } /// /// Gets and sets the property LastProcessingResult. /// /// The result of the last Lambda invocation of your function. /// /// public string LastProcessingResult { get { return this._lastProcessingResult; } set { this._lastProcessingResult = value; } } // Check to see if LastProcessingResult property is set internal bool IsSetLastProcessingResult() { return this._lastProcessingResult != null; } /// /// Gets and sets the property MaximumBatchingWindowInSeconds. /// /// 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. /// /// [AWSProperty(Min=0, Max=300)] public int MaximumBatchingWindowInSeconds { get { return this._maximumBatchingWindowInSeconds.GetValueOrDefault(); } set { this._maximumBatchingWindowInSeconds = value; } } // Check to see if MaximumBatchingWindowInSeconds property is set internal bool IsSetMaximumBatchingWindowInSeconds() { return this._maximumBatchingWindowInSeconds.HasValue; } /// /// Gets and sets the property MaximumRecordAgeInSeconds. /// /// (Kinesis and DynamoDB Streams only) Discard records older than the specified age. /// The default value is -1, which sets the maximum age to infinite. When the value is /// set to infinite, Lambda never discards old records. /// /// /// /// The minimum valid value for maximum record age is 60s. Although values less than 60 /// and greater than -1 fall within the parameter's absolute range, they are not allowed /// /// /// [AWSProperty(Min=-1, Max=604800)] public int MaximumRecordAgeInSeconds { get { return this._maximumRecordAgeInSeconds.GetValueOrDefault(); } set { this._maximumRecordAgeInSeconds = value; } } // Check to see if MaximumRecordAgeInSeconds property is set internal bool IsSetMaximumRecordAgeInSeconds() { return this._maximumRecordAgeInSeconds.HasValue; } /// /// Gets and sets the property MaximumRetryAttempts. /// /// (Kinesis and DynamoDB Streams only) Discard records after the specified number of /// retries. The default value is -1, which sets the maximum number of retries to infinite. /// When MaximumRetryAttempts is infinite, Lambda retries failed records until the record /// expires in the event source. /// /// [AWSProperty(Min=-1, Max=10000)] public int MaximumRetryAttempts { get { return this._maximumRetryAttempts.GetValueOrDefault(); } set { this._maximumRetryAttempts = value; } } // Check to see if MaximumRetryAttempts property is set internal bool IsSetMaximumRetryAttempts() { return this._maximumRetryAttempts.HasValue; } /// /// Gets and sets the property ParallelizationFactor. /// /// (Kinesis and DynamoDB Streams only) The number of batches to process concurrently /// from each shard. The default value is 1. /// /// [AWSProperty(Min=1, Max=10)] public int ParallelizationFactor { get { return this._parallelizationFactor.GetValueOrDefault(); } set { this._parallelizationFactor = value; } } // Check to see if ParallelizationFactor property is set internal bool IsSetParallelizationFactor() { return this._parallelizationFactor.HasValue; } /// /// Gets and sets the property Queues. /// /// (Amazon MQ) The name of the Amazon MQ broker destination queue to consume. /// /// [AWSProperty(Min=1, Max=1)] public List Queues { get { return this._queues; } set { this._queues = value; } } // Check to see if Queues property is set internal bool IsSetQueues() { return this._queues != null && this._queues.Count > 0; } /// /// Gets and sets the property ScalingConfig. /// /// (Amazon SQS only) The scaling configuration for the event source. For more information, /// see Configuring /// maximum concurrency for Amazon SQS event sources. /// /// public ScalingConfig ScalingConfig { get { return this._scalingConfig; } set { this._scalingConfig = value; } } // Check to see if ScalingConfig property is set internal bool IsSetScalingConfig() { return this._scalingConfig != null; } /// /// Gets and sets the property SelfManagedEventSource. /// /// The self-managed Apache Kafka cluster for your event source. /// /// public SelfManagedEventSource SelfManagedEventSource { get { return this._selfManagedEventSource; } set { this._selfManagedEventSource = value; } } // Check to see if SelfManagedEventSource property is set internal bool IsSetSelfManagedEventSource() { return this._selfManagedEventSource != null; } /// /// Gets and sets the property SelfManagedKafkaEventSourceConfig. /// /// Specific configuration settings for a self-managed Apache Kafka event source. /// /// public SelfManagedKafkaEventSourceConfig SelfManagedKafkaEventSourceConfig { get { return this._selfManagedKafkaEventSourceConfig; } set { this._selfManagedKafkaEventSourceConfig = value; } } // Check to see if SelfManagedKafkaEventSourceConfig property is set internal bool IsSetSelfManagedKafkaEventSourceConfig() { return this._selfManagedKafkaEventSourceConfig != null; } /// /// Gets and sets the property SourceAccessConfigurations. /// /// An array of the authentication protocol, VPC components, or virtual host to secure /// and define your event source. /// /// [AWSProperty(Min=0, Max=22)] public List SourceAccessConfigurations { get { return this._sourceAccessConfigurations; } set { this._sourceAccessConfigurations = value; } } // Check to see if SourceAccessConfigurations property is set internal bool IsSetSourceAccessConfigurations() { return this._sourceAccessConfigurations != null && this._sourceAccessConfigurations.Count > 0; } /// /// Gets and sets the property StartingPosition. /// /// The position in a stream from which to start reading. Required for Amazon Kinesis /// and Amazon DynamoDB Stream event sources. AT_TIMESTAMP is supported only /// for Amazon Kinesis streams, Amazon DocumentDB, Amazon MSK, and self-managed Apache /// Kafka. /// /// public EventSourcePosition StartingPosition { get { return this._startingPosition; } set { this._startingPosition = value; } } // Check to see if StartingPosition property is set internal bool IsSetStartingPosition() { return this._startingPosition != null; } /// /// Gets and sets the property StartingPositionTimestamp. /// /// With StartingPosition set to AT_TIMESTAMP, the time from /// which to start reading. StartingPositionTimestamp cannot be in the future. /// /// public DateTime StartingPositionTimestamp { get { return this._startingPositionTimestamp.GetValueOrDefault(); } set { this._startingPositionTimestamp = value; } } // Check to see if StartingPositionTimestamp property is set internal bool IsSetStartingPositionTimestamp() { return this._startingPositionTimestamp.HasValue; } /// /// Gets and sets the property State. /// /// The state of the event source mapping. It can be one of the following: Creating, /// Enabling, Enabled, Disabling, Disabled, /// Updating, or Deleting. /// /// public string State { get { return this._state; } set { this._state = value; } } // Check to see if State property is set internal bool IsSetState() { return this._state != null; } /// /// Gets and sets the property StateTransitionReason. /// /// Indicates whether a user or Lambda made the last change to the event source mapping. /// /// public string StateTransitionReason { get { return this._stateTransitionReason; } set { this._stateTransitionReason = value; } } // Check to see if StateTransitionReason property is set internal bool IsSetStateTransitionReason() { return this._stateTransitionReason != null; } /// /// Gets and sets the property Topics. /// /// The name of the Kafka topic. /// /// [AWSProperty(Min=1, Max=1)] public List Topics { get { return this._topics; } set { this._topics = value; } } // Check to see if Topics property is set internal bool IsSetTopics() { return this._topics != null && this._topics.Count > 0; } /// /// Gets and sets the property TumblingWindowInSeconds. /// /// (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. /// /// [AWSProperty(Min=0, Max=900)] public int TumblingWindowInSeconds { get { return this._tumblingWindowInSeconds.GetValueOrDefault(); } set { this._tumblingWindowInSeconds = value; } } // Check to see if TumblingWindowInSeconds property is set internal bool IsSetTumblingWindowInSeconds() { return this._tumblingWindowInSeconds.HasValue; } /// /// Gets and sets the property UUID. /// /// The identifier of the event source mapping. /// /// public string UUID { get { return this._uuid; } set { this._uuid = value; } } // Check to see if UUID property is set internal bool IsSetUUID() { return this._uuid != null; } } }