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

commonMain.aws.sdk.kotlin.services.timestreamquery.model.ScheduledQueryRunSummary.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.timestreamquery.model

import aws.smithy.kotlin.runtime.SdkDsl
import aws.smithy.kotlin.runtime.time.Instant

/**
 * Run summary for the scheduled query
 */
public class ScheduledQueryRunSummary private constructor(builder: Builder) {
    /**
     * S3 location for error report.
     */
    public val errorReportLocation: aws.sdk.kotlin.services.timestreamquery.model.ErrorReportLocation? = builder.errorReportLocation
    /**
     * Runtime statistics for a scheduled run.
     */
    public val executionStats: aws.sdk.kotlin.services.timestreamquery.model.ExecutionStats? = builder.executionStats
    /**
     * Error message for the scheduled query in case of failure. You might have to look at the error report to get more detailed error reasons.
     */
    public val failureReason: kotlin.String? = builder.failureReason
    /**
     * InvocationTime for this run. This is the time at which the query is scheduled to run. Parameter `@scheduled_runtime` can be used in the query to get the value.
     */
    public val invocationTime: aws.smithy.kotlin.runtime.time.Instant? = builder.invocationTime
    /**
     * The status of a scheduled query run.
     */
    public val runStatus: aws.sdk.kotlin.services.timestreamquery.model.ScheduledQueryRunStatus? = builder.runStatus
    /**
     * The actual time when the query was run.
     */
    public val triggerTime: aws.smithy.kotlin.runtime.time.Instant? = builder.triggerTime

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

    override fun toString(): kotlin.String = buildString {
        append("ScheduledQueryRunSummary(")
        append("errorReportLocation=$errorReportLocation,")
        append("executionStats=$executionStats,")
        append("failureReason=$failureReason,")
        append("invocationTime=$invocationTime,")
        append("runStatus=$runStatus,")
        append("triggerTime=$triggerTime")
        append(")")
    }

    override fun hashCode(): kotlin.Int {
        var result = errorReportLocation?.hashCode() ?: 0
        result = 31 * result + (executionStats?.hashCode() ?: 0)
        result = 31 * result + (failureReason?.hashCode() ?: 0)
        result = 31 * result + (invocationTime?.hashCode() ?: 0)
        result = 31 * result + (runStatus?.hashCode() ?: 0)
        result = 31 * result + (triggerTime?.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 ScheduledQueryRunSummary

        if (errorReportLocation != other.errorReportLocation) return false
        if (executionStats != other.executionStats) return false
        if (failureReason != other.failureReason) return false
        if (invocationTime != other.invocationTime) return false
        if (runStatus != other.runStatus) return false
        if (triggerTime != other.triggerTime) return false

        return true
    }

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

    @SdkDsl
    public class Builder {
        /**
         * S3 location for error report.
         */
        public var errorReportLocation: aws.sdk.kotlin.services.timestreamquery.model.ErrorReportLocation? = null
        /**
         * Runtime statistics for a scheduled run.
         */
        public var executionStats: aws.sdk.kotlin.services.timestreamquery.model.ExecutionStats? = null
        /**
         * Error message for the scheduled query in case of failure. You might have to look at the error report to get more detailed error reasons.
         */
        public var failureReason: kotlin.String? = null
        /**
         * InvocationTime for this run. This is the time at which the query is scheduled to run. Parameter `@scheduled_runtime` can be used in the query to get the value.
         */
        public var invocationTime: aws.smithy.kotlin.runtime.time.Instant? = null
        /**
         * The status of a scheduled query run.
         */
        public var runStatus: aws.sdk.kotlin.services.timestreamquery.model.ScheduledQueryRunStatus? = null
        /**
         * The actual time when the query was run.
         */
        public var triggerTime: aws.smithy.kotlin.runtime.time.Instant? = null

        @PublishedApi
        internal constructor()
        @PublishedApi
        internal constructor(x: aws.sdk.kotlin.services.timestreamquery.model.ScheduledQueryRunSummary) : this() {
            this.errorReportLocation = x.errorReportLocation
            this.executionStats = x.executionStats
            this.failureReason = x.failureReason
            this.invocationTime = x.invocationTime
            this.runStatus = x.runStatus
            this.triggerTime = x.triggerTime
        }

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

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

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

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




© 2015 - 2024 Weber Informatics LLC | Privacy Policy