commonMain.aws.sdk.kotlin.services.firehose.model.HttpEndpointDestinationDescription.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of firehose-jvm Show documentation
Show all versions of firehose-jvm Show documentation
The AWS SDK for Kotlin client for Firehose
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!
package aws.sdk.kotlin.services.firehose.model
import aws.smithy.kotlin.runtime.SdkDsl
/**
* Describes the HTTP endpoint destination.
*/
public class HttpEndpointDestinationDescription private constructor(builder: Builder) {
/**
* Describes buffering options that can be applied to the data before it is delivered to the HTTPS endpoint destination. Firehose teats these options as hints, and it might choose to use more optimal values. The `SizeInMBs` and `IntervalInSeconds` parameters are optional. However, if specify a value for one of them, you must also provide a value for the other.
*/
public val bufferingHints: aws.sdk.kotlin.services.firehose.model.HttpEndpointBufferingHints? = builder.bufferingHints
/**
* Describes the Amazon CloudWatch logging options for your delivery stream.
*/
public val cloudWatchLoggingOptions: aws.sdk.kotlin.services.firehose.model.CloudWatchLoggingOptions? = builder.cloudWatchLoggingOptions
/**
* The configuration of the specified HTTP endpoint destination.
*/
public val endpointConfiguration: aws.sdk.kotlin.services.firehose.model.HttpEndpointDescription? = builder.endpointConfiguration
/**
* Describes a data processing configuration.
*/
public val processingConfiguration: aws.sdk.kotlin.services.firehose.model.ProcessingConfiguration? = builder.processingConfiguration
/**
* The configuration of request sent to the HTTP endpoint specified as the destination.
*/
public val requestConfiguration: aws.sdk.kotlin.services.firehose.model.HttpEndpointRequestConfiguration? = builder.requestConfiguration
/**
* Describes the retry behavior in case Firehose is unable to deliver data to the specified HTTP endpoint destination, or if it doesn't receive a valid acknowledgment of receipt from the specified HTTP endpoint destination.
*/
public val retryOptions: aws.sdk.kotlin.services.firehose.model.HttpEndpointRetryOptions? = builder.retryOptions
/**
* Firehose uses this IAM role for all the permissions that the delivery stream needs.
*/
public val roleArn: kotlin.String? = builder.roleArn
/**
* Describes the S3 bucket backup options for the data that Kinesis Firehose delivers to the HTTP endpoint destination. You can back up all documents (`AllData`) or only the documents that Firehose could not deliver to the specified HTTP endpoint destination (`FailedDataOnly`).
*/
public val s3BackupMode: aws.sdk.kotlin.services.firehose.model.HttpEndpointS3BackupMode? = builder.s3BackupMode
/**
* Describes a destination in Amazon S3.
*/
public val s3DestinationDescription: aws.sdk.kotlin.services.firehose.model.S3DestinationDescription? = builder.s3DestinationDescription
/**
* The configuration that defines how you access secrets for HTTP Endpoint destination.
*/
public val secretsManagerConfiguration: aws.sdk.kotlin.services.firehose.model.SecretsManagerConfiguration? = builder.secretsManagerConfiguration
public companion object {
public operator fun invoke(block: Builder.() -> kotlin.Unit): aws.sdk.kotlin.services.firehose.model.HttpEndpointDestinationDescription = Builder().apply(block).build()
}
override fun toString(): kotlin.String = buildString {
append("HttpEndpointDestinationDescription(")
append("bufferingHints=$bufferingHints,")
append("cloudWatchLoggingOptions=$cloudWatchLoggingOptions,")
append("endpointConfiguration=$endpointConfiguration,")
append("processingConfiguration=$processingConfiguration,")
append("requestConfiguration=$requestConfiguration,")
append("retryOptions=$retryOptions,")
append("roleArn=$roleArn,")
append("s3BackupMode=$s3BackupMode,")
append("s3DestinationDescription=$s3DestinationDescription,")
append("secretsManagerConfiguration=$secretsManagerConfiguration")
append(")")
}
override fun hashCode(): kotlin.Int {
var result = bufferingHints?.hashCode() ?: 0
result = 31 * result + (cloudWatchLoggingOptions?.hashCode() ?: 0)
result = 31 * result + (endpointConfiguration?.hashCode() ?: 0)
result = 31 * result + (processingConfiguration?.hashCode() ?: 0)
result = 31 * result + (requestConfiguration?.hashCode() ?: 0)
result = 31 * result + (retryOptions?.hashCode() ?: 0)
result = 31 * result + (roleArn?.hashCode() ?: 0)
result = 31 * result + (s3BackupMode?.hashCode() ?: 0)
result = 31 * result + (s3DestinationDescription?.hashCode() ?: 0)
result = 31 * result + (secretsManagerConfiguration?.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 HttpEndpointDestinationDescription
if (bufferingHints != other.bufferingHints) return false
if (cloudWatchLoggingOptions != other.cloudWatchLoggingOptions) return false
if (endpointConfiguration != other.endpointConfiguration) return false
if (processingConfiguration != other.processingConfiguration) return false
if (requestConfiguration != other.requestConfiguration) return false
if (retryOptions != other.retryOptions) return false
if (roleArn != other.roleArn) return false
if (s3BackupMode != other.s3BackupMode) return false
if (s3DestinationDescription != other.s3DestinationDescription) return false
if (secretsManagerConfiguration != other.secretsManagerConfiguration) return false
return true
}
public inline fun copy(block: Builder.() -> kotlin.Unit = {}): aws.sdk.kotlin.services.firehose.model.HttpEndpointDestinationDescription = Builder(this).apply(block).build()
@SdkDsl
public class Builder {
/**
* Describes buffering options that can be applied to the data before it is delivered to the HTTPS endpoint destination. Firehose teats these options as hints, and it might choose to use more optimal values. The `SizeInMBs` and `IntervalInSeconds` parameters are optional. However, if specify a value for one of them, you must also provide a value for the other.
*/
public var bufferingHints: aws.sdk.kotlin.services.firehose.model.HttpEndpointBufferingHints? = null
/**
* Describes the Amazon CloudWatch logging options for your delivery stream.
*/
public var cloudWatchLoggingOptions: aws.sdk.kotlin.services.firehose.model.CloudWatchLoggingOptions? = null
/**
* The configuration of the specified HTTP endpoint destination.
*/
public var endpointConfiguration: aws.sdk.kotlin.services.firehose.model.HttpEndpointDescription? = null
/**
* Describes a data processing configuration.
*/
public var processingConfiguration: aws.sdk.kotlin.services.firehose.model.ProcessingConfiguration? = null
/**
* The configuration of request sent to the HTTP endpoint specified as the destination.
*/
public var requestConfiguration: aws.sdk.kotlin.services.firehose.model.HttpEndpointRequestConfiguration? = null
/**
* Describes the retry behavior in case Firehose is unable to deliver data to the specified HTTP endpoint destination, or if it doesn't receive a valid acknowledgment of receipt from the specified HTTP endpoint destination.
*/
public var retryOptions: aws.sdk.kotlin.services.firehose.model.HttpEndpointRetryOptions? = null
/**
* Firehose uses this IAM role for all the permissions that the delivery stream needs.
*/
public var roleArn: kotlin.String? = null
/**
* Describes the S3 bucket backup options for the data that Kinesis Firehose delivers to the HTTP endpoint destination. You can back up all documents (`AllData`) or only the documents that Firehose could not deliver to the specified HTTP endpoint destination (`FailedDataOnly`).
*/
public var s3BackupMode: aws.sdk.kotlin.services.firehose.model.HttpEndpointS3BackupMode? = null
/**
* Describes a destination in Amazon S3.
*/
public var s3DestinationDescription: aws.sdk.kotlin.services.firehose.model.S3DestinationDescription? = null
/**
* The configuration that defines how you access secrets for HTTP Endpoint destination.
*/
public var secretsManagerConfiguration: aws.sdk.kotlin.services.firehose.model.SecretsManagerConfiguration? = null
@PublishedApi
internal constructor()
@PublishedApi
internal constructor(x: aws.sdk.kotlin.services.firehose.model.HttpEndpointDestinationDescription) : this() {
this.bufferingHints = x.bufferingHints
this.cloudWatchLoggingOptions = x.cloudWatchLoggingOptions
this.endpointConfiguration = x.endpointConfiguration
this.processingConfiguration = x.processingConfiguration
this.requestConfiguration = x.requestConfiguration
this.retryOptions = x.retryOptions
this.roleArn = x.roleArn
this.s3BackupMode = x.s3BackupMode
this.s3DestinationDescription = x.s3DestinationDescription
this.secretsManagerConfiguration = x.secretsManagerConfiguration
}
@PublishedApi
internal fun build(): aws.sdk.kotlin.services.firehose.model.HttpEndpointDestinationDescription = HttpEndpointDestinationDescription(this)
/**
* construct an [aws.sdk.kotlin.services.firehose.model.HttpEndpointBufferingHints] inside the given [block]
*/
public fun bufferingHints(block: aws.sdk.kotlin.services.firehose.model.HttpEndpointBufferingHints.Builder.() -> kotlin.Unit) {
this.bufferingHints = aws.sdk.kotlin.services.firehose.model.HttpEndpointBufferingHints.invoke(block)
}
/**
* construct an [aws.sdk.kotlin.services.firehose.model.CloudWatchLoggingOptions] inside the given [block]
*/
public fun cloudWatchLoggingOptions(block: aws.sdk.kotlin.services.firehose.model.CloudWatchLoggingOptions.Builder.() -> kotlin.Unit) {
this.cloudWatchLoggingOptions = aws.sdk.kotlin.services.firehose.model.CloudWatchLoggingOptions.invoke(block)
}
/**
* construct an [aws.sdk.kotlin.services.firehose.model.HttpEndpointDescription] inside the given [block]
*/
public fun endpointConfiguration(block: aws.sdk.kotlin.services.firehose.model.HttpEndpointDescription.Builder.() -> kotlin.Unit) {
this.endpointConfiguration = aws.sdk.kotlin.services.firehose.model.HttpEndpointDescription.invoke(block)
}
/**
* construct an [aws.sdk.kotlin.services.firehose.model.ProcessingConfiguration] inside the given [block]
*/
public fun processingConfiguration(block: aws.sdk.kotlin.services.firehose.model.ProcessingConfiguration.Builder.() -> kotlin.Unit) {
this.processingConfiguration = aws.sdk.kotlin.services.firehose.model.ProcessingConfiguration.invoke(block)
}
/**
* construct an [aws.sdk.kotlin.services.firehose.model.HttpEndpointRequestConfiguration] inside the given [block]
*/
public fun requestConfiguration(block: aws.sdk.kotlin.services.firehose.model.HttpEndpointRequestConfiguration.Builder.() -> kotlin.Unit) {
this.requestConfiguration = aws.sdk.kotlin.services.firehose.model.HttpEndpointRequestConfiguration.invoke(block)
}
/**
* construct an [aws.sdk.kotlin.services.firehose.model.HttpEndpointRetryOptions] inside the given [block]
*/
public fun retryOptions(block: aws.sdk.kotlin.services.firehose.model.HttpEndpointRetryOptions.Builder.() -> kotlin.Unit) {
this.retryOptions = aws.sdk.kotlin.services.firehose.model.HttpEndpointRetryOptions.invoke(block)
}
/**
* construct an [aws.sdk.kotlin.services.firehose.model.S3DestinationDescription] inside the given [block]
*/
public fun s3DestinationDescription(block: aws.sdk.kotlin.services.firehose.model.S3DestinationDescription.Builder.() -> kotlin.Unit) {
this.s3DestinationDescription = aws.sdk.kotlin.services.firehose.model.S3DestinationDescription.invoke(block)
}
/**
* construct an [aws.sdk.kotlin.services.firehose.model.SecretsManagerConfiguration] inside the given [block]
*/
public fun secretsManagerConfiguration(block: aws.sdk.kotlin.services.firehose.model.SecretsManagerConfiguration.Builder.() -> kotlin.Unit) {
this.secretsManagerConfiguration = aws.sdk.kotlin.services.firehose.model.SecretsManagerConfiguration.invoke(block)
}
internal fun correctErrors(): Builder {
return this
}
}
}