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

commonMain.aws.sdk.kotlin.services.directconnect.model.AllocateHostedConnectionRequest.kt Maven / Gradle / Ivy

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

package aws.sdk.kotlin.services.directconnect.model



public class AllocateHostedConnectionRequest private constructor(builder: Builder) {
    /**
     * The bandwidth of the connection. The possible values are 50Mbps, 100Mbps, 200Mbps, 300Mbps, 400Mbps, 500Mbps, 1Gbps, 2Gbps, 5Gbps, and 10Gbps. Note that only those Direct Connect Partners who have met specific requirements are allowed to create a 1Gbps, 2Gbps, 5Gbps or 10Gbps hosted connection.
     */
    public val bandwidth: kotlin.String? = builder.bandwidth
    /**
     * The ID of the interconnect or LAG.
     */
    public val connectionId: kotlin.String? = builder.connectionId
    /**
     * The name of the hosted connection.
     */
    public val connectionName: kotlin.String? = builder.connectionName
    /**
     * The ID of the Amazon Web Services account ID of the customer for the connection.
     */
    public val ownerAccount: kotlin.String? = builder.ownerAccount
    /**
     * The tags associated with the connection.
     */
    public val tags: List? = builder.tags
    /**
     * The dedicated VLAN provisioned to the hosted connection.
     */
    public val vlan: kotlin.Int = builder.vlan

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

    override fun toString(): kotlin.String = buildString {
        append("AllocateHostedConnectionRequest(")
        append("bandwidth=$bandwidth,")
        append("connectionId=$connectionId,")
        append("connectionName=$connectionName,")
        append("ownerAccount=$ownerAccount,")
        append("tags=$tags,")
        append("vlan=$vlan")
        append(")")
    }

    override fun hashCode(): kotlin.Int {
        var result = bandwidth?.hashCode() ?: 0
        result = 31 * result + (connectionId?.hashCode() ?: 0)
        result = 31 * result + (connectionName?.hashCode() ?: 0)
        result = 31 * result + (ownerAccount?.hashCode() ?: 0)
        result = 31 * result + (tags?.hashCode() ?: 0)
        result = 31 * result + (vlan)
        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 AllocateHostedConnectionRequest

        if (bandwidth != other.bandwidth) return false
        if (connectionId != other.connectionId) return false
        if (connectionName != other.connectionName) return false
        if (ownerAccount != other.ownerAccount) return false
        if (tags != other.tags) return false
        if (vlan != other.vlan) return false

        return true
    }

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

    public class Builder {
        /**
         * The bandwidth of the connection. The possible values are 50Mbps, 100Mbps, 200Mbps, 300Mbps, 400Mbps, 500Mbps, 1Gbps, 2Gbps, 5Gbps, and 10Gbps. Note that only those Direct Connect Partners who have met specific requirements are allowed to create a 1Gbps, 2Gbps, 5Gbps or 10Gbps hosted connection.
         */
        public var bandwidth: kotlin.String? = null
        /**
         * The ID of the interconnect or LAG.
         */
        public var connectionId: kotlin.String? = null
        /**
         * The name of the hosted connection.
         */
        public var connectionName: kotlin.String? = null
        /**
         * The ID of the Amazon Web Services account ID of the customer for the connection.
         */
        public var ownerAccount: kotlin.String? = null
        /**
         * The tags associated with the connection.
         */
        public var tags: List? = null
        /**
         * The dedicated VLAN provisioned to the hosted connection.
         */
        public var vlan: kotlin.Int = 0

        @PublishedApi
        internal constructor()
        @PublishedApi
        internal constructor(x: aws.sdk.kotlin.services.directconnect.model.AllocateHostedConnectionRequest) : this() {
            this.bandwidth = x.bandwidth
            this.connectionId = x.connectionId
            this.connectionName = x.connectionName
            this.ownerAccount = x.ownerAccount
            this.tags = x.tags
            this.vlan = x.vlan
        }

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

        internal fun correctErrors(): Builder {
            if (bandwidth == null) bandwidth = ""
            if (connectionId == null) connectionId = ""
            if (connectionName == null) connectionName = ""
            if (ownerAccount == null) ownerAccount = ""
            if (vlan == null) vlan = 0
            return this
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy