namespace Amazon.Lambda.DynamoDBEvents
{
    using System.Collections.Generic;
    using System.Runtime.Serialization;
    /// 
    /// This class is used as the return type for AWS Lambda functions that are invoked by DynamoDB to report batch item failures.
    /// https://docs.aws.amazon.com/lambda/latest/dg/with-ddb.html#services-ddb-batchfailurereporting
    /// 
    [DataContract]
    public class StreamsEventResponse
    {
        /// 
        /// A list of records which failed processing. Returning the first record which failed would retry all remaining records from the batch.
        /// 
        [DataMember(Name = "batchItemFailures", EmitDefaultValue = false)]
#if NETCOREAPP3_1
        [System.Text.Json.Serialization.JsonPropertyName("batchItemFailures")]
#endif
        public IList BatchItemFailures { get; set; }
        /// 
        /// The class representing the BatchItemFailure.
        /// 
        [DataContract]
        public class BatchItemFailure
        {
            /// 
            /// Sequence number of the record which failed processing.
            /// 
            [DataMember(Name = "itemIdentifier", EmitDefaultValue = false)]
#if NETCOREAPP3_1
            [System.Text.Json.Serialization.JsonPropertyName("itemIdentifier")]
#endif
            public string ItemIdentifier { get; set; }
        }
    }
}