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

commonMain.aws.sdk.kotlin.services.emr.model.JobFlowExecutionStatusDetail.kt Maven / Gradle / Ivy

// Code generated by smithy-kotlin-codegen. DO NOT EDIT!

package aws.sdk.kotlin.services.emr.model

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

/**
 * Describes the status of the cluster (job flow).
 */
public class JobFlowExecutionStatusDetail private constructor(builder: Builder) {
    /**
     * The creation date and time of the job flow.
     */
    public val creationDateTime: aws.smithy.kotlin.runtime.time.Instant? = builder.creationDateTime
    /**
     * The completion date and time of the job flow.
     */
    public val endDateTime: aws.smithy.kotlin.runtime.time.Instant? = builder.endDateTime
    /**
     * Description of the job flow last changed state.
     */
    public val lastStateChangeReason: kotlin.String? = builder.lastStateChangeReason
    /**
     * The date and time when the job flow was ready to start running bootstrap actions.
     */
    public val readyDateTime: aws.smithy.kotlin.runtime.time.Instant? = builder.readyDateTime
    /**
     * The start date and time of the job flow.
     */
    public val startDateTime: aws.smithy.kotlin.runtime.time.Instant? = builder.startDateTime
    /**
     * The state of the job flow.
     */
    public val state: aws.sdk.kotlin.services.emr.model.JobFlowExecutionState? = builder.state

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

    override fun toString(): kotlin.String = buildString {
        append("JobFlowExecutionStatusDetail(")
        append("creationDateTime=$creationDateTime,")
        append("endDateTime=$endDateTime,")
        append("lastStateChangeReason=$lastStateChangeReason,")
        append("readyDateTime=$readyDateTime,")
        append("startDateTime=$startDateTime,")
        append("state=$state)")
    }

    override fun hashCode(): kotlin.Int {
        var result = creationDateTime?.hashCode() ?: 0
        result = 31 * result + (endDateTime?.hashCode() ?: 0)
        result = 31 * result + (lastStateChangeReason?.hashCode() ?: 0)
        result = 31 * result + (readyDateTime?.hashCode() ?: 0)
        result = 31 * result + (startDateTime?.hashCode() ?: 0)
        result = 31 * result + (state?.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 JobFlowExecutionStatusDetail

        if (creationDateTime != other.creationDateTime) return false
        if (endDateTime != other.endDateTime) return false
        if (lastStateChangeReason != other.lastStateChangeReason) return false
        if (readyDateTime != other.readyDateTime) return false
        if (startDateTime != other.startDateTime) return false
        if (state != other.state) return false

        return true
    }

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

    public class Builder {
        /**
         * The creation date and time of the job flow.
         */
        public var creationDateTime: aws.smithy.kotlin.runtime.time.Instant? = null
        /**
         * The completion date and time of the job flow.
         */
        public var endDateTime: aws.smithy.kotlin.runtime.time.Instant? = null
        /**
         * Description of the job flow last changed state.
         */
        public var lastStateChangeReason: kotlin.String? = null
        /**
         * The date and time when the job flow was ready to start running bootstrap actions.
         */
        public var readyDateTime: aws.smithy.kotlin.runtime.time.Instant? = null
        /**
         * The start date and time of the job flow.
         */
        public var startDateTime: aws.smithy.kotlin.runtime.time.Instant? = null
        /**
         * The state of the job flow.
         */
        public var state: aws.sdk.kotlin.services.emr.model.JobFlowExecutionState? = null

        @PublishedApi
        internal constructor()
        @PublishedApi
        internal constructor(x: aws.sdk.kotlin.services.emr.model.JobFlowExecutionStatusDetail) : this() {
            this.creationDateTime = x.creationDateTime
            this.endDateTime = x.endDateTime
            this.lastStateChangeReason = x.lastStateChangeReason
            this.readyDateTime = x.readyDateTime
            this.startDateTime = x.startDateTime
            this.state = x.state
        }

        @PublishedApi
        internal fun build(): aws.sdk.kotlin.services.emr.model.JobFlowExecutionStatusDetail = JobFlowExecutionStatusDetail(this)
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy