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

commonMain.aws.sdk.kotlin.services.neptune.model.CreateDbClusterEndpointRequest.kt Maven / Gradle / Ivy

There is a newer version: 1.3.76
Show newest version
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!

package aws.sdk.kotlin.services.neptune.model

import aws.smithy.kotlin.runtime.SdkDsl

public class CreateDbClusterEndpointRequest private constructor(builder: Builder) {
    /**
     * The identifier to use for the new endpoint. This parameter is stored as a lowercase string.
     */
    public val dbClusterEndpointIdentifier: kotlin.String? = builder.dbClusterEndpointIdentifier
    /**
     * The DB cluster identifier of the DB cluster associated with the endpoint. This parameter is stored as a lowercase string.
     */
    public val dbClusterIdentifier: kotlin.String? = builder.dbClusterIdentifier
    /**
     * The type of the endpoint. One of: `READER`, `WRITER`, `ANY`.
     */
    public val endpointType: kotlin.String? = builder.endpointType
    /**
     * List of DB instance identifiers that aren't part of the custom endpoint group. All other eligible instances are reachable through the custom endpoint. Only relevant if the list of static members is empty.
     */
    public val excludedMembers: List? = builder.excludedMembers
    /**
     * List of DB instance identifiers that are part of the custom endpoint group.
     */
    public val staticMembers: List? = builder.staticMembers
    /**
     * The tags to be assigned to the Amazon Neptune resource.
     */
    public val tags: List? = builder.tags

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

    override fun toString(): kotlin.String = buildString {
        append("CreateDbClusterEndpointRequest(")
        append("dbClusterEndpointIdentifier=$dbClusterEndpointIdentifier,")
        append("dbClusterIdentifier=$dbClusterIdentifier,")
        append("endpointType=$endpointType,")
        append("excludedMembers=$excludedMembers,")
        append("staticMembers=$staticMembers,")
        append("tags=$tags")
        append(")")
    }

    override fun hashCode(): kotlin.Int {
        var result = dbClusterEndpointIdentifier?.hashCode() ?: 0
        result = 31 * result + (dbClusterIdentifier?.hashCode() ?: 0)
        result = 31 * result + (endpointType?.hashCode() ?: 0)
        result = 31 * result + (excludedMembers?.hashCode() ?: 0)
        result = 31 * result + (staticMembers?.hashCode() ?: 0)
        result = 31 * result + (tags?.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 CreateDbClusterEndpointRequest

        if (dbClusterEndpointIdentifier != other.dbClusterEndpointIdentifier) return false
        if (dbClusterIdentifier != other.dbClusterIdentifier) return false
        if (endpointType != other.endpointType) return false
        if (excludedMembers != other.excludedMembers) return false
        if (staticMembers != other.staticMembers) return false
        if (tags != other.tags) return false

        return true
    }

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

    @SdkDsl
    public class Builder {
        /**
         * The identifier to use for the new endpoint. This parameter is stored as a lowercase string.
         */
        public var dbClusterEndpointIdentifier: kotlin.String? = null
        /**
         * The DB cluster identifier of the DB cluster associated with the endpoint. This parameter is stored as a lowercase string.
         */
        public var dbClusterIdentifier: kotlin.String? = null
        /**
         * The type of the endpoint. One of: `READER`, `WRITER`, `ANY`.
         */
        public var endpointType: kotlin.String? = null
        /**
         * List of DB instance identifiers that aren't part of the custom endpoint group. All other eligible instances are reachable through the custom endpoint. Only relevant if the list of static members is empty.
         */
        public var excludedMembers: List? = null
        /**
         * List of DB instance identifiers that are part of the custom endpoint group.
         */
        public var staticMembers: List? = null
        /**
         * The tags to be assigned to the Amazon Neptune resource.
         */
        public var tags: List? = null

        @PublishedApi
        internal constructor()
        @PublishedApi
        internal constructor(x: aws.sdk.kotlin.services.neptune.model.CreateDbClusterEndpointRequest) : this() {
            this.dbClusterEndpointIdentifier = x.dbClusterEndpointIdentifier
            this.dbClusterIdentifier = x.dbClusterIdentifier
            this.endpointType = x.endpointType
            this.excludedMembers = x.excludedMembers
            this.staticMembers = x.staticMembers
            this.tags = x.tags
        }

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

        internal fun correctErrors(): Builder {
            return this
        }
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy