commonMain.aws.sdk.kotlin.services.pinpointsmsvoicev2.model.CreatePoolResponse.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 CreatePoolResponse private constructor(builder: Builder) {
/**
* The time when the pool was created, in [UNIX epoch time](https://www.epochconverter.com/) format.
*/
public val createdTimestamp: aws.smithy.kotlin.runtime.time.Instant? = builder.createdTimestamp
/**
* When set to true deletion protection is enabled. By default this is set to false.
*/
public val deletionProtectionEnabled: kotlin.Boolean = builder.deletionProtectionEnabled
/**
* The type of message for the pool to use.
*/
public val messageType: aws.sdk.kotlin.services.pinpointsmsvoicev2.model.MessageType? = builder.messageType
/**
* The name of the OptOutList associated with the pool.
*/
public val optOutListName: kotlin.String? = builder.optOutListName
/**
* The Amazon Resource Name (ARN) for the pool.
*/
public val poolArn: kotlin.String? = builder.poolArn
/**
* The unique identifier for the pool.
*/
public val poolId: kotlin.String? = builder.poolId
/**
* 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
/**
* Indicates whether shared routes are enabled for the pool. Set to false and only origination identities in this pool are used to send messages.
*/
public val sharedRoutesEnabled: kotlin.Boolean = builder.sharedRoutesEnabled
/**
* The current status of the pool.
* + CREATING: The pool is currently being created and isn't yet available for use.
* + ACTIVE: The pool is active and available for use.
* + DELETING: The pool is being deleted.
*/
public val status: aws.sdk.kotlin.services.pinpointsmsvoicev2.model.PoolStatus? = builder.status
/**
* An array of tags (key and value pairs) associated with the pool.
*/
public val tags: List? = builder.tags
/**
* The Amazon Resource Name (ARN) of 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.CreatePoolResponse = Builder().apply(block).build()
}
override fun toString(): kotlin.String = buildString {
append("CreatePoolResponse(")
append("createdTimestamp=$createdTimestamp,")
append("deletionProtectionEnabled=$deletionProtectionEnabled,")
append("messageType=$messageType,")
append("optOutListName=$optOutListName,")
append("poolArn=$poolArn,")
append("poolId=$poolId,")
append("selfManagedOptOutsEnabled=$selfManagedOptOutsEnabled,")
append("sharedRoutesEnabled=$sharedRoutesEnabled,")
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 + (messageType?.hashCode() ?: 0)
result = 31 * result + (optOutListName?.hashCode() ?: 0)
result = 31 * result + (poolArn?.hashCode() ?: 0)
result = 31 * result + (poolId?.hashCode() ?: 0)
result = 31 * result + (selfManagedOptOutsEnabled.hashCode())
result = 31 * result + (sharedRoutesEnabled.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 CreatePoolResponse
if (createdTimestamp != other.createdTimestamp) return false
if (deletionProtectionEnabled != other.deletionProtectionEnabled) return false
if (messageType != other.messageType) return false
if (optOutListName != other.optOutListName) return false
if (poolArn != other.poolArn) return false
if (poolId != other.poolId) return false
if (selfManagedOptOutsEnabled != other.selfManagedOptOutsEnabled) return false
if (sharedRoutesEnabled != other.sharedRoutesEnabled) 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.CreatePoolResponse = Builder(this).apply(block).build()
@SdkDsl
public class Builder {
/**
* The time when the pool was created, in [UNIX epoch time](https://www.epochconverter.com/) format.
*/
public var createdTimestamp: aws.smithy.kotlin.runtime.time.Instant? = null
/**
* When set to true deletion protection is enabled. By default this is set to false.
*/
public var deletionProtectionEnabled: kotlin.Boolean = false
/**
* The type of message for the pool to use.
*/
public var messageType: aws.sdk.kotlin.services.pinpointsmsvoicev2.model.MessageType? = null
/**
* The name of the OptOutList associated with the pool.
*/
public var optOutListName: kotlin.String? = null
/**
* The Amazon Resource Name (ARN) for the pool.
*/
public var poolArn: kotlin.String? = null
/**
* The unique identifier for the pool.
*/
public var poolId: 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
/**
* Indicates whether shared routes are enabled for the pool. Set to false and only origination identities in this pool are used to send messages.
*/
public var sharedRoutesEnabled: kotlin.Boolean = false
/**
* The current status of the pool.
* + CREATING: The pool is currently being created and isn't yet available for use.
* + ACTIVE: The pool is active and available for use.
* + DELETING: The pool is being deleted.
*/
public var status: aws.sdk.kotlin.services.pinpointsmsvoicev2.model.PoolStatus? = null
/**
* An array of tags (key and value pairs) associated with the pool.
*/
public var tags: List? = null
/**
* The Amazon Resource Name (ARN) of 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.CreatePoolResponse) : this() {
this.createdTimestamp = x.createdTimestamp
this.deletionProtectionEnabled = x.deletionProtectionEnabled
this.messageType = x.messageType
this.optOutListName = x.optOutListName
this.poolArn = x.poolArn
this.poolId = x.poolId
this.selfManagedOptOutsEnabled = x.selfManagedOptOutsEnabled
this.sharedRoutesEnabled = x.sharedRoutesEnabled
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.CreatePoolResponse = CreatePoolResponse(this)
internal fun correctErrors(): Builder {
return this
}
}
}