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

commonMain.aws.sdk.kotlin.services.kinesisanalytics.model.InputStartingPositionConfiguration.kt Maven / Gradle / Ivy

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

package aws.sdk.kotlin.services.kinesisanalytics.model

import aws.smithy.kotlin.runtime.SdkDsl

/**
 * Describes the point at which the application reads from the streaming source.
 */
public class InputStartingPositionConfiguration private constructor(builder: Builder) {
    /**
     * The starting position on the stream.
     * + `NOW` - Start reading just after the most recent record in the stream, start at the request time stamp that the customer issued.
     * + `TRIM_HORIZON` - Start reading at the last untrimmed record in the stream, which is the oldest record available in the stream. This option is not available for an Amazon Kinesis Firehose delivery stream.
     * + `LAST_STOPPED_POINT` - Resume reading from where the application last stopped reading.
     */
    public val inputStartingPosition: aws.sdk.kotlin.services.kinesisanalytics.model.InputStartingPosition? = builder.inputStartingPosition

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

    override fun toString(): kotlin.String = buildString {
        append("InputStartingPositionConfiguration(")
        append("inputStartingPosition=$inputStartingPosition")
        append(")")
    }

    override fun hashCode(): kotlin.Int {
        var result = inputStartingPosition?.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 InputStartingPositionConfiguration

        if (inputStartingPosition != other.inputStartingPosition) return false

        return true
    }

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

    @SdkDsl
    public class Builder {
        /**
         * The starting position on the stream.
         * + `NOW` - Start reading just after the most recent record in the stream, start at the request time stamp that the customer issued.
         * + `TRIM_HORIZON` - Start reading at the last untrimmed record in the stream, which is the oldest record available in the stream. This option is not available for an Amazon Kinesis Firehose delivery stream.
         * + `LAST_STOPPED_POINT` - Resume reading from where the application last stopped reading.
         */
        public var inputStartingPosition: aws.sdk.kotlin.services.kinesisanalytics.model.InputStartingPosition? = null

        @PublishedApi
        internal constructor()
        @PublishedApi
        internal constructor(x: aws.sdk.kotlin.services.kinesisanalytics.model.InputStartingPositionConfiguration) : this() {
            this.inputStartingPosition = x.inputStartingPosition
        }

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

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




© 2015 - 2024 Weber Informatics LLC | Privacy Policy