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

commonMain.aws.sdk.kotlin.services.neptune.model.DbClusterSnapshot.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
import aws.smithy.kotlin.runtime.time.Instant

/**
 * Contains the details for an Amazon Neptune DB cluster snapshot
 *
 * This data type is used as a response element in the DescribeDBClusterSnapshots action.
 */
public class DbClusterSnapshot private constructor(builder: Builder) {
    /**
     * Specifies the allocated storage size in gibibytes (GiB).
     */
    public val allocatedStorage: kotlin.Int? = builder.allocatedStorage
    /**
     * Provides the list of EC2 Availability Zones that instances in the DB cluster snapshot can be restored in.
     */
    public val availabilityZones: List? = builder.availabilityZones
    /**
     * Specifies the time when the DB cluster was created, in Universal Coordinated Time (UTC).
     */
    public val clusterCreateTime: aws.smithy.kotlin.runtime.time.Instant? = builder.clusterCreateTime
    /**
     * Specifies the DB cluster identifier of the DB cluster that this DB cluster snapshot was created from.
     */
    public val dbClusterIdentifier: kotlin.String? = builder.dbClusterIdentifier
    /**
     * The Amazon Resource Name (ARN) for the DB cluster snapshot.
     */
    public val dbClusterSnapshotArn: kotlin.String? = builder.dbClusterSnapshotArn
    /**
     * Specifies the identifier for a DB cluster snapshot. Must match the identifier of an existing snapshot.
     *
     * After you restore a DB cluster using a `DBClusterSnapshotIdentifier`, you must specify the same `DBClusterSnapshotIdentifier` for any future updates to the DB cluster. When you specify this property for an update, the DB cluster is not restored from the snapshot again, and the data in the database is not changed.
     *
     * However, if you don't specify the `DBClusterSnapshotIdentifier`, an empty DB cluster is created, and the original DB cluster is deleted. If you specify a property that is different from the previous snapshot restore property, the DB cluster is restored from the snapshot specified by the `DBClusterSnapshotIdentifier`, and the original DB cluster is deleted.
     */
    public val dbClusterSnapshotIdentifier: kotlin.String? = builder.dbClusterSnapshotIdentifier
    /**
     * Specifies the name of the database engine.
     */
    public val engine: kotlin.String? = builder.engine
    /**
     * Provides the version of the database engine for this DB cluster snapshot.
     */
    public val engineVersion: kotlin.String? = builder.engineVersion
    /**
     * True if mapping of Amazon Identity and Access Management (IAM) accounts to database accounts is enabled, and otherwise false.
     */
    public val iamDatabaseAuthenticationEnabled: kotlin.Boolean? = builder.iamDatabaseAuthenticationEnabled
    /**
     * If `StorageEncrypted` is true, the Amazon KMS key identifier for the encrypted DB cluster snapshot.
     */
    public val kmsKeyId: kotlin.String? = builder.kmsKeyId
    /**
     * Provides the license model information for this DB cluster snapshot.
     */
    public val licenseModel: kotlin.String? = builder.licenseModel
    /**
     * Not supported by Neptune.
     */
    public val masterUsername: kotlin.String? = builder.masterUsername
    /**
     * Specifies the percentage of the estimated data that has been transferred.
     */
    public val percentProgress: kotlin.Int? = builder.percentProgress
    /**
     * Specifies the port that the DB cluster was listening on at the time of the snapshot.
     */
    public val port: kotlin.Int? = builder.port
    /**
     * Provides the time when the snapshot was taken, in Universal Coordinated Time (UTC).
     */
    public val snapshotCreateTime: aws.smithy.kotlin.runtime.time.Instant? = builder.snapshotCreateTime
    /**
     * Provides the type of the DB cluster snapshot.
     */
    public val snapshotType: kotlin.String? = builder.snapshotType
    /**
     * If the DB cluster snapshot was copied from a source DB cluster snapshot, the Amazon Resource Name (ARN) for the source DB cluster snapshot, otherwise, a null value.
     */
    public val sourceDbClusterSnapshotArn: kotlin.String? = builder.sourceDbClusterSnapshotArn
    /**
     * Specifies the status of this DB cluster snapshot.
     */
    public val status: kotlin.String? = builder.status
    /**
     * Specifies whether the DB cluster snapshot is encrypted.
     */
    public val storageEncrypted: kotlin.Boolean? = builder.storageEncrypted
    /**
     * The storage type associated with the DB cluster snapshot.
     */
    public val storageType: kotlin.String? = builder.storageType
    /**
     * Provides the VPC ID associated with the DB cluster snapshot.
     */
    public val vpcId: kotlin.String? = builder.vpcId

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

    override fun toString(): kotlin.String = buildString {
        append("DbClusterSnapshot(")
        append("allocatedStorage=$allocatedStorage,")
        append("availabilityZones=$availabilityZones,")
        append("clusterCreateTime=$clusterCreateTime,")
        append("dbClusterIdentifier=$dbClusterIdentifier,")
        append("dbClusterSnapshotArn=$dbClusterSnapshotArn,")
        append("dbClusterSnapshotIdentifier=$dbClusterSnapshotIdentifier,")
        append("engine=$engine,")
        append("engineVersion=$engineVersion,")
        append("iamDatabaseAuthenticationEnabled=$iamDatabaseAuthenticationEnabled,")
        append("kmsKeyId=$kmsKeyId,")
        append("licenseModel=$licenseModel,")
        append("masterUsername=$masterUsername,")
        append("percentProgress=$percentProgress,")
        append("port=$port,")
        append("snapshotCreateTime=$snapshotCreateTime,")
        append("snapshotType=$snapshotType,")
        append("sourceDbClusterSnapshotArn=$sourceDbClusterSnapshotArn,")
        append("status=$status,")
        append("storageEncrypted=$storageEncrypted,")
        append("storageType=$storageType,")
        append("vpcId=$vpcId")
        append(")")
    }

    override fun hashCode(): kotlin.Int {
        var result = allocatedStorage ?: 0
        result = 31 * result + (availabilityZones?.hashCode() ?: 0)
        result = 31 * result + (clusterCreateTime?.hashCode() ?: 0)
        result = 31 * result + (dbClusterIdentifier?.hashCode() ?: 0)
        result = 31 * result + (dbClusterSnapshotArn?.hashCode() ?: 0)
        result = 31 * result + (dbClusterSnapshotIdentifier?.hashCode() ?: 0)
        result = 31 * result + (engine?.hashCode() ?: 0)
        result = 31 * result + (engineVersion?.hashCode() ?: 0)
        result = 31 * result + (iamDatabaseAuthenticationEnabled?.hashCode() ?: 0)
        result = 31 * result + (kmsKeyId?.hashCode() ?: 0)
        result = 31 * result + (licenseModel?.hashCode() ?: 0)
        result = 31 * result + (masterUsername?.hashCode() ?: 0)
        result = 31 * result + (percentProgress ?: 0)
        result = 31 * result + (port ?: 0)
        result = 31 * result + (snapshotCreateTime?.hashCode() ?: 0)
        result = 31 * result + (snapshotType?.hashCode() ?: 0)
        result = 31 * result + (sourceDbClusterSnapshotArn?.hashCode() ?: 0)
        result = 31 * result + (status?.hashCode() ?: 0)
        result = 31 * result + (storageEncrypted?.hashCode() ?: 0)
        result = 31 * result + (storageType?.hashCode() ?: 0)
        result = 31 * result + (vpcId?.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 DbClusterSnapshot

        if (allocatedStorage != other.allocatedStorage) return false
        if (availabilityZones != other.availabilityZones) return false
        if (clusterCreateTime != other.clusterCreateTime) return false
        if (dbClusterIdentifier != other.dbClusterIdentifier) return false
        if (dbClusterSnapshotArn != other.dbClusterSnapshotArn) return false
        if (dbClusterSnapshotIdentifier != other.dbClusterSnapshotIdentifier) return false
        if (engine != other.engine) return false
        if (engineVersion != other.engineVersion) return false
        if (iamDatabaseAuthenticationEnabled != other.iamDatabaseAuthenticationEnabled) return false
        if (kmsKeyId != other.kmsKeyId) return false
        if (licenseModel != other.licenseModel) return false
        if (masterUsername != other.masterUsername) return false
        if (percentProgress != other.percentProgress) return false
        if (port != other.port) return false
        if (snapshotCreateTime != other.snapshotCreateTime) return false
        if (snapshotType != other.snapshotType) return false
        if (sourceDbClusterSnapshotArn != other.sourceDbClusterSnapshotArn) return false
        if (status != other.status) return false
        if (storageEncrypted != other.storageEncrypted) return false
        if (storageType != other.storageType) return false
        if (vpcId != other.vpcId) return false

        return true
    }

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

    @SdkDsl
    public class Builder {
        /**
         * Specifies the allocated storage size in gibibytes (GiB).
         */
        public var allocatedStorage: kotlin.Int? = null
        /**
         * Provides the list of EC2 Availability Zones that instances in the DB cluster snapshot can be restored in.
         */
        public var availabilityZones: List? = null
        /**
         * Specifies the time when the DB cluster was created, in Universal Coordinated Time (UTC).
         */
        public var clusterCreateTime: aws.smithy.kotlin.runtime.time.Instant? = null
        /**
         * Specifies the DB cluster identifier of the DB cluster that this DB cluster snapshot was created from.
         */
        public var dbClusterIdentifier: kotlin.String? = null
        /**
         * The Amazon Resource Name (ARN) for the DB cluster snapshot.
         */
        public var dbClusterSnapshotArn: kotlin.String? = null
        /**
         * Specifies the identifier for a DB cluster snapshot. Must match the identifier of an existing snapshot.
         *
         * After you restore a DB cluster using a `DBClusterSnapshotIdentifier`, you must specify the same `DBClusterSnapshotIdentifier` for any future updates to the DB cluster. When you specify this property for an update, the DB cluster is not restored from the snapshot again, and the data in the database is not changed.
         *
         * However, if you don't specify the `DBClusterSnapshotIdentifier`, an empty DB cluster is created, and the original DB cluster is deleted. If you specify a property that is different from the previous snapshot restore property, the DB cluster is restored from the snapshot specified by the `DBClusterSnapshotIdentifier`, and the original DB cluster is deleted.
         */
        public var dbClusterSnapshotIdentifier: kotlin.String? = null
        /**
         * Specifies the name of the database engine.
         */
        public var engine: kotlin.String? = null
        /**
         * Provides the version of the database engine for this DB cluster snapshot.
         */
        public var engineVersion: kotlin.String? = null
        /**
         * True if mapping of Amazon Identity and Access Management (IAM) accounts to database accounts is enabled, and otherwise false.
         */
        public var iamDatabaseAuthenticationEnabled: kotlin.Boolean? = null
        /**
         * If `StorageEncrypted` is true, the Amazon KMS key identifier for the encrypted DB cluster snapshot.
         */
        public var kmsKeyId: kotlin.String? = null
        /**
         * Provides the license model information for this DB cluster snapshot.
         */
        public var licenseModel: kotlin.String? = null
        /**
         * Not supported by Neptune.
         */
        public var masterUsername: kotlin.String? = null
        /**
         * Specifies the percentage of the estimated data that has been transferred.
         */
        public var percentProgress: kotlin.Int? = null
        /**
         * Specifies the port that the DB cluster was listening on at the time of the snapshot.
         */
        public var port: kotlin.Int? = null
        /**
         * Provides the time when the snapshot was taken, in Universal Coordinated Time (UTC).
         */
        public var snapshotCreateTime: aws.smithy.kotlin.runtime.time.Instant? = null
        /**
         * Provides the type of the DB cluster snapshot.
         */
        public var snapshotType: kotlin.String? = null
        /**
         * If the DB cluster snapshot was copied from a source DB cluster snapshot, the Amazon Resource Name (ARN) for the source DB cluster snapshot, otherwise, a null value.
         */
        public var sourceDbClusterSnapshotArn: kotlin.String? = null
        /**
         * Specifies the status of this DB cluster snapshot.
         */
        public var status: kotlin.String? = null
        /**
         * Specifies whether the DB cluster snapshot is encrypted.
         */
        public var storageEncrypted: kotlin.Boolean? = null
        /**
         * The storage type associated with the DB cluster snapshot.
         */
        public var storageType: kotlin.String? = null
        /**
         * Provides the VPC ID associated with the DB cluster snapshot.
         */
        public var vpcId: kotlin.String? = null

        @PublishedApi
        internal constructor()
        @PublishedApi
        internal constructor(x: aws.sdk.kotlin.services.neptune.model.DbClusterSnapshot) : this() {
            this.allocatedStorage = x.allocatedStorage
            this.availabilityZones = x.availabilityZones
            this.clusterCreateTime = x.clusterCreateTime
            this.dbClusterIdentifier = x.dbClusterIdentifier
            this.dbClusterSnapshotArn = x.dbClusterSnapshotArn
            this.dbClusterSnapshotIdentifier = x.dbClusterSnapshotIdentifier
            this.engine = x.engine
            this.engineVersion = x.engineVersion
            this.iamDatabaseAuthenticationEnabled = x.iamDatabaseAuthenticationEnabled
            this.kmsKeyId = x.kmsKeyId
            this.licenseModel = x.licenseModel
            this.masterUsername = x.masterUsername
            this.percentProgress = x.percentProgress
            this.port = x.port
            this.snapshotCreateTime = x.snapshotCreateTime
            this.snapshotType = x.snapshotType
            this.sourceDbClusterSnapshotArn = x.sourceDbClusterSnapshotArn
            this.status = x.status
            this.storageEncrypted = x.storageEncrypted
            this.storageType = x.storageType
            this.vpcId = x.vpcId
        }

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

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




© 2015 - 2024 Weber Informatics LLC | Privacy Policy