namespace Amazon.Lambda.MQEvents { using System; using System.Collections.Generic; /// /// RabbitMQ event /// https://docs.aws.amazon.com/lambda/latest/dg/with-mq.html /// public class RabbitMQEvent { /// /// The source of the event. /// public string EventSource { get; set; } /// /// The ARN of the event source. /// public string EventSourceArn { get; set; } /// /// List of RabbitMQ messages. /// public IDictionary> RmqMessagesByQueue { get; set; } /// /// Class that represents a RabbitMQ message. /// public class RabbitMQMessage { /// /// Properties of RabbitMQ message /// public BasicProperties BasicProperties { get; set; } /// /// Indicates if the message was redelivered. /// public bool? Redelivered { get; set; } /// /// Data sent to Rabbit MQ broker encoded in Base 64. /// public string Data { get; set; } } /// /// Class representing RabbitMQ message properties. /// https://rabbitmq.github.io/rabbitmq-dotnet-client/api/RabbitMQ.Client.IBasicProperties.html /// public class BasicProperties { /// /// Content Type /// public string ContentType { get; set; } /// /// Content Encoding /// public string ContentEncoding { get; set; } /// /// Message headers /// public IDictionary Headers { get; set; } /// /// Delivery Mode /// public int DeliveryMode { get; set; } /// /// Priority /// public int Priority { get; set; } /// /// Correlation ID /// public string CorrelationId { get; set; } /// /// Reply To /// public string ReplyTo { get; set; } /// /// Expiration /// public string Expiration { get; set; } /// /// Message ID /// public string MessageId { get; set; } /// /// Timestamp /// public string Timestamp { get; set; } /// /// Message Type /// public string Type { get; set; } /// /// User ID /// public string UserId { get; set; } /// /// App ID /// public string AppId { get; set; } /// /// Cluster ID /// public string ClusterId { get; set; } /// /// Message body size /// public int BodySize { get; set; } } } }