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

commonMain.aws.sdk.kotlin.services.emr.model.UpdateStudioRequest.kt Maven / Gradle / Ivy

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

package aws.sdk.kotlin.services.emr.model



public class UpdateStudioRequest private constructor(builder: Builder) {
    /**
     * The Amazon S3 location to back up Workspaces and notebook files for the Amazon EMR Studio.
     */
    public val defaultS3Location: kotlin.String? = builder.defaultS3Location
    /**
     * A detailed description to assign to the Amazon EMR Studio.
     */
    public val description: kotlin.String? = builder.description
    /**
     * A descriptive name for the Amazon EMR Studio.
     */
    public val name: kotlin.String? = builder.name
    /**
     * The ID of the Amazon EMR Studio to update.
     */
    public val studioId: kotlin.String? = builder.studioId
    /**
     * A list of subnet IDs to associate with the Amazon EMR Studio. The list can include new subnet IDs, but must also include all of the subnet IDs previously associated with the Studio. The list order does not matter. A Studio can have a maximum of 5 subnets. The subnets must belong to the same VPC as the Studio.
     */
    public val subnetIds: List? = builder.subnetIds

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

    override fun toString(): kotlin.String = buildString {
        append("UpdateStudioRequest(")
        append("defaultS3Location=$defaultS3Location,")
        append("description=$description,")
        append("name=$name,")
        append("studioId=$studioId,")
        append("subnetIds=$subnetIds)")
    }

    override fun hashCode(): kotlin.Int {
        var result = defaultS3Location?.hashCode() ?: 0
        result = 31 * result + (description?.hashCode() ?: 0)
        result = 31 * result + (name?.hashCode() ?: 0)
        result = 31 * result + (studioId?.hashCode() ?: 0)
        result = 31 * result + (subnetIds?.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 UpdateStudioRequest

        if (defaultS3Location != other.defaultS3Location) return false
        if (description != other.description) return false
        if (name != other.name) return false
        if (studioId != other.studioId) return false
        if (subnetIds != other.subnetIds) return false

        return true
    }

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

    public class Builder {
        /**
         * The Amazon S3 location to back up Workspaces and notebook files for the Amazon EMR Studio.
         */
        public var defaultS3Location: kotlin.String? = null
        /**
         * A detailed description to assign to the Amazon EMR Studio.
         */
        public var description: kotlin.String? = null
        /**
         * A descriptive name for the Amazon EMR Studio.
         */
        public var name: kotlin.String? = null
        /**
         * The ID of the Amazon EMR Studio to update.
         */
        public var studioId: kotlin.String? = null
        /**
         * A list of subnet IDs to associate with the Amazon EMR Studio. The list can include new subnet IDs, but must also include all of the subnet IDs previously associated with the Studio. The list order does not matter. A Studio can have a maximum of 5 subnets. The subnets must belong to the same VPC as the Studio.
         */
        public var subnetIds: List? = null

        @PublishedApi
        internal constructor()
        @PublishedApi
        internal constructor(x: aws.sdk.kotlin.services.emr.model.UpdateStudioRequest) : this() {
            this.defaultS3Location = x.defaultS3Location
            this.description = x.description
            this.name = x.name
            this.studioId = x.studioId
            this.subnetIds = x.subnetIds
        }

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




© 2015 - 2025 Weber Informatics LLC | Privacy Policy