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

commonMain.aws.sdk.kotlin.services.sagemakerruntime.model.InvokeEndpointWithResponseStreamResponse.kt Maven / Gradle / Ivy

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

package aws.sdk.kotlin.services.sagemakerruntime.model

import kotlinx.coroutines.flow.Flow

public class InvokeEndpointWithResponseStreamResponse private constructor(builder: Builder) {
    /**
     * A stream of payload parts. Each part contains a portion of the response for a streaming inference request.
     */
    public val body: Flow? = builder.body
    /**
     * The MIME type of the inference returned from the model container.
     */
    public val contentType: kotlin.String? = builder.contentType
    /**
     * Provides additional information in the response about the inference returned by a model hosted at an Amazon SageMaker endpoint. The information is an opaque value that is forwarded verbatim. You could use this value, for example, to return an ID received in the `CustomAttributes` header of a request or other metadata that a service endpoint was programmed to produce. The value must consist of no more than 1024 visible US-ASCII characters as specified in [Section 3.3.6. Field Value Components](https://tools.ietf.org/html/rfc7230#section-3.2.6) of the Hypertext Transfer Protocol (HTTP/1.1). If the customer wants the custom attribute returned, the model must set the custom attribute to be included on the way back.
     *
     * The code in your model is responsible for setting or updating any custom attributes in the response. If your code does not set this value in the response, an empty value is returned. For example, if a custom attribute represents the trace ID, your model can prepend the custom attribute with `Trace ID:` in your post-processing function.
     *
     * This feature is currently supported in the Amazon Web Services SDKs but not in the Amazon SageMaker Python SDK.
     */
    public val customAttributes: kotlin.String? = builder.customAttributes
    /**
     * Identifies the production variant that was invoked.
     */
    public val invokedProductionVariant: kotlin.String? = builder.invokedProductionVariant

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

    override fun toString(): kotlin.String = buildString {
        append("InvokeEndpointWithResponseStreamResponse(")
        append("body=$body,")
        append("contentType=$contentType,")
        append("customAttributes=*** Sensitive Data Redacted ***,")
        append("invokedProductionVariant=$invokedProductionVariant")
        append(")")
    }

    override fun hashCode(): kotlin.Int {
        var result = body?.hashCode() ?: 0
        result = 31 * result + (contentType?.hashCode() ?: 0)
        result = 31 * result + (customAttributes?.hashCode() ?: 0)
        result = 31 * result + (invokedProductionVariant?.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 InvokeEndpointWithResponseStreamResponse

        if (body != other.body) return false
        if (contentType != other.contentType) return false
        if (customAttributes != other.customAttributes) return false
        if (invokedProductionVariant != other.invokedProductionVariant) return false

        return true
    }

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

    public class Builder {
        /**
         * A stream of payload parts. Each part contains a portion of the response for a streaming inference request.
         */
        public var body: Flow? = null
        /**
         * The MIME type of the inference returned from the model container.
         */
        public var contentType: kotlin.String? = null
        /**
         * Provides additional information in the response about the inference returned by a model hosted at an Amazon SageMaker endpoint. The information is an opaque value that is forwarded verbatim. You could use this value, for example, to return an ID received in the `CustomAttributes` header of a request or other metadata that a service endpoint was programmed to produce. The value must consist of no more than 1024 visible US-ASCII characters as specified in [Section 3.3.6. Field Value Components](https://tools.ietf.org/html/rfc7230#section-3.2.6) of the Hypertext Transfer Protocol (HTTP/1.1). If the customer wants the custom attribute returned, the model must set the custom attribute to be included on the way back.
         *
         * The code in your model is responsible for setting or updating any custom attributes in the response. If your code does not set this value in the response, an empty value is returned. For example, if a custom attribute represents the trace ID, your model can prepend the custom attribute with `Trace ID:` in your post-processing function.
         *
         * This feature is currently supported in the Amazon Web Services SDKs but not in the Amazon SageMaker Python SDK.
         */
        public var customAttributes: kotlin.String? = null
        /**
         * Identifies the production variant that was invoked.
         */
        public var invokedProductionVariant: kotlin.String? = null

        @PublishedApi
        internal constructor()
        @PublishedApi
        internal constructor(x: aws.sdk.kotlin.services.sagemakerruntime.model.InvokeEndpointWithResponseStreamResponse) : this() {
            this.body = x.body
            this.contentType = x.contentType
            this.customAttributes = x.customAttributes
            this.invokedProductionVariant = x.invokedProductionVariant
        }

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

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




© 2015 - 2025 Weber Informatics LLC | Privacy Policy