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

commonMain.aws.sdk.kotlin.services.iotsitewise.model.TransformProcessingConfig.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.iotsitewise.model

import aws.smithy.kotlin.runtime.SdkDsl

/**
 * The processing configuration for the given transform property. You can configure transforms to be kept at the edge or forwarded to the Amazon Web Services Cloud. You can also configure transforms to be computed at the edge or in the cloud.
 */
public class TransformProcessingConfig private constructor(builder: Builder) {
    /**
     * The compute location for the given transform property.
     */
    public val computeLocation: aws.sdk.kotlin.services.iotsitewise.model.ComputeLocation = requireNotNull(builder.computeLocation) { "A non-null value must be provided for computeLocation" }
    /**
     * The forwarding configuration for a given property.
     */
    public val forwardingConfig: aws.sdk.kotlin.services.iotsitewise.model.ForwardingConfig? = builder.forwardingConfig

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

    override fun toString(): kotlin.String = buildString {
        append("TransformProcessingConfig(")
        append("computeLocation=$computeLocation,")
        append("forwardingConfig=$forwardingConfig")
        append(")")
    }

    override fun hashCode(): kotlin.Int {
        var result = computeLocation.hashCode()
        result = 31 * result + (forwardingConfig?.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 TransformProcessingConfig

        if (computeLocation != other.computeLocation) return false
        if (forwardingConfig != other.forwardingConfig) return false

        return true
    }

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

    @SdkDsl
    public class Builder {
        /**
         * The compute location for the given transform property.
         */
        public var computeLocation: aws.sdk.kotlin.services.iotsitewise.model.ComputeLocation? = null
        /**
         * The forwarding configuration for a given property.
         */
        public var forwardingConfig: aws.sdk.kotlin.services.iotsitewise.model.ForwardingConfig? = null

        @PublishedApi
        internal constructor()
        @PublishedApi
        internal constructor(x: aws.sdk.kotlin.services.iotsitewise.model.TransformProcessingConfig) : this() {
            this.computeLocation = x.computeLocation
            this.forwardingConfig = x.forwardingConfig
        }

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

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

        internal fun correctErrors(): Builder {
            if (computeLocation == null) computeLocation = ComputeLocation.SdkUnknown("no value provided")
            return this
        }
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy