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

commonMain.aws.sdk.kotlin.services.pinpointsmsvoicev2.model.RequestPhoneNumberResponse.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
import aws.smithy.kotlin.runtime.time.Instant

public class RequestPhoneNumberResponse private constructor(builder: Builder) {
    /**
     * The time when the phone number was created, in [UNIX epoch time](https://www.epochconverter.com/) format.
     */
    public val createdTimestamp: aws.smithy.kotlin.runtime.time.Instant? = builder.createdTimestamp
    /**
     * By default this is set to false. When set to true the phone number can't be deleted.
     */
    public val deletionProtectionEnabled: kotlin.Boolean = builder.deletionProtectionEnabled
    /**
     * The two-character code, in ISO 3166-1 alpha-2 format, for the country or region.
     */
    public val isoCountryCode: kotlin.String? = builder.isoCountryCode
    /**
     * The type of message. Valid values are TRANSACTIONAL for messages that are critical or time-sensitive and PROMOTIONAL for messages that aren't critical or time-sensitive.
     */
    public val messageType: aws.sdk.kotlin.services.pinpointsmsvoicev2.model.MessageType? = builder.messageType
    /**
     * The monthly price, in US dollars, to lease the phone number.
     */
    public val monthlyLeasingPrice: kotlin.String? = builder.monthlyLeasingPrice
    /**
     * Indicates if the phone number will be used for text messages, voice messages or both.
     */
    public val numberCapabilities: List? = builder.numberCapabilities
    /**
     * The type of number that was released.
     */
    public val numberType: aws.sdk.kotlin.services.pinpointsmsvoicev2.model.RequestableNumberType? = builder.numberType
    /**
     * The name of the OptOutList that is associated with the requested phone number.
     */
    public val optOutListName: kotlin.String? = builder.optOutListName
    /**
     * The new phone number that was requested.
     */
    public val phoneNumber: kotlin.String? = builder.phoneNumber
    /**
     * The Amazon Resource Name (ARN) of the requested phone number.
     */
    public val phoneNumberArn: kotlin.String? = builder.phoneNumberArn
    /**
     * The unique identifier of the new phone number.
     */
    public val phoneNumberId: kotlin.String? = builder.phoneNumberId
    /**
     * The unique identifier of the pool associated with the phone number
     */
    public val poolId: kotlin.String? = builder.poolId
    /**
     * The unique identifier for the registration.
     */
    public val registrationId: kotlin.String? = builder.registrationId
    /**
     * By default this is set to false. When an end recipient sends a message that begins with HELP or STOP to one of your dedicated numbers, AWS End User Messaging SMS and Voice automatically replies with a customizable message and adds the end recipient to the OptOutList. When set to true you're responsible for responding to HELP and STOP requests. You're also responsible for tracking and honoring opt-out requests.
     */
    public val selfManagedOptOutsEnabled: kotlin.Boolean = builder.selfManagedOptOutsEnabled
    /**
     * The current status of the request.
     */
    public val status: aws.sdk.kotlin.services.pinpointsmsvoicev2.model.NumberStatus? = builder.status
    /**
     * An array of key and value pair tags that are associated with the phone number.
     */
    public val tags: List? = builder.tags
    /**
     * The ARN used to identify the two way channel.
     */
    public val twoWayChannelArn: kotlin.String? = builder.twoWayChannelArn
    /**
     * An optional IAM Role Arn for a service to assume, to be able to post inbound SMS messages.
     */
    public val twoWayChannelRole: kotlin.String? = builder.twoWayChannelRole
    /**
     * By default this is set to false. When set to true you can receive incoming text messages from your end recipients.
     */
    public val twoWayEnabled: kotlin.Boolean = builder.twoWayEnabled

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

    override fun toString(): kotlin.String = buildString {
        append("RequestPhoneNumberResponse(")
        append("createdTimestamp=$createdTimestamp,")
        append("deletionProtectionEnabled=$deletionProtectionEnabled,")
        append("isoCountryCode=$isoCountryCode,")
        append("messageType=$messageType,")
        append("monthlyLeasingPrice=$monthlyLeasingPrice,")
        append("numberCapabilities=$numberCapabilities,")
        append("numberType=$numberType,")
        append("optOutListName=$optOutListName,")
        append("phoneNumber=$phoneNumber,")
        append("phoneNumberArn=$phoneNumberArn,")
        append("phoneNumberId=$phoneNumberId,")
        append("poolId=$poolId,")
        append("registrationId=$registrationId,")
        append("selfManagedOptOutsEnabled=$selfManagedOptOutsEnabled,")
        append("status=$status,")
        append("tags=$tags,")
        append("twoWayChannelArn=$twoWayChannelArn,")
        append("twoWayChannelRole=$twoWayChannelRole,")
        append("twoWayEnabled=$twoWayEnabled")
        append(")")
    }

    override fun hashCode(): kotlin.Int {
        var result = createdTimestamp?.hashCode() ?: 0
        result = 31 * result + (deletionProtectionEnabled.hashCode())
        result = 31 * result + (isoCountryCode?.hashCode() ?: 0)
        result = 31 * result + (messageType?.hashCode() ?: 0)
        result = 31 * result + (monthlyLeasingPrice?.hashCode() ?: 0)
        result = 31 * result + (numberCapabilities?.hashCode() ?: 0)
        result = 31 * result + (numberType?.hashCode() ?: 0)
        result = 31 * result + (optOutListName?.hashCode() ?: 0)
        result = 31 * result + (phoneNumber?.hashCode() ?: 0)
        result = 31 * result + (phoneNumberArn?.hashCode() ?: 0)
        result = 31 * result + (phoneNumberId?.hashCode() ?: 0)
        result = 31 * result + (poolId?.hashCode() ?: 0)
        result = 31 * result + (registrationId?.hashCode() ?: 0)
        result = 31 * result + (selfManagedOptOutsEnabled.hashCode())
        result = 31 * result + (status?.hashCode() ?: 0)
        result = 31 * result + (tags?.hashCode() ?: 0)
        result = 31 * result + (twoWayChannelArn?.hashCode() ?: 0)
        result = 31 * result + (twoWayChannelRole?.hashCode() ?: 0)
        result = 31 * result + (twoWayEnabled.hashCode())
        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 RequestPhoneNumberResponse

        if (createdTimestamp != other.createdTimestamp) return false
        if (deletionProtectionEnabled != other.deletionProtectionEnabled) return false
        if (isoCountryCode != other.isoCountryCode) return false
        if (messageType != other.messageType) return false
        if (monthlyLeasingPrice != other.monthlyLeasingPrice) return false
        if (numberCapabilities != other.numberCapabilities) return false
        if (numberType != other.numberType) return false
        if (optOutListName != other.optOutListName) return false
        if (phoneNumber != other.phoneNumber) return false
        if (phoneNumberArn != other.phoneNumberArn) return false
        if (phoneNumberId != other.phoneNumberId) return false
        if (poolId != other.poolId) return false
        if (registrationId != other.registrationId) return false
        if (selfManagedOptOutsEnabled != other.selfManagedOptOutsEnabled) return false
        if (status != other.status) return false
        if (tags != other.tags) return false
        if (twoWayChannelArn != other.twoWayChannelArn) return false
        if (twoWayChannelRole != other.twoWayChannelRole) return false
        if (twoWayEnabled != other.twoWayEnabled) return false

        return true
    }

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

    @SdkDsl
    public class Builder {
        /**
         * The time when the phone number was created, in [UNIX epoch time](https://www.epochconverter.com/) format.
         */
        public var createdTimestamp: aws.smithy.kotlin.runtime.time.Instant? = null
        /**
         * By default this is set to false. When set to true the phone number can't be deleted.
         */
        public var deletionProtectionEnabled: kotlin.Boolean = false
        /**
         * The two-character code, in ISO 3166-1 alpha-2 format, for the country or region.
         */
        public var isoCountryCode: kotlin.String? = null
        /**
         * The type of message. Valid values are TRANSACTIONAL for messages that are critical or time-sensitive and PROMOTIONAL for messages that aren't critical or time-sensitive.
         */
        public var messageType: aws.sdk.kotlin.services.pinpointsmsvoicev2.model.MessageType? = null
        /**
         * The monthly price, in US dollars, to lease the phone number.
         */
        public var monthlyLeasingPrice: kotlin.String? = null
        /**
         * Indicates if the phone number will be used for text messages, voice messages or both.
         */
        public var numberCapabilities: List? = null
        /**
         * The type of number that was released.
         */
        public var numberType: aws.sdk.kotlin.services.pinpointsmsvoicev2.model.RequestableNumberType? = null
        /**
         * The name of the OptOutList that is associated with the requested phone number.
         */
        public var optOutListName: kotlin.String? = null
        /**
         * The new phone number that was requested.
         */
        public var phoneNumber: kotlin.String? = null
        /**
         * The Amazon Resource Name (ARN) of the requested phone number.
         */
        public var phoneNumberArn: kotlin.String? = null
        /**
         * The unique identifier of the new phone number.
         */
        public var phoneNumberId: kotlin.String? = null
        /**
         * The unique identifier of the pool associated with the phone number
         */
        public var poolId: kotlin.String? = null
        /**
         * The unique identifier for the registration.
         */
        public var registrationId: kotlin.String? = null
        /**
         * By default this is set to false. When an end recipient sends a message that begins with HELP or STOP to one of your dedicated numbers, AWS End User Messaging SMS and Voice automatically replies with a customizable message and adds the end recipient to the OptOutList. When set to true you're responsible for responding to HELP and STOP requests. You're also responsible for tracking and honoring opt-out requests.
         */
        public var selfManagedOptOutsEnabled: kotlin.Boolean = false
        /**
         * The current status of the request.
         */
        public var status: aws.sdk.kotlin.services.pinpointsmsvoicev2.model.NumberStatus? = null
        /**
         * An array of key and value pair tags that are associated with the phone number.
         */
        public var tags: List? = null
        /**
         * The ARN used to identify the two way channel.
         */
        public var twoWayChannelArn: kotlin.String? = null
        /**
         * An optional IAM Role Arn for a service to assume, to be able to post inbound SMS messages.
         */
        public var twoWayChannelRole: kotlin.String? = null
        /**
         * By default this is set to false. When set to true you can receive incoming text messages from your end recipients.
         */
        public var twoWayEnabled: kotlin.Boolean = false

        @PublishedApi
        internal constructor()
        @PublishedApi
        internal constructor(x: aws.sdk.kotlin.services.pinpointsmsvoicev2.model.RequestPhoneNumberResponse) : this() {
            this.createdTimestamp = x.createdTimestamp
            this.deletionProtectionEnabled = x.deletionProtectionEnabled
            this.isoCountryCode = x.isoCountryCode
            this.messageType = x.messageType
            this.monthlyLeasingPrice = x.monthlyLeasingPrice
            this.numberCapabilities = x.numberCapabilities
            this.numberType = x.numberType
            this.optOutListName = x.optOutListName
            this.phoneNumber = x.phoneNumber
            this.phoneNumberArn = x.phoneNumberArn
            this.phoneNumberId = x.phoneNumberId
            this.poolId = x.poolId
            this.registrationId = x.registrationId
            this.selfManagedOptOutsEnabled = x.selfManagedOptOutsEnabled
            this.status = x.status
            this.tags = x.tags
            this.twoWayChannelArn = x.twoWayChannelArn
            this.twoWayChannelRole = x.twoWayChannelRole
            this.twoWayEnabled = x.twoWayEnabled
        }

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

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




© 2015 - 2024 Weber Informatics LLC | Privacy Policy