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

commonMain.aws.sdk.kotlin.services.sagemakergeospatial.model.ViewSunAzimuthInput.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 specifying ViewSunAzimuth property filter. ViewSunAzimuth refers to the Sun azimuth angle. From the scene center point on the ground, this is the angle between truth north and the sun. Measured clockwise in degrees (0-360).
 */
public class ViewSunAzimuthInput private constructor(builder: Builder) {
    /**
     * The minimum value for ViewSunAzimuth property filter. This filters items having ViewSunAzimuth greater than or equal to this value.
     */
    public val lowerBound: kotlin.Float = requireNotNull(builder.lowerBound) { "A non-null value must be provided for lowerBound" }
    /**
     * The maximum value for ViewSunAzimuth property filter. This filters items having ViewSunAzimuth lesser than or equal to this value.
     */
    public val upperBound: kotlin.Float = requireNotNull(builder.upperBound) { "A non-null value must be provided for upperBound" }

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

    override fun toString(): kotlin.String = buildString {
        append("ViewSunAzimuthInput(")
        append("lowerBound=$lowerBound,")
        append("upperBound=$upperBound")
        append(")")
    }

    override fun hashCode(): kotlin.Int {
        var result = lowerBound.hashCode()
        result = 31 * result + (upperBound.hashCode())
        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 ViewSunAzimuthInput

        if (!(lowerBound?.equals(other.lowerBound) ?: (other.lowerBound == null))) return false
        if (!(upperBound?.equals(other.upperBound) ?: (other.upperBound == null))) return false

        return true
    }

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

    @SdkDsl
    public class Builder {
        /**
         * The minimum value for ViewSunAzimuth property filter. This filters items having ViewSunAzimuth greater than or equal to this value.
         */
        public var lowerBound: kotlin.Float? = null
        /**
         * The maximum value for ViewSunAzimuth property filter. This filters items having ViewSunAzimuth lesser than or equal to this value.
         */
        public var upperBound: kotlin.Float? = null

        @PublishedApi
        internal constructor()
        @PublishedApi
        internal constructor(x: aws.sdk.kotlin.services.sagemakergeospatial.model.ViewSunAzimuthInput) : this() {
            this.lowerBound = x.lowerBound
            this.upperBound = x.upperBound
        }

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

        internal fun correctErrors(): Builder {
            if (lowerBound == null) lowerBound = 0f
            if (upperBound == null) upperBound = 0f
            return this
        }
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy