commonMain.aws.sdk.kotlin.services.glue.model.Condition.kt Maven / Gradle / Ivy
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!
package aws.sdk.kotlin.services.glue.model
import aws.smithy.kotlin.runtime.SdkDsl
/**
* Defines a condition under which a trigger fires.
*/
public class Condition private constructor(builder: Builder) {
/**
* The state of the crawler to which this condition applies.
*/
public val crawlState: aws.sdk.kotlin.services.glue.model.CrawlState? = builder.crawlState
/**
* The name of the crawler to which this condition applies.
*/
public val crawlerName: kotlin.String? = builder.crawlerName
/**
* The name of the job whose `JobRuns` this condition applies to, and on which this trigger waits.
*/
public val jobName: kotlin.String? = builder.jobName
/**
* A logical operator.
*/
public val logicalOperator: aws.sdk.kotlin.services.glue.model.LogicalOperator? = builder.logicalOperator
/**
* The condition state. Currently, the only job states that a trigger can listen for are `SUCCEEDED`, `STOPPED`, `FAILED`, and `TIMEOUT`. The only crawler states that a trigger can listen for are `SUCCEEDED`, `FAILED`, and `CANCELLED`.
*/
public val state: aws.sdk.kotlin.services.glue.model.JobRunState? = builder.state
public companion object {
public operator fun invoke(block: Builder.() -> kotlin.Unit): aws.sdk.kotlin.services.glue.model.Condition = Builder().apply(block).build()
}
override fun toString(): kotlin.String = buildString {
append("Condition(")
append("crawlState=$crawlState,")
append("crawlerName=$crawlerName,")
append("jobName=$jobName,")
append("logicalOperator=$logicalOperator,")
append("state=$state")
append(")")
}
override fun hashCode(): kotlin.Int {
var result = crawlState?.hashCode() ?: 0
result = 31 * result + (crawlerName?.hashCode() ?: 0)
result = 31 * result + (jobName?.hashCode() ?: 0)
result = 31 * result + (logicalOperator?.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 Condition
if (crawlState != other.crawlState) return false
if (crawlerName != other.crawlerName) return false
if (jobName != other.jobName) return false
if (logicalOperator != other.logicalOperator) return false
if (state != other.state) return false
return true
}
public inline fun copy(block: Builder.() -> kotlin.Unit = {}): aws.sdk.kotlin.services.glue.model.Condition = Builder(this).apply(block).build()
@SdkDsl
public class Builder {
/**
* The state of the crawler to which this condition applies.
*/
public var crawlState: aws.sdk.kotlin.services.glue.model.CrawlState? = null
/**
* The name of the crawler to which this condition applies.
*/
public var crawlerName: kotlin.String? = null
/**
* The name of the job whose `JobRuns` this condition applies to, and on which this trigger waits.
*/
public var jobName: kotlin.String? = null
/**
* A logical operator.
*/
public var logicalOperator: aws.sdk.kotlin.services.glue.model.LogicalOperator? = null
/**
* The condition state. Currently, the only job states that a trigger can listen for are `SUCCEEDED`, `STOPPED`, `FAILED`, and `TIMEOUT`. The only crawler states that a trigger can listen for are `SUCCEEDED`, `FAILED`, and `CANCELLED`.
*/
public var state: aws.sdk.kotlin.services.glue.model.JobRunState? = null
@PublishedApi
internal constructor()
@PublishedApi
internal constructor(x: aws.sdk.kotlin.services.glue.model.Condition) : this() {
this.crawlState = x.crawlState
this.crawlerName = x.crawlerName
this.jobName = x.jobName
this.logicalOperator = x.logicalOperator
this.state = x.state
}
@PublishedApi
internal fun build(): aws.sdk.kotlin.services.glue.model.Condition = Condition(this)
internal fun correctErrors(): Builder {
return this
}
}
}