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

commonMain.aws.sdk.kotlin.services.neptune.model.DbClusterEndpoint.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

/**
 * This data type represents the information you need to connect to an Amazon Neptune DB cluster. This data type is used as a response element in the following actions:
 * + `CreateDBClusterEndpoint`
 * + `DescribeDBClusterEndpoints`
 * + `ModifyDBClusterEndpoint`
 * + `DeleteDBClusterEndpoint`
 *
 * For the data structure that represents Amazon Neptune DB instance endpoints, see `Endpoint`.
 */
public class DbClusterEndpoint private constructor(builder: Builder) {
    /**
     * The type associated with a custom endpoint. One of: `READER`, `WRITER`, `ANY`.
     */
    public val customEndpointType: kotlin.String? = builder.customEndpointType
    /**
     * The Amazon Resource Name (ARN) for the endpoint.
     */
    public val dbClusterEndpointArn: kotlin.String? = builder.dbClusterEndpointArn
    /**
     * The identifier associated with the endpoint. This parameter is stored as a lowercase string.
     */
    public val dbClusterEndpointIdentifier: kotlin.String? = builder.dbClusterEndpointIdentifier
    /**
     * A unique system-generated identifier for an endpoint. It remains the same for the whole life of the endpoint.
     */
    public val dbClusterEndpointResourceIdentifier: kotlin.String? = builder.dbClusterEndpointResourceIdentifier
    /**
     * 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 DNS address of the endpoint.
     */
    public val endpoint: kotlin.String? = builder.endpoint
    /**
     * The type of the endpoint. One of: `READER`, `WRITER`, `CUSTOM`.
     */
    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 current status of the endpoint. One of: `creating`, `available`, `deleting`, `inactive`, `modifying`. The `inactive` state applies to an endpoint that cannot be used for a certain kind of cluster, such as a `writer` endpoint for a read-only secondary cluster in a global database.
     */
    public val status: kotlin.String? = builder.status

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

    override fun toString(): kotlin.String = buildString {
        append("DbClusterEndpoint(")
        append("customEndpointType=$customEndpointType,")
        append("dbClusterEndpointArn=$dbClusterEndpointArn,")
        append("dbClusterEndpointIdentifier=$dbClusterEndpointIdentifier,")
        append("dbClusterEndpointResourceIdentifier=$dbClusterEndpointResourceIdentifier,")
        append("dbClusterIdentifier=$dbClusterIdentifier,")
        append("endpoint=$endpoint,")
        append("endpointType=$endpointType,")
        append("excludedMembers=$excludedMembers,")
        append("staticMembers=$staticMembers,")
        append("status=$status")
        append(")")
    }

    override fun hashCode(): kotlin.Int {
        var result = customEndpointType?.hashCode() ?: 0
        result = 31 * result + (dbClusterEndpointArn?.hashCode() ?: 0)
        result = 31 * result + (dbClusterEndpointIdentifier?.hashCode() ?: 0)
        result = 31 * result + (dbClusterEndpointResourceIdentifier?.hashCode() ?: 0)
        result = 31 * result + (dbClusterIdentifier?.hashCode() ?: 0)
        result = 31 * result + (endpoint?.hashCode() ?: 0)
        result = 31 * result + (endpointType?.hashCode() ?: 0)
        result = 31 * result + (excludedMembers?.hashCode() ?: 0)
        result = 31 * result + (staticMembers?.hashCode() ?: 0)
        result = 31 * result + (status?.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 DbClusterEndpoint

        if (customEndpointType != other.customEndpointType) return false
        if (dbClusterEndpointArn != other.dbClusterEndpointArn) return false
        if (dbClusterEndpointIdentifier != other.dbClusterEndpointIdentifier) return false
        if (dbClusterEndpointResourceIdentifier != other.dbClusterEndpointResourceIdentifier) return false
        if (dbClusterIdentifier != other.dbClusterIdentifier) return false
        if (endpoint != other.endpoint) return false
        if (endpointType != other.endpointType) return false
        if (excludedMembers != other.excludedMembers) return false
        if (staticMembers != other.staticMembers) return false
        if (status != other.status) return false

        return true
    }

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

    @SdkDsl
    public class Builder {
        /**
         * The type associated with a custom endpoint. One of: `READER`, `WRITER`, `ANY`.
         */
        public var customEndpointType: kotlin.String? = null
        /**
         * The Amazon Resource Name (ARN) for the endpoint.
         */
        public var dbClusterEndpointArn: kotlin.String? = null
        /**
         * The identifier associated with the endpoint. This parameter is stored as a lowercase string.
         */
        public var dbClusterEndpointIdentifier: kotlin.String? = null
        /**
         * A unique system-generated identifier for an endpoint. It remains the same for the whole life of the endpoint.
         */
        public var dbClusterEndpointResourceIdentifier: 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 DNS address of the endpoint.
         */
        public var endpoint: kotlin.String? = null
        /**
         * The type of the endpoint. One of: `READER`, `WRITER`, `CUSTOM`.
         */
        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 current status of the endpoint. One of: `creating`, `available`, `deleting`, `inactive`, `modifying`. The `inactive` state applies to an endpoint that cannot be used for a certain kind of cluster, such as a `writer` endpoint for a read-only secondary cluster in a global database.
         */
        public var status: kotlin.String? = null

        @PublishedApi
        internal constructor()
        @PublishedApi
        internal constructor(x: aws.sdk.kotlin.services.neptune.model.DbClusterEndpoint) : this() {
            this.customEndpointType = x.customEndpointType
            this.dbClusterEndpointArn = x.dbClusterEndpointArn
            this.dbClusterEndpointIdentifier = x.dbClusterEndpointIdentifier
            this.dbClusterEndpointResourceIdentifier = x.dbClusterEndpointResourceIdentifier
            this.dbClusterIdentifier = x.dbClusterIdentifier
            this.endpoint = x.endpoint
            this.endpointType = x.endpointType
            this.excludedMembers = x.excludedMembers
            this.staticMembers = x.staticMembers
            this.status = x.status
        }

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

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




© 2015 - 2024 Weber Informatics LLC | Privacy Policy