commonMain.aws.sdk.kotlin.services.neptune.model.CreateGlobalClusterRequest.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of neptune-jvm Show documentation
Show all versions of neptune-jvm Show documentation
The AWS SDK for Kotlin client for Neptune
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!
package aws.sdk.kotlin.services.neptune.model
import aws.smithy.kotlin.runtime.SdkDsl
public class CreateGlobalClusterRequest private constructor(builder: Builder) {
/**
* The deletion protection setting for the new global database. The global database can't be deleted when deletion protection is enabled.
*/
public val deletionProtection: kotlin.Boolean? = builder.deletionProtection
/**
* The name of the database engine to be used in the global database.
*
* Valid values: `neptune`
*/
public val engine: kotlin.String? = builder.engine
/**
* The Neptune engine version to be used by the global database.
*
* Valid values: `1.2.0.0` or above.
*/
public val engineVersion: kotlin.String? = builder.engineVersion
/**
* The cluster identifier of the new global database cluster.
*/
public val globalClusterIdentifier: kotlin.String? = builder.globalClusterIdentifier
/**
* (*Optional*) The Amazon Resource Name (ARN) of an existing Neptune DB cluster to use as the primary cluster of the new global database.
*/
public val sourceDbClusterIdentifier: kotlin.String? = builder.sourceDbClusterIdentifier
/**
* The storage encryption setting for the new global database cluster.
*/
public val storageEncrypted: kotlin.Boolean? = builder.storageEncrypted
public companion object {
public operator fun invoke(block: Builder.() -> kotlin.Unit): aws.sdk.kotlin.services.neptune.model.CreateGlobalClusterRequest = Builder().apply(block).build()
}
override fun toString(): kotlin.String = buildString {
append("CreateGlobalClusterRequest(")
append("deletionProtection=$deletionProtection,")
append("engine=$engine,")
append("engineVersion=$engineVersion,")
append("globalClusterIdentifier=$globalClusterIdentifier,")
append("sourceDbClusterIdentifier=$sourceDbClusterIdentifier,")
append("storageEncrypted=$storageEncrypted")
append(")")
}
override fun hashCode(): kotlin.Int {
var result = deletionProtection?.hashCode() ?: 0
result = 31 * result + (engine?.hashCode() ?: 0)
result = 31 * result + (engineVersion?.hashCode() ?: 0)
result = 31 * result + (globalClusterIdentifier?.hashCode() ?: 0)
result = 31 * result + (sourceDbClusterIdentifier?.hashCode() ?: 0)
result = 31 * result + (storageEncrypted?.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 CreateGlobalClusterRequest
if (deletionProtection != other.deletionProtection) return false
if (engine != other.engine) return false
if (engineVersion != other.engineVersion) return false
if (globalClusterIdentifier != other.globalClusterIdentifier) return false
if (sourceDbClusterIdentifier != other.sourceDbClusterIdentifier) return false
if (storageEncrypted != other.storageEncrypted) return false
return true
}
public inline fun copy(block: Builder.() -> kotlin.Unit = {}): aws.sdk.kotlin.services.neptune.model.CreateGlobalClusterRequest = Builder(this).apply(block).build()
@SdkDsl
public class Builder {
/**
* The deletion protection setting for the new global database. The global database can't be deleted when deletion protection is enabled.
*/
public var deletionProtection: kotlin.Boolean? = null
/**
* The name of the database engine to be used in the global database.
*
* Valid values: `neptune`
*/
public var engine: kotlin.String? = null
/**
* The Neptune engine version to be used by the global database.
*
* Valid values: `1.2.0.0` or above.
*/
public var engineVersion: kotlin.String? = null
/**
* The cluster identifier of the new global database cluster.
*/
public var globalClusterIdentifier: kotlin.String? = null
/**
* (*Optional*) The Amazon Resource Name (ARN) of an existing Neptune DB cluster to use as the primary cluster of the new global database.
*/
public var sourceDbClusterIdentifier: kotlin.String? = null
/**
* The storage encryption setting for the new global database cluster.
*/
public var storageEncrypted: kotlin.Boolean? = null
@PublishedApi
internal constructor()
@PublishedApi
internal constructor(x: aws.sdk.kotlin.services.neptune.model.CreateGlobalClusterRequest) : this() {
this.deletionProtection = x.deletionProtection
this.engine = x.engine
this.engineVersion = x.engineVersion
this.globalClusterIdentifier = x.globalClusterIdentifier
this.sourceDbClusterIdentifier = x.sourceDbClusterIdentifier
this.storageEncrypted = x.storageEncrypted
}
@PublishedApi
internal fun build(): aws.sdk.kotlin.services.neptune.model.CreateGlobalClusterRequest = CreateGlobalClusterRequest(this)
internal fun correctErrors(): Builder {
return this
}
}
}