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

commonMain.aws.sdk.kotlin.services.glue.model.CreateWorkflowRequest.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

public class CreateWorkflowRequest private constructor(builder: Builder) {
    /**
     * A collection of properties to be used as part of each execution of the workflow.
     */
    public val defaultRunProperties: Map? = builder.defaultRunProperties
    /**
     * A description of the workflow.
     */
    public val description: kotlin.String? = builder.description
    /**
     * You can use this parameter to prevent unwanted multiple updates to data, to control costs, or in some cases, to prevent exceeding the maximum number of concurrent runs of any of the component jobs. If you leave this parameter blank, there is no limit to the number of concurrent workflow runs.
     */
    public val maxConcurrentRuns: kotlin.Int? = builder.maxConcurrentRuns
    /**
     * The name to be assigned to the workflow. It should be unique within your account.
     */
    public val name: kotlin.String? = builder.name
    /**
     * The tags to be used with this workflow.
     */
    public val tags: Map? = builder.tags

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

    override fun toString(): kotlin.String = buildString {
        append("CreateWorkflowRequest(")
        append("defaultRunProperties=$defaultRunProperties,")
        append("description=$description,")
        append("maxConcurrentRuns=$maxConcurrentRuns,")
        append("name=$name,")
        append("tags=$tags")
        append(")")
    }

    override fun hashCode(): kotlin.Int {
        var result = defaultRunProperties?.hashCode() ?: 0
        result = 31 * result + (description?.hashCode() ?: 0)
        result = 31 * result + (maxConcurrentRuns ?: 0)
        result = 31 * result + (name?.hashCode() ?: 0)
        result = 31 * result + (tags?.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 CreateWorkflowRequest

        if (defaultRunProperties != other.defaultRunProperties) return false
        if (description != other.description) return false
        if (maxConcurrentRuns != other.maxConcurrentRuns) return false
        if (name != other.name) return false
        if (tags != other.tags) return false

        return true
    }

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

    @SdkDsl
    public class Builder {
        /**
         * A collection of properties to be used as part of each execution of the workflow.
         */
        public var defaultRunProperties: Map? = null
        /**
         * A description of the workflow.
         */
        public var description: kotlin.String? = null
        /**
         * You can use this parameter to prevent unwanted multiple updates to data, to control costs, or in some cases, to prevent exceeding the maximum number of concurrent runs of any of the component jobs. If you leave this parameter blank, there is no limit to the number of concurrent workflow runs.
         */
        public var maxConcurrentRuns: kotlin.Int? = null
        /**
         * The name to be assigned to the workflow. It should be unique within your account.
         */
        public var name: kotlin.String? = null
        /**
         * The tags to be used with this workflow.
         */
        public var tags: Map? = null

        @PublishedApi
        internal constructor()
        @PublishedApi
        internal constructor(x: aws.sdk.kotlin.services.glue.model.CreateWorkflowRequest) : this() {
            this.defaultRunProperties = x.defaultRunProperties
            this.description = x.description
            this.maxConcurrentRuns = x.maxConcurrentRuns
            this.name = x.name
            this.tags = x.tags
        }

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

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




© 2015 - 2024 Weber Informatics LLC | Privacy Policy