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

commonMain.aws.sdk.kotlin.services.pinpointsmsvoicev2.model.SendDestinationNumberVerificationCodeRequest.kt Maven / Gradle / Ivy

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

package aws.sdk.kotlin.services.pinpointsmsvoicev2.model

import aws.smithy.kotlin.runtime.SdkDsl

public class SendDestinationNumberVerificationCodeRequest private constructor(builder: Builder) {
    /**
     * The name of the configuration set to use. This can be either the ConfigurationSetName or ConfigurationSetArn.
     */
    public val configurationSetName: kotlin.String? = builder.configurationSetName
    /**
     * You can specify custom data in this field. If you do, that data is logged to the event destination.
     */
    public val context: Map? = builder.context
    /**
     * This field is used for any country-specific registration requirements. Currently, this setting is only used when you send messages to recipients in India using a sender ID. For more information see [Special requirements for sending SMS messages to recipients in India](https://docs.aws.amazon.com/pinpoint/latest/userguide/channels-sms-senderid-india.html).
     */
    public val destinationCountryParameters: Map? = builder.destinationCountryParameters
    /**
     * Choose the language to use for the message.
     */
    public val languageCode: aws.sdk.kotlin.services.pinpointsmsvoicev2.model.LanguageCode? = builder.languageCode
    /**
     * The origination identity of the message. This can be either the PhoneNumber, PhoneNumberId, PhoneNumberArn, SenderId, SenderIdArn, PoolId, or PoolArn.
     */
    public val originationIdentity: kotlin.String? = builder.originationIdentity
    /**
     * Choose to send the verification code as an SMS or voice message.
     */
    public val verificationChannel: aws.sdk.kotlin.services.pinpointsmsvoicev2.model.VerificationChannel? = builder.verificationChannel
    /**
     * The unique identifier for the verified destination phone number.
     */
    public val verifiedDestinationNumberId: kotlin.String? = builder.verifiedDestinationNumberId

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

    override fun toString(): kotlin.String = buildString {
        append("SendDestinationNumberVerificationCodeRequest(")
        append("configurationSetName=$configurationSetName,")
        append("context=$context,")
        append("destinationCountryParameters=$destinationCountryParameters,")
        append("languageCode=$languageCode,")
        append("originationIdentity=$originationIdentity,")
        append("verificationChannel=$verificationChannel,")
        append("verifiedDestinationNumberId=$verifiedDestinationNumberId")
        append(")")
    }

    override fun hashCode(): kotlin.Int {
        var result = configurationSetName?.hashCode() ?: 0
        result = 31 * result + (context?.hashCode() ?: 0)
        result = 31 * result + (destinationCountryParameters?.hashCode() ?: 0)
        result = 31 * result + (languageCode?.hashCode() ?: 0)
        result = 31 * result + (originationIdentity?.hashCode() ?: 0)
        result = 31 * result + (verificationChannel?.hashCode() ?: 0)
        result = 31 * result + (verifiedDestinationNumberId?.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 SendDestinationNumberVerificationCodeRequest

        if (configurationSetName != other.configurationSetName) return false
        if (context != other.context) return false
        if (destinationCountryParameters != other.destinationCountryParameters) return false
        if (languageCode != other.languageCode) return false
        if (originationIdentity != other.originationIdentity) return false
        if (verificationChannel != other.verificationChannel) return false
        if (verifiedDestinationNumberId != other.verifiedDestinationNumberId) return false

        return true
    }

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

    @SdkDsl
    public class Builder {
        /**
         * The name of the configuration set to use. This can be either the ConfigurationSetName or ConfigurationSetArn.
         */
        public var configurationSetName: kotlin.String? = null
        /**
         * You can specify custom data in this field. If you do, that data is logged to the event destination.
         */
        public var context: Map? = null
        /**
         * This field is used for any country-specific registration requirements. Currently, this setting is only used when you send messages to recipients in India using a sender ID. For more information see [Special requirements for sending SMS messages to recipients in India](https://docs.aws.amazon.com/pinpoint/latest/userguide/channels-sms-senderid-india.html).
         */
        public var destinationCountryParameters: Map? = null
        /**
         * Choose the language to use for the message.
         */
        public var languageCode: aws.sdk.kotlin.services.pinpointsmsvoicev2.model.LanguageCode? = null
        /**
         * The origination identity of the message. This can be either the PhoneNumber, PhoneNumberId, PhoneNumberArn, SenderId, SenderIdArn, PoolId, or PoolArn.
         */
        public var originationIdentity: kotlin.String? = null
        /**
         * Choose to send the verification code as an SMS or voice message.
         */
        public var verificationChannel: aws.sdk.kotlin.services.pinpointsmsvoicev2.model.VerificationChannel? = null
        /**
         * The unique identifier for the verified destination phone number.
         */
        public var verifiedDestinationNumberId: kotlin.String? = null

        @PublishedApi
        internal constructor()
        @PublishedApi
        internal constructor(x: aws.sdk.kotlin.services.pinpointsmsvoicev2.model.SendDestinationNumberVerificationCodeRequest) : this() {
            this.configurationSetName = x.configurationSetName
            this.context = x.context
            this.destinationCountryParameters = x.destinationCountryParameters
            this.languageCode = x.languageCode
            this.originationIdentity = x.originationIdentity
            this.verificationChannel = x.verificationChannel
            this.verifiedDestinationNumberId = x.verifiedDestinationNumberId
        }

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

        internal fun correctErrors(): Builder {
            return this
        }
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy