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

commonMain.aws.sdk.kotlin.services.databrew.model.JobRun.kt Maven / Gradle / Ivy

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

package aws.sdk.kotlin.services.databrew.model

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

/**
 * Represents one run of a DataBrew job.
 */
public class JobRun private constructor(builder: Builder) {
    /**
     * The number of times that DataBrew has attempted to run the job.
     */
    public val attempt: kotlin.Int = builder.attempt
    /**
     * The date and time when the job completed processing.
     */
    public val completedOn: aws.smithy.kotlin.runtime.time.Instant? = builder.completedOn
    /**
     * One or more artifacts that represent the Glue Data Catalog output from running the job.
     */
    public val dataCatalogOutputs: List? = builder.dataCatalogOutputs
    /**
     * Represents a list of JDBC database output objects which defines the output destination for a DataBrew recipe job to write into.
     */
    public val databaseOutputs: List? = builder.databaseOutputs
    /**
     * The name of the dataset for the job to process.
     */
    public val datasetName: kotlin.String? = builder.datasetName
    /**
     * A message indicating an error (if any) that was encountered when the job ran.
     */
    public val errorMessage: kotlin.String? = builder.errorMessage
    /**
     * The amount of time, in seconds, during which a job run consumed resources.
     */
    public val executionTime: kotlin.Int = builder.executionTime
    /**
     * The name of the job being processed during this run.
     */
    public val jobName: kotlin.String? = builder.jobName
    /**
     * A sample configuration for profile jobs only, which determines the number of rows on which the profile job is run. If a `JobSample` value isn't provided, the default is used. The default value is CUSTOM_ROWS for the mode parameter and 20,000 for the size parameter.
     */
    public val jobSample: aws.sdk.kotlin.services.databrew.model.JobSample? = builder.jobSample
    /**
     * The name of an Amazon CloudWatch log group, where the job writes diagnostic messages when it runs.
     */
    public val logGroupName: kotlin.String? = builder.logGroupName
    /**
     * The current status of Amazon CloudWatch logging for the job run.
     */
    public val logSubscription: aws.sdk.kotlin.services.databrew.model.LogSubscription? = builder.logSubscription
    /**
     * One or more output artifacts from a job run.
     */
    public val outputs: List? = builder.outputs
    /**
     * The set of steps processed by the job.
     */
    public val recipeReference: aws.sdk.kotlin.services.databrew.model.RecipeReference? = builder.recipeReference
    /**
     * The unique identifier of the job run.
     */
    public val runId: kotlin.String? = builder.runId
    /**
     * The Amazon Resource Name (ARN) of the user who initiated the job run.
     */
    public val startedBy: kotlin.String? = builder.startedBy
    /**
     * The date and time when the job run began.
     */
    public val startedOn: aws.smithy.kotlin.runtime.time.Instant? = builder.startedOn
    /**
     * The current state of the job run entity itself.
     */
    public val state: aws.sdk.kotlin.services.databrew.model.JobRunState? = builder.state
    /**
     * List of validation configurations that are applied to the profile job run.
     */
    public val validationConfigurations: List? = builder.validationConfigurations

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

    override fun toString(): kotlin.String = buildString {
        append("JobRun(")
        append("attempt=$attempt,")
        append("completedOn=$completedOn,")
        append("dataCatalogOutputs=$dataCatalogOutputs,")
        append("databaseOutputs=$databaseOutputs,")
        append("datasetName=$datasetName,")
        append("errorMessage=$errorMessage,")
        append("executionTime=$executionTime,")
        append("jobName=$jobName,")
        append("jobSample=$jobSample,")
        append("logGroupName=$logGroupName,")
        append("logSubscription=$logSubscription,")
        append("outputs=$outputs,")
        append("recipeReference=$recipeReference,")
        append("runId=$runId,")
        append("startedBy=$startedBy,")
        append("startedOn=$startedOn,")
        append("state=$state,")
        append("validationConfigurations=$validationConfigurations")
        append(")")
    }

    override fun hashCode(): kotlin.Int {
        var result = attempt
        result = 31 * result + (completedOn?.hashCode() ?: 0)
        result = 31 * result + (dataCatalogOutputs?.hashCode() ?: 0)
        result = 31 * result + (databaseOutputs?.hashCode() ?: 0)
        result = 31 * result + (datasetName?.hashCode() ?: 0)
        result = 31 * result + (errorMessage?.hashCode() ?: 0)
        result = 31 * result + (executionTime)
        result = 31 * result + (jobName?.hashCode() ?: 0)
        result = 31 * result + (jobSample?.hashCode() ?: 0)
        result = 31 * result + (logGroupName?.hashCode() ?: 0)
        result = 31 * result + (logSubscription?.hashCode() ?: 0)
        result = 31 * result + (outputs?.hashCode() ?: 0)
        result = 31 * result + (recipeReference?.hashCode() ?: 0)
        result = 31 * result + (runId?.hashCode() ?: 0)
        result = 31 * result + (startedBy?.hashCode() ?: 0)
        result = 31 * result + (startedOn?.hashCode() ?: 0)
        result = 31 * result + (state?.hashCode() ?: 0)
        result = 31 * result + (validationConfigurations?.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 JobRun

        if (attempt != other.attempt) return false
        if (completedOn != other.completedOn) return false
        if (dataCatalogOutputs != other.dataCatalogOutputs) return false
        if (databaseOutputs != other.databaseOutputs) return false
        if (datasetName != other.datasetName) return false
        if (errorMessage != other.errorMessage) return false
        if (executionTime != other.executionTime) return false
        if (jobName != other.jobName) return false
        if (jobSample != other.jobSample) return false
        if (logGroupName != other.logGroupName) return false
        if (logSubscription != other.logSubscription) return false
        if (outputs != other.outputs) return false
        if (recipeReference != other.recipeReference) return false
        if (runId != other.runId) return false
        if (startedBy != other.startedBy) return false
        if (startedOn != other.startedOn) return false
        if (state != other.state) return false
        if (validationConfigurations != other.validationConfigurations) return false

        return true
    }

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

    public class Builder {
        /**
         * The number of times that DataBrew has attempted to run the job.
         */
        public var attempt: kotlin.Int = 0
        /**
         * The date and time when the job completed processing.
         */
        public var completedOn: aws.smithy.kotlin.runtime.time.Instant? = null
        /**
         * One or more artifacts that represent the Glue Data Catalog output from running the job.
         */
        public var dataCatalogOutputs: List? = null
        /**
         * Represents a list of JDBC database output objects which defines the output destination for a DataBrew recipe job to write into.
         */
        public var databaseOutputs: List? = null
        /**
         * The name of the dataset for the job to process.
         */
        public var datasetName: kotlin.String? = null
        /**
         * A message indicating an error (if any) that was encountered when the job ran.
         */
        public var errorMessage: kotlin.String? = null
        /**
         * The amount of time, in seconds, during which a job run consumed resources.
         */
        public var executionTime: kotlin.Int = 0
        /**
         * The name of the job being processed during this run.
         */
        public var jobName: kotlin.String? = null
        /**
         * A sample configuration for profile jobs only, which determines the number of rows on which the profile job is run. If a `JobSample` value isn't provided, the default is used. The default value is CUSTOM_ROWS for the mode parameter and 20,000 for the size parameter.
         */
        public var jobSample: aws.sdk.kotlin.services.databrew.model.JobSample? = null
        /**
         * The name of an Amazon CloudWatch log group, where the job writes diagnostic messages when it runs.
         */
        public var logGroupName: kotlin.String? = null
        /**
         * The current status of Amazon CloudWatch logging for the job run.
         */
        public var logSubscription: aws.sdk.kotlin.services.databrew.model.LogSubscription? = null
        /**
         * One or more output artifacts from a job run.
         */
        public var outputs: List? = null
        /**
         * The set of steps processed by the job.
         */
        public var recipeReference: aws.sdk.kotlin.services.databrew.model.RecipeReference? = null
        /**
         * The unique identifier of the job run.
         */
        public var runId: kotlin.String? = null
        /**
         * The Amazon Resource Name (ARN) of the user who initiated the job run.
         */
        public var startedBy: kotlin.String? = null
        /**
         * The date and time when the job run began.
         */
        public var startedOn: aws.smithy.kotlin.runtime.time.Instant? = null
        /**
         * The current state of the job run entity itself.
         */
        public var state: aws.sdk.kotlin.services.databrew.model.JobRunState? = null
        /**
         * List of validation configurations that are applied to the profile job run.
         */
        public var validationConfigurations: List? = null

        @PublishedApi
        internal constructor()
        @PublishedApi
        internal constructor(x: aws.sdk.kotlin.services.databrew.model.JobRun) : this() {
            this.attempt = x.attempt
            this.completedOn = x.completedOn
            this.dataCatalogOutputs = x.dataCatalogOutputs
            this.databaseOutputs = x.databaseOutputs
            this.datasetName = x.datasetName
            this.errorMessage = x.errorMessage
            this.executionTime = x.executionTime
            this.jobName = x.jobName
            this.jobSample = x.jobSample
            this.logGroupName = x.logGroupName
            this.logSubscription = x.logSubscription
            this.outputs = x.outputs
            this.recipeReference = x.recipeReference
            this.runId = x.runId
            this.startedBy = x.startedBy
            this.startedOn = x.startedOn
            this.state = x.state
            this.validationConfigurations = x.validationConfigurations
        }

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

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

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




© 2015 - 2025 Weber Informatics LLC | Privacy Policy