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

commonMain.aws.sdk.kotlin.services.pipes.model.PipeEnrichmentParameters.kt Maven / Gradle / Ivy

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

package aws.sdk.kotlin.services.pipes.model

import aws.smithy.kotlin.runtime.SdkDsl

/**
 * The parameters required to set up enrichment on your pipe.
 */
public class PipeEnrichmentParameters private constructor(builder: Builder) {
    /**
     * Contains the HTTP parameters to use when the target is a API Gateway REST endpoint or EventBridge ApiDestination.
     *
     * If you specify an API Gateway REST API or EventBridge ApiDestination as a target, you can use this parameter to specify headers, path parameters, and query string keys/values as part of your target invoking request. If you're using ApiDestinations, the corresponding Connection can also have these values configured. In case of any conflicting keys, values from the Connection take precedence.
     */
    public val httpParameters: aws.sdk.kotlin.services.pipes.model.PipeEnrichmentHttpParameters? = builder.httpParameters
    /**
     * Valid JSON text passed to the enrichment. In this case, nothing from the event itself is passed to the enrichment. For more information, see [The JavaScript Object Notation (JSON) Data Interchange Format](http://www.rfc-editor.org/rfc/rfc7159.txt).
     *
     * To remove an input template, specify an empty string.
     */
    public val inputTemplate: kotlin.String? = builder.inputTemplate

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

    override fun toString(): kotlin.String = buildString {
        append("PipeEnrichmentParameters(")
        append("httpParameters=$httpParameters,")
        append("inputTemplate=*** Sensitive Data Redacted ***")
        append(")")
    }

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

        if (httpParameters != other.httpParameters) return false
        if (inputTemplate != other.inputTemplate) return false

        return true
    }

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

    @SdkDsl
    public class Builder {
        /**
         * Contains the HTTP parameters to use when the target is a API Gateway REST endpoint or EventBridge ApiDestination.
         *
         * If you specify an API Gateway REST API or EventBridge ApiDestination as a target, you can use this parameter to specify headers, path parameters, and query string keys/values as part of your target invoking request. If you're using ApiDestinations, the corresponding Connection can also have these values configured. In case of any conflicting keys, values from the Connection take precedence.
         */
        public var httpParameters: aws.sdk.kotlin.services.pipes.model.PipeEnrichmentHttpParameters? = null
        /**
         * Valid JSON text passed to the enrichment. In this case, nothing from the event itself is passed to the enrichment. For more information, see [The JavaScript Object Notation (JSON) Data Interchange Format](http://www.rfc-editor.org/rfc/rfc7159.txt).
         *
         * To remove an input template, specify an empty string.
         */
        public var inputTemplate: kotlin.String? = null

        @PublishedApi
        internal constructor()
        @PublishedApi
        internal constructor(x: aws.sdk.kotlin.services.pipes.model.PipeEnrichmentParameters) : this() {
            this.httpParameters = x.httpParameters
            this.inputTemplate = x.inputTemplate
        }

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

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

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




© 2015 - 2025 Weber Informatics LLC | Privacy Policy