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

commonMain.aws.sdk.kotlin.services.connect.model.DisassociateTrafficDistributionGroupUserRequest.kt Maven / Gradle / Ivy

// Code generated by smithy-kotlin-codegen. DO NOT EDIT!

package aws.sdk.kotlin.services.connect.model



public class DisassociateTrafficDistributionGroupUserRequest private constructor(builder: Builder) {
    /**
     * The identifier of the Amazon Connect instance. You can [find the instance ID](https://docs.aws.amazon.com/connect/latest/adminguide/find-instance-arn.html) in the Amazon Resource Name (ARN) of the instance.
     */
    public val instanceId: kotlin.String? = requireNotNull(builder.instanceId) { "A non-null value must be provided for instanceId" }
    /**
     * The identifier of the traffic distribution group. This can be the ID or the ARN if the API is being called in the Region where the traffic distribution group was created. The ARN must be provided if the call is from the replicated Region.
     */
    public val trafficDistributionGroupId: kotlin.String? = requireNotNull(builder.trafficDistributionGroupId) { "A non-null value must be provided for trafficDistributionGroupId" }
    /**
     * The identifier for the user. This can be the ID or the ARN of the user.
     */
    public val userId: kotlin.String? = requireNotNull(builder.userId) { "A non-null value must be provided for userId" }

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

    override fun toString(): kotlin.String = buildString {
        append("DisassociateTrafficDistributionGroupUserRequest(")
        append("instanceId=$instanceId,")
        append("trafficDistributionGroupId=$trafficDistributionGroupId,")
        append("userId=$userId")
        append(")")
    }

    override fun hashCode(): kotlin.Int {
        var result = instanceId?.hashCode() ?: 0
        result = 31 * result + (trafficDistributionGroupId?.hashCode() ?: 0)
        result = 31 * result + (userId?.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 DisassociateTrafficDistributionGroupUserRequest

        if (instanceId != other.instanceId) return false
        if (trafficDistributionGroupId != other.trafficDistributionGroupId) return false
        if (userId != other.userId) return false

        return true
    }

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

    public class Builder {
        /**
         * The identifier of the Amazon Connect instance. You can [find the instance ID](https://docs.aws.amazon.com/connect/latest/adminguide/find-instance-arn.html) in the Amazon Resource Name (ARN) of the instance.
         */
        public var instanceId: kotlin.String? = null
        /**
         * The identifier of the traffic distribution group. This can be the ID or the ARN if the API is being called in the Region where the traffic distribution group was created. The ARN must be provided if the call is from the replicated Region.
         */
        public var trafficDistributionGroupId: kotlin.String? = null
        /**
         * The identifier for the user. This can be the ID or the ARN of the user.
         */
        public var userId: kotlin.String? = null

        @PublishedApi
        internal constructor()
        @PublishedApi
        internal constructor(x: aws.sdk.kotlin.services.connect.model.DisassociateTrafficDistributionGroupUserRequest) : this() {
            this.instanceId = x.instanceId
            this.trafficDistributionGroupId = x.trafficDistributionGroupId
            this.userId = x.userId
        }

        @PublishedApi
        internal fun build(): aws.sdk.kotlin.services.connect.model.DisassociateTrafficDistributionGroupUserRequest = DisassociateTrafficDistributionGroupUserRequest(this)
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy