All Downloads are FREE. Search and download functionalities are using the official Maven repository.

commonMain.io.github.trueangle.knative.lambda.runtime.events.RabbitMQEvent.kt Maven / Gradle / Ivy

package io.github.trueangle.knative.lambda.runtime.events

import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable

@Serializable
data class RabbitMQEvent(
    @SerialName("eventSource") val eventSource: String,
    @SerialName("eventSourceArn") val eventSourceArn: String,
    @SerialName("rmqMessagesByQueue") val messagesByQueue: Map>
) {
    @Serializable
    data class Message(
        @SerialName("basicProperties") val basicProperties: BasicProperties,
        @SerialName("data") val data: String,
        @SerialName("redelivered") val redelivered: Boolean
    )

    @Serializable
    data class BasicProperties(
        @SerialName("contentType") val contentType: String,
        @SerialName("contentEncoding") val contentEncoding: String?,
        @SerialName("headers") val headers: Map,
        @SerialName("deliveryMode") val deliveryMode: UByte,
        @SerialName("priority") val priority: UByte,
        @SerialName("correlationId") val correlationId: String?,
        @SerialName("replyTo") val replyTo: String?,
        @SerialName("expiration") val expiration: String,
        @SerialName("messageId") val messageId: String?,
        @SerialName("timestamp") val timestamp: String,
        @SerialName("type") val type: String?,
        @SerialName("userId") val userId: String,
        @SerialName("appId") val appId: String?,
        @SerialName("clusterId") val clusterId: String?,
        @SerialName("bodySize") val bodySize: ULong
    )
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy