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

commonMain.aws.sdk.kotlin.services.neptunedata.model.ExecuteGremlinProfileQueryRequest.kt Maven / Gradle / Ivy

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

package aws.sdk.kotlin.services.neptunedata.model

import aws.smithy.kotlin.runtime.SdkDsl

public class ExecuteGremlinProfileQueryRequest private constructor(builder: Builder) {
    /**
     * If non-zero, causes the results string to be truncated at that number of characters. If set to zero, the string contains all the results.
     */
    public val chop: kotlin.Int? = builder.chop
    /**
     * The Gremlin query string to profile.
     */
    public val gremlinQuery: kotlin.String? = builder.gremlinQuery
    /**
     * If this flag is set to `TRUE`, the results include a detailed report of all index operations that took place during query execution and serialization.
     */
    public val indexOps: kotlin.Boolean? = builder.indexOps
    /**
     * If this flag is set to `TRUE`, the query results are gathered and displayed as part of the profile report. If `FALSE`, only the result count is displayed.
     */
    public val results: kotlin.Boolean? = builder.results
    /**
     * If non-null, the gathered results are returned in a serialized response message in the format specified by this parameter. See [Gremlin profile API in Neptune](https://docs.aws.amazon.com/neptune/latest/userguide/gremlin-profile-api.html) for more information.
     */
    public val serializer: kotlin.String? = builder.serializer

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

    override fun toString(): kotlin.String = buildString {
        append("ExecuteGremlinProfileQueryRequest(")
        append("chop=$chop,")
        append("gremlinQuery=$gremlinQuery,")
        append("indexOps=$indexOps,")
        append("results=$results,")
        append("serializer=$serializer")
        append(")")
    }

    override fun hashCode(): kotlin.Int {
        var result = chop ?: 0
        result = 31 * result + (gremlinQuery?.hashCode() ?: 0)
        result = 31 * result + (indexOps?.hashCode() ?: 0)
        result = 31 * result + (results?.hashCode() ?: 0)
        result = 31 * result + (serializer?.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 ExecuteGremlinProfileQueryRequest

        if (chop != other.chop) return false
        if (gremlinQuery != other.gremlinQuery) return false
        if (indexOps != other.indexOps) return false
        if (results != other.results) return false
        if (serializer != other.serializer) return false

        return true
    }

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

    @SdkDsl
    public class Builder {
        /**
         * If non-zero, causes the results string to be truncated at that number of characters. If set to zero, the string contains all the results.
         */
        public var chop: kotlin.Int? = null
        /**
         * The Gremlin query string to profile.
         */
        public var gremlinQuery: kotlin.String? = null
        /**
         * If this flag is set to `TRUE`, the results include a detailed report of all index operations that took place during query execution and serialization.
         */
        public var indexOps: kotlin.Boolean? = null
        /**
         * If this flag is set to `TRUE`, the query results are gathered and displayed as part of the profile report. If `FALSE`, only the result count is displayed.
         */
        public var results: kotlin.Boolean? = null
        /**
         * If non-null, the gathered results are returned in a serialized response message in the format specified by this parameter. See [Gremlin profile API in Neptune](https://docs.aws.amazon.com/neptune/latest/userguide/gremlin-profile-api.html) for more information.
         */
        public var serializer: kotlin.String? = null

        @PublishedApi
        internal constructor()
        @PublishedApi
        internal constructor(x: aws.sdk.kotlin.services.neptunedata.model.ExecuteGremlinProfileQueryRequest) : this() {
            this.chop = x.chop
            this.gremlinQuery = x.gremlinQuery
            this.indexOps = x.indexOps
            this.results = x.results
            this.serializer = x.serializer
        }

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

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




© 2015 - 2025 Weber Informatics LLC | Privacy Policy