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

commonMain.aws.sdk.kotlin.services.firehose.model.UpdateDestinationRequest.kt Maven / Gradle / Ivy

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

package aws.sdk.kotlin.services.firehose.model

import aws.smithy.kotlin.runtime.SdkDsl

public class UpdateDestinationRequest private constructor(builder: Builder) {
    /**
     * Describes an update for a destination in the Serverless offering for Amazon OpenSearch Service.
     */
    public val amazonOpenSearchServerlessDestinationUpdate: aws.sdk.kotlin.services.firehose.model.AmazonOpenSearchServerlessDestinationUpdate? = builder.amazonOpenSearchServerlessDestinationUpdate
    /**
     * Describes an update for a destination in Amazon OpenSearch Service.
     */
    public val amazonopensearchserviceDestinationUpdate: aws.sdk.kotlin.services.firehose.model.AmazonopensearchserviceDestinationUpdate? = builder.amazonopensearchserviceDestinationUpdate
    /**
     * Obtain this value from the `VersionId` result of DeliveryStreamDescription. This value is required, and helps the service perform conditional operations. For example, if there is an interleaving update and this value is null, then the update destination fails. After the update is successful, the `VersionId` value is updated. The service then performs a merge of the old configuration with the new configuration.
     */
    public val currentDeliveryStreamVersionId: kotlin.String? = builder.currentDeliveryStreamVersionId
    /**
     * The name of the delivery stream.
     */
    public val deliveryStreamName: kotlin.String? = builder.deliveryStreamName
    /**
     * The ID of the destination.
     */
    public val destinationId: kotlin.String? = builder.destinationId
    /**
     * Describes an update for a destination in Amazon ES.
     */
    public val elasticsearchDestinationUpdate: aws.sdk.kotlin.services.firehose.model.ElasticsearchDestinationUpdate? = builder.elasticsearchDestinationUpdate
    /**
     * Describes an update for a destination in Amazon S3.
     */
    public val extendedS3DestinationUpdate: aws.sdk.kotlin.services.firehose.model.ExtendedS3DestinationUpdate? = builder.extendedS3DestinationUpdate
    /**
     * Describes an update to the specified HTTP endpoint destination.
     */
    public val httpEndpointDestinationUpdate: aws.sdk.kotlin.services.firehose.model.HttpEndpointDestinationUpdate? = builder.httpEndpointDestinationUpdate
    /**
     * Describes an update for a destination in Apache Iceberg Tables.
     *
     * Amazon Data Firehose is in preview release and is subject to change.
     */
    public val icebergDestinationUpdate: aws.sdk.kotlin.services.firehose.model.IcebergDestinationUpdate? = builder.icebergDestinationUpdate
    /**
     * Describes an update for a destination in Amazon Redshift.
     */
    public val redshiftDestinationUpdate: aws.sdk.kotlin.services.firehose.model.RedshiftDestinationUpdate? = builder.redshiftDestinationUpdate
    /**
     * [Deprecated] Describes an update for a destination in Amazon S3.
     */
    @Deprecated("No longer recommended for use. See AWS API documentation for more details.")
    public val s3DestinationUpdate: aws.sdk.kotlin.services.firehose.model.S3DestinationUpdate? = builder.s3DestinationUpdate
    /**
     * Update to the Snowflake destination configuration settings.
     */
    public val snowflakeDestinationUpdate: aws.sdk.kotlin.services.firehose.model.SnowflakeDestinationUpdate? = builder.snowflakeDestinationUpdate
    /**
     * Describes an update for a destination in Splunk.
     */
    public val splunkDestinationUpdate: aws.sdk.kotlin.services.firehose.model.SplunkDestinationUpdate? = builder.splunkDestinationUpdate

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

    override fun toString(): kotlin.String = buildString {
        append("UpdateDestinationRequest(")
        append("amazonOpenSearchServerlessDestinationUpdate=$amazonOpenSearchServerlessDestinationUpdate,")
        append("amazonopensearchserviceDestinationUpdate=$amazonopensearchserviceDestinationUpdate,")
        append("currentDeliveryStreamVersionId=$currentDeliveryStreamVersionId,")
        append("deliveryStreamName=$deliveryStreamName,")
        append("destinationId=$destinationId,")
        append("elasticsearchDestinationUpdate=$elasticsearchDestinationUpdate,")
        append("extendedS3DestinationUpdate=$extendedS3DestinationUpdate,")
        append("httpEndpointDestinationUpdate=$httpEndpointDestinationUpdate,")
        append("icebergDestinationUpdate=$icebergDestinationUpdate,")
        append("redshiftDestinationUpdate=$redshiftDestinationUpdate,")
        append("s3DestinationUpdate=$s3DestinationUpdate,")
        append("snowflakeDestinationUpdate=$snowflakeDestinationUpdate,")
        append("splunkDestinationUpdate=$splunkDestinationUpdate")
        append(")")
    }

    override fun hashCode(): kotlin.Int {
        var result = amazonOpenSearchServerlessDestinationUpdate?.hashCode() ?: 0
        result = 31 * result + (amazonopensearchserviceDestinationUpdate?.hashCode() ?: 0)
        result = 31 * result + (currentDeliveryStreamVersionId?.hashCode() ?: 0)
        result = 31 * result + (deliveryStreamName?.hashCode() ?: 0)
        result = 31 * result + (destinationId?.hashCode() ?: 0)
        result = 31 * result + (elasticsearchDestinationUpdate?.hashCode() ?: 0)
        result = 31 * result + (extendedS3DestinationUpdate?.hashCode() ?: 0)
        result = 31 * result + (httpEndpointDestinationUpdate?.hashCode() ?: 0)
        result = 31 * result + (icebergDestinationUpdate?.hashCode() ?: 0)
        result = 31 * result + (redshiftDestinationUpdate?.hashCode() ?: 0)
        result = 31 * result + (s3DestinationUpdate?.hashCode() ?: 0)
        result = 31 * result + (snowflakeDestinationUpdate?.hashCode() ?: 0)
        result = 31 * result + (splunkDestinationUpdate?.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 UpdateDestinationRequest

        if (amazonOpenSearchServerlessDestinationUpdate != other.amazonOpenSearchServerlessDestinationUpdate) return false
        if (amazonopensearchserviceDestinationUpdate != other.amazonopensearchserviceDestinationUpdate) return false
        if (currentDeliveryStreamVersionId != other.currentDeliveryStreamVersionId) return false
        if (deliveryStreamName != other.deliveryStreamName) return false
        if (destinationId != other.destinationId) return false
        if (elasticsearchDestinationUpdate != other.elasticsearchDestinationUpdate) return false
        if (extendedS3DestinationUpdate != other.extendedS3DestinationUpdate) return false
        if (httpEndpointDestinationUpdate != other.httpEndpointDestinationUpdate) return false
        if (icebergDestinationUpdate != other.icebergDestinationUpdate) return false
        if (redshiftDestinationUpdate != other.redshiftDestinationUpdate) return false
        if (s3DestinationUpdate != other.s3DestinationUpdate) return false
        if (snowflakeDestinationUpdate != other.snowflakeDestinationUpdate) return false
        if (splunkDestinationUpdate != other.splunkDestinationUpdate) return false

        return true
    }

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

    @SdkDsl
    public class Builder {
        /**
         * Describes an update for a destination in the Serverless offering for Amazon OpenSearch Service.
         */
        public var amazonOpenSearchServerlessDestinationUpdate: aws.sdk.kotlin.services.firehose.model.AmazonOpenSearchServerlessDestinationUpdate? = null
        /**
         * Describes an update for a destination in Amazon OpenSearch Service.
         */
        public var amazonopensearchserviceDestinationUpdate: aws.sdk.kotlin.services.firehose.model.AmazonopensearchserviceDestinationUpdate? = null
        /**
         * Obtain this value from the `VersionId` result of DeliveryStreamDescription. This value is required, and helps the service perform conditional operations. For example, if there is an interleaving update and this value is null, then the update destination fails. After the update is successful, the `VersionId` value is updated. The service then performs a merge of the old configuration with the new configuration.
         */
        public var currentDeliveryStreamVersionId: kotlin.String? = null
        /**
         * The name of the delivery stream.
         */
        public var deliveryStreamName: kotlin.String? = null
        /**
         * The ID of the destination.
         */
        public var destinationId: kotlin.String? = null
        /**
         * Describes an update for a destination in Amazon ES.
         */
        public var elasticsearchDestinationUpdate: aws.sdk.kotlin.services.firehose.model.ElasticsearchDestinationUpdate? = null
        /**
         * Describes an update for a destination in Amazon S3.
         */
        public var extendedS3DestinationUpdate: aws.sdk.kotlin.services.firehose.model.ExtendedS3DestinationUpdate? = null
        /**
         * Describes an update to the specified HTTP endpoint destination.
         */
        public var httpEndpointDestinationUpdate: aws.sdk.kotlin.services.firehose.model.HttpEndpointDestinationUpdate? = null
        /**
         * Describes an update for a destination in Apache Iceberg Tables.
         *
         * Amazon Data Firehose is in preview release and is subject to change.
         */
        public var icebergDestinationUpdate: aws.sdk.kotlin.services.firehose.model.IcebergDestinationUpdate? = null
        /**
         * Describes an update for a destination in Amazon Redshift.
         */
        public var redshiftDestinationUpdate: aws.sdk.kotlin.services.firehose.model.RedshiftDestinationUpdate? = null
        /**
         * [Deprecated] Describes an update for a destination in Amazon S3.
         */
        @Deprecated("No longer recommended for use. See AWS API documentation for more details.")
        public var s3DestinationUpdate: aws.sdk.kotlin.services.firehose.model.S3DestinationUpdate? = null
        /**
         * Update to the Snowflake destination configuration settings.
         */
        public var snowflakeDestinationUpdate: aws.sdk.kotlin.services.firehose.model.SnowflakeDestinationUpdate? = null
        /**
         * Describes an update for a destination in Splunk.
         */
        public var splunkDestinationUpdate: aws.sdk.kotlin.services.firehose.model.SplunkDestinationUpdate? = null

        @PublishedApi
        internal constructor()
        @PublishedApi
        internal constructor(x: aws.sdk.kotlin.services.firehose.model.UpdateDestinationRequest) : this() {
            this.amazonOpenSearchServerlessDestinationUpdate = x.amazonOpenSearchServerlessDestinationUpdate
            this.amazonopensearchserviceDestinationUpdate = x.amazonopensearchserviceDestinationUpdate
            this.currentDeliveryStreamVersionId = x.currentDeliveryStreamVersionId
            this.deliveryStreamName = x.deliveryStreamName
            this.destinationId = x.destinationId
            this.elasticsearchDestinationUpdate = x.elasticsearchDestinationUpdate
            this.extendedS3DestinationUpdate = x.extendedS3DestinationUpdate
            this.httpEndpointDestinationUpdate = x.httpEndpointDestinationUpdate
            this.icebergDestinationUpdate = x.icebergDestinationUpdate
            this.redshiftDestinationUpdate = x.redshiftDestinationUpdate
            this.s3DestinationUpdate = x.s3DestinationUpdate
            this.snowflakeDestinationUpdate = x.snowflakeDestinationUpdate
            this.splunkDestinationUpdate = x.splunkDestinationUpdate
        }

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

        /**
         * construct an [aws.sdk.kotlin.services.firehose.model.AmazonOpenSearchServerlessDestinationUpdate] inside the given [block]
         */
        public fun amazonOpenSearchServerlessDestinationUpdate(block: aws.sdk.kotlin.services.firehose.model.AmazonOpenSearchServerlessDestinationUpdate.Builder.() -> kotlin.Unit) {
            this.amazonOpenSearchServerlessDestinationUpdate = aws.sdk.kotlin.services.firehose.model.AmazonOpenSearchServerlessDestinationUpdate.invoke(block)
        }

        /**
         * construct an [aws.sdk.kotlin.services.firehose.model.AmazonopensearchserviceDestinationUpdate] inside the given [block]
         */
        public fun amazonopensearchserviceDestinationUpdate(block: aws.sdk.kotlin.services.firehose.model.AmazonopensearchserviceDestinationUpdate.Builder.() -> kotlin.Unit) {
            this.amazonopensearchserviceDestinationUpdate = aws.sdk.kotlin.services.firehose.model.AmazonopensearchserviceDestinationUpdate.invoke(block)
        }

        /**
         * construct an [aws.sdk.kotlin.services.firehose.model.ElasticsearchDestinationUpdate] inside the given [block]
         */
        public fun elasticsearchDestinationUpdate(block: aws.sdk.kotlin.services.firehose.model.ElasticsearchDestinationUpdate.Builder.() -> kotlin.Unit) {
            this.elasticsearchDestinationUpdate = aws.sdk.kotlin.services.firehose.model.ElasticsearchDestinationUpdate.invoke(block)
        }

        /**
         * construct an [aws.sdk.kotlin.services.firehose.model.ExtendedS3DestinationUpdate] inside the given [block]
         */
        public fun extendedS3DestinationUpdate(block: aws.sdk.kotlin.services.firehose.model.ExtendedS3DestinationUpdate.Builder.() -> kotlin.Unit) {
            this.extendedS3DestinationUpdate = aws.sdk.kotlin.services.firehose.model.ExtendedS3DestinationUpdate.invoke(block)
        }

        /**
         * construct an [aws.sdk.kotlin.services.firehose.model.HttpEndpointDestinationUpdate] inside the given [block]
         */
        public fun httpEndpointDestinationUpdate(block: aws.sdk.kotlin.services.firehose.model.HttpEndpointDestinationUpdate.Builder.() -> kotlin.Unit) {
            this.httpEndpointDestinationUpdate = aws.sdk.kotlin.services.firehose.model.HttpEndpointDestinationUpdate.invoke(block)
        }

        /**
         * construct an [aws.sdk.kotlin.services.firehose.model.IcebergDestinationUpdate] inside the given [block]
         */
        public fun icebergDestinationUpdate(block: aws.sdk.kotlin.services.firehose.model.IcebergDestinationUpdate.Builder.() -> kotlin.Unit) {
            this.icebergDestinationUpdate = aws.sdk.kotlin.services.firehose.model.IcebergDestinationUpdate.invoke(block)
        }

        /**
         * construct an [aws.sdk.kotlin.services.firehose.model.RedshiftDestinationUpdate] inside the given [block]
         */
        public fun redshiftDestinationUpdate(block: aws.sdk.kotlin.services.firehose.model.RedshiftDestinationUpdate.Builder.() -> kotlin.Unit) {
            this.redshiftDestinationUpdate = aws.sdk.kotlin.services.firehose.model.RedshiftDestinationUpdate.invoke(block)
        }

        /**
         * construct an [aws.sdk.kotlin.services.firehose.model.S3DestinationUpdate] inside the given [block]
         */
        @Deprecated("No longer recommended for use. See AWS API documentation for more details.")
        public fun s3DestinationUpdate(block: aws.sdk.kotlin.services.firehose.model.S3DestinationUpdate.Builder.() -> kotlin.Unit) {
            this.s3DestinationUpdate = aws.sdk.kotlin.services.firehose.model.S3DestinationUpdate.invoke(block)
        }

        /**
         * construct an [aws.sdk.kotlin.services.firehose.model.SnowflakeDestinationUpdate] inside the given [block]
         */
        public fun snowflakeDestinationUpdate(block: aws.sdk.kotlin.services.firehose.model.SnowflakeDestinationUpdate.Builder.() -> kotlin.Unit) {
            this.snowflakeDestinationUpdate = aws.sdk.kotlin.services.firehose.model.SnowflakeDestinationUpdate.invoke(block)
        }

        /**
         * construct an [aws.sdk.kotlin.services.firehose.model.SplunkDestinationUpdate] inside the given [block]
         */
        public fun splunkDestinationUpdate(block: aws.sdk.kotlin.services.firehose.model.SplunkDestinationUpdate.Builder.() -> kotlin.Unit) {
            this.splunkDestinationUpdate = aws.sdk.kotlin.services.firehose.model.SplunkDestinationUpdate.invoke(block)
        }

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




© 2015 - 2024 Weber Informatics LLC | Privacy Policy