commonMain.aws.sdk.kotlin.services.pinpointsmsvoicev2.model.ReleasePhoneNumberResponse.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of pinpointsmsvoicev2-jvm Show documentation
Show all versions of pinpointsmsvoicev2-jvm Show documentation
The AWS SDK for Kotlin client for Pinpoint SMS Voice V2
// 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 ReleasePhoneNumberResponse 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
/**
* The two-character code, in ISO 3166-1 alpha-2 format, for the country or region.
*/
public val isoCountryCode: kotlin.String? = builder.isoCountryCode
/**
* The message type that was associated with the phone number.
*/
public val messageType: aws.sdk.kotlin.services.pinpointsmsvoicev2.model.MessageType? = builder.messageType
/**
* The monthly price of the phone number, in US dollars.
*/
public val monthlyLeasingPrice: kotlin.String? = builder.monthlyLeasingPrice
/**
* Specifies if the number could be used for text messages, voice, or both.
*/
public val numberCapabilities: List? = builder.numberCapabilities
/**
* The type of number that was released.
*/
public val numberType: aws.sdk.kotlin.services.pinpointsmsvoicev2.model.NumberType? = builder.numberType
/**
* The name of the OptOutList that was associated with the phone number.
*/
public val optOutListName: kotlin.String? = builder.optOutListName
/**
* The phone number that was released.
*/
public val phoneNumber: kotlin.String? = builder.phoneNumber
/**
* The PhoneNumberArn of the phone number that was released.
*/
public val phoneNumberArn: kotlin.String? = builder.phoneNumberArn
/**
* The PhoneNumberId of the phone number that was released.
*/
public val phoneNumberId: kotlin.String? = builder.phoneNumberId
/**
* 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
/**
* The Amazon Resource Name (ARN) of the TwoWayChannel.
*/
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.ReleasePhoneNumberResponse = Builder().apply(block).build()
}
override fun toString(): kotlin.String = buildString {
append("ReleasePhoneNumberResponse(")
append("createdTimestamp=$createdTimestamp,")
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("registrationId=$registrationId,")
append("selfManagedOptOutsEnabled=$selfManagedOptOutsEnabled,")
append("status=$status,")
append("twoWayChannelArn=$twoWayChannelArn,")
append("twoWayChannelRole=$twoWayChannelRole,")
append("twoWayEnabled=$twoWayEnabled")
append(")")
}
override fun hashCode(): kotlin.Int {
var result = createdTimestamp?.hashCode() ?: 0
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 + (registrationId?.hashCode() ?: 0)
result = 31 * result + (selfManagedOptOutsEnabled.hashCode())
result = 31 * result + (status?.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 ReleasePhoneNumberResponse
if (createdTimestamp != other.createdTimestamp) 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 (registrationId != other.registrationId) return false
if (selfManagedOptOutsEnabled != other.selfManagedOptOutsEnabled) return false
if (status != other.status) 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.ReleasePhoneNumberResponse = 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
/**
* The two-character code, in ISO 3166-1 alpha-2 format, for the country or region.
*/
public var isoCountryCode: kotlin.String? = null
/**
* The message type that was associated with the phone number.
*/
public var messageType: aws.sdk.kotlin.services.pinpointsmsvoicev2.model.MessageType? = null
/**
* The monthly price of the phone number, in US dollars.
*/
public var monthlyLeasingPrice: kotlin.String? = null
/**
* Specifies if the number could be used for text messages, voice, or both.
*/
public var numberCapabilities: List? = null
/**
* The type of number that was released.
*/
public var numberType: aws.sdk.kotlin.services.pinpointsmsvoicev2.model.NumberType? = null
/**
* The name of the OptOutList that was associated with the phone number.
*/
public var optOutListName: kotlin.String? = null
/**
* The phone number that was released.
*/
public var phoneNumber: kotlin.String? = null
/**
* The PhoneNumberArn of the phone number that was released.
*/
public var phoneNumberArn: kotlin.String? = null
/**
* The PhoneNumberId of the phone number that was released.
*/
public var phoneNumberId: 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
/**
* The Amazon Resource Name (ARN) of the TwoWayChannel.
*/
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.ReleasePhoneNumberResponse) : this() {
this.createdTimestamp = x.createdTimestamp
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.registrationId = x.registrationId
this.selfManagedOptOutsEnabled = x.selfManagedOptOutsEnabled
this.status = x.status
this.twoWayChannelArn = x.twoWayChannelArn
this.twoWayChannelRole = x.twoWayChannelRole
this.twoWayEnabled = x.twoWayEnabled
}
@PublishedApi
internal fun build(): aws.sdk.kotlin.services.pinpointsmsvoicev2.model.ReleasePhoneNumberResponse = ReleasePhoneNumberResponse(this)
internal fun correctErrors(): Builder {
return this
}
}
}