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

commonMain.aws.sdk.kotlin.services.sagemakergeospatial.model.StackConfigInput.kt Maven / Gradle / Ivy

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

package aws.sdk.kotlin.services.sagemakergeospatial.model

import aws.smithy.kotlin.runtime.SdkDsl

/**
 * The input structure for Stacking Operation.
 */
public class StackConfigInput private constructor(builder: Builder) {
    /**
     * The structure representing output resolution (in target georeferenced units) of the result of stacking operation.
     */
    public val outputResolution: aws.sdk.kotlin.services.sagemakergeospatial.model.OutputResolutionStackInput? = builder.outputResolution
    /**
     * A list of bands to be stacked in the specified order. When the parameter is not provided, all the available bands in the data collection are stacked in the alphabetical order of their asset names.
     */
    public val targetBands: List? = builder.targetBands

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

    override fun toString(): kotlin.String = buildString {
        append("StackConfigInput(")
        append("outputResolution=$outputResolution,")
        append("targetBands=$targetBands")
        append(")")
    }

    override fun hashCode(): kotlin.Int {
        var result = outputResolution?.hashCode() ?: 0
        result = 31 * result + (targetBands?.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 StackConfigInput

        if (outputResolution != other.outputResolution) return false
        if (targetBands != other.targetBands) return false

        return true
    }

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

    @SdkDsl
    public class Builder {
        /**
         * The structure representing output resolution (in target georeferenced units) of the result of stacking operation.
         */
        public var outputResolution: aws.sdk.kotlin.services.sagemakergeospatial.model.OutputResolutionStackInput? = null
        /**
         * A list of bands to be stacked in the specified order. When the parameter is not provided, all the available bands in the data collection are stacked in the alphabetical order of their asset names.
         */
        public var targetBands: List? = null

        @PublishedApi
        internal constructor()
        @PublishedApi
        internal constructor(x: aws.sdk.kotlin.services.sagemakergeospatial.model.StackConfigInput) : this() {
            this.outputResolution = x.outputResolution
            this.targetBands = x.targetBands
        }

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

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

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




© 2015 - 2024 Weber Informatics LLC | Privacy Policy