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

commonMain.aws.sdk.kotlin.services.pinpointemail.model.GetDeliverabilityTestReportResponse.kt Maven / Gradle / Ivy

There is a newer version: 1.3.77
Show newest version
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!

package aws.sdk.kotlin.services.pinpointemail.model

import aws.smithy.kotlin.runtime.SdkDsl

/**
 * The results of the predictive inbox placement test.
 */
public class GetDeliverabilityTestReportResponse private constructor(builder: Builder) {
    /**
     * An object that contains the results of the predictive inbox placement test.
     */
    public val deliverabilityTestReport: aws.sdk.kotlin.services.pinpointemail.model.DeliverabilityTestReport? = builder.deliverabilityTestReport
    /**
     * An object that describes how the test email was handled by several email providers, including Gmail, Hotmail, Yahoo, AOL, and others.
     */
    public val ispPlacements: List = requireNotNull(builder.ispPlacements) { "A non-null value must be provided for ispPlacements" }
    /**
     * An object that contains the message that you sent when you performed this predictive inbox placement test.
     */
    public val message: kotlin.String? = builder.message
    /**
     * An object that specifies how many test messages that were sent during the predictive inbox placement test were delivered to recipients' inboxes, how many were sent to recipients' spam folders, and how many weren't delivered.
     */
    public val overallPlacement: aws.sdk.kotlin.services.pinpointemail.model.PlacementStatistics? = builder.overallPlacement
    /**
     * An array of objects that define the tags (keys and values) that are associated with the predictive inbox placement test.
     */
    public val tags: List? = builder.tags

    public companion object {
        public operator fun invoke(block: Builder.() -> kotlin.Unit): aws.sdk.kotlin.services.pinpointemail.model.GetDeliverabilityTestReportResponse = Builder().apply(block).build()
    }

    override fun toString(): kotlin.String = buildString {
        append("GetDeliverabilityTestReportResponse(")
        append("deliverabilityTestReport=$deliverabilityTestReport,")
        append("ispPlacements=$ispPlacements,")
        append("message=$message,")
        append("overallPlacement=$overallPlacement,")
        append("tags=$tags")
        append(")")
    }

    override fun hashCode(): kotlin.Int {
        var result = deliverabilityTestReport?.hashCode() ?: 0
        result = 31 * result + (ispPlacements.hashCode())
        result = 31 * result + (message?.hashCode() ?: 0)
        result = 31 * result + (overallPlacement?.hashCode() ?: 0)
        result = 31 * result + (tags?.hashCode() ?: 0)
        return result
    }

    override fun equals(other: kotlin.Any?): kotlin.Boolean {
        if (this === other) return true
        if (other == null || this::class != other::class) return false

        other as GetDeliverabilityTestReportResponse

        if (deliverabilityTestReport != other.deliverabilityTestReport) return false
        if (ispPlacements != other.ispPlacements) return false
        if (message != other.message) return false
        if (overallPlacement != other.overallPlacement) return false
        if (tags != other.tags) return false

        return true
    }

    public inline fun copy(block: Builder.() -> kotlin.Unit = {}): aws.sdk.kotlin.services.pinpointemail.model.GetDeliverabilityTestReportResponse = Builder(this).apply(block).build()

    @SdkDsl
    public class Builder {
        /**
         * An object that contains the results of the predictive inbox placement test.
         */
        public var deliverabilityTestReport: aws.sdk.kotlin.services.pinpointemail.model.DeliverabilityTestReport? = null
        /**
         * An object that describes how the test email was handled by several email providers, including Gmail, Hotmail, Yahoo, AOL, and others.
         */
        public var ispPlacements: List? = null
        /**
         * An object that contains the message that you sent when you performed this predictive inbox placement test.
         */
        public var message: kotlin.String? = null
        /**
         * An object that specifies how many test messages that were sent during the predictive inbox placement test were delivered to recipients' inboxes, how many were sent to recipients' spam folders, and how many weren't delivered.
         */
        public var overallPlacement: aws.sdk.kotlin.services.pinpointemail.model.PlacementStatistics? = null
        /**
         * An array of objects that define the tags (keys and values) that are associated with the predictive inbox placement test.
         */
        public var tags: List? = null

        @PublishedApi
        internal constructor()
        @PublishedApi
        internal constructor(x: aws.sdk.kotlin.services.pinpointemail.model.GetDeliverabilityTestReportResponse) : this() {
            this.deliverabilityTestReport = x.deliverabilityTestReport
            this.ispPlacements = x.ispPlacements
            this.message = x.message
            this.overallPlacement = x.overallPlacement
            this.tags = x.tags
        }

        @PublishedApi
        internal fun build(): aws.sdk.kotlin.services.pinpointemail.model.GetDeliverabilityTestReportResponse = GetDeliverabilityTestReportResponse(this)

        /**
         * construct an [aws.sdk.kotlin.services.pinpointemail.model.DeliverabilityTestReport] inside the given [block]
         */
        public fun deliverabilityTestReport(block: aws.sdk.kotlin.services.pinpointemail.model.DeliverabilityTestReport.Builder.() -> kotlin.Unit) {
            this.deliverabilityTestReport = aws.sdk.kotlin.services.pinpointemail.model.DeliverabilityTestReport.invoke(block)
        }

        /**
         * construct an [aws.sdk.kotlin.services.pinpointemail.model.PlacementStatistics] inside the given [block]
         */
        public fun overallPlacement(block: aws.sdk.kotlin.services.pinpointemail.model.PlacementStatistics.Builder.() -> kotlin.Unit) {
            this.overallPlacement = aws.sdk.kotlin.services.pinpointemail.model.PlacementStatistics.invoke(block)
        }

        internal fun correctErrors(): Builder {
            if (ispPlacements == null) ispPlacements = emptyList()
            return this
        }
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy