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

aws.sdk.kotlin.services.sagemaker.model.ListTrialComponentsRequest.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.sagemaker.model

import aws.smithy.kotlin.runtime.time.Instant

class ListTrialComponentsRequest private constructor(builder: BuilderImpl) {
    /**
     * A filter that returns only components created after the specified time.
     */
    val createdAfter: Instant? = builder.createdAfter
    /**
     * A filter that returns only components created before the specified time.
     */
    val createdBefore: Instant? = builder.createdBefore
    /**
     * A filter that returns only components that are part of the specified experiment. If you
     * specify ExperimentName, you can't filter by SourceArn or
     * TrialName.
     */
    val experimentName: String? = builder.experimentName
    /**
     * The maximum number of components to return in the response. The default value is
     * 10.
     */
    val maxResults: Int? = builder.maxResults
    /**
     * If the previous call to ListTrialComponents didn't return the full set of
     * components, the call returns a token for getting the next set of components.
     */
    val nextToken: String? = builder.nextToken
    /**
     * The property used to sort results. The default value is CreationTime.
     */
    val sortBy: SortTrialComponentsBy? = builder.sortBy
    /**
     * The sort order. The default value is Descending.
     */
    val sortOrder: SortOrder? = builder.sortOrder
    /**
     * A filter that returns only components that have the specified source Amazon Resource Name
     * (ARN). If you specify SourceArn, you can't filter by ExperimentName
     * or TrialName.
     */
    val sourceArn: String? = builder.sourceArn
    /**
     * A filter that returns only components that are part of the specified trial. If you specify
     * TrialName, you can't filter by ExperimentName or
     * SourceArn.
     */
    val trialName: String? = builder.trialName

    companion object {
        @JvmStatic
        fun fluentBuilder(): FluentBuilder = BuilderImpl()

        internal fun builder(): DslBuilder = BuilderImpl()

        operator fun invoke(block: DslBuilder.() -> kotlin.Unit): ListTrialComponentsRequest = BuilderImpl().apply(block).build()

    }

    override fun toString(): kotlin.String = buildString {
        append("ListTrialComponentsRequest(")
        append("createdAfter=$createdAfter,")
        append("createdBefore=$createdBefore,")
        append("experimentName=$experimentName,")
        append("maxResults=$maxResults,")
        append("nextToken=$nextToken,")
        append("sortBy=$sortBy,")
        append("sortOrder=$sortOrder,")
        append("sourceArn=$sourceArn,")
        append("trialName=$trialName)")
    }

    override fun hashCode(): kotlin.Int {
        var result = createdAfter?.hashCode() ?: 0
        result = 31 * result + (createdBefore?.hashCode() ?: 0)
        result = 31 * result + (experimentName?.hashCode() ?: 0)
        result = 31 * result + (maxResults ?: 0)
        result = 31 * result + (nextToken?.hashCode() ?: 0)
        result = 31 * result + (sortBy?.hashCode() ?: 0)
        result = 31 * result + (sortOrder?.hashCode() ?: 0)
        result = 31 * result + (sourceArn?.hashCode() ?: 0)
        result = 31 * result + (trialName?.hashCode() ?: 0)
        return result
    }

    override fun equals(other: kotlin.Any?): kotlin.Boolean {
        if (this === other) return true
        if (javaClass != other?.javaClass) return false

        other as ListTrialComponentsRequest

        if (createdAfter != other.createdAfter) return false
        if (createdBefore != other.createdBefore) return false
        if (experimentName != other.experimentName) return false
        if (maxResults != other.maxResults) return false
        if (nextToken != other.nextToken) return false
        if (sortBy != other.sortBy) return false
        if (sortOrder != other.sortOrder) return false
        if (sourceArn != other.sourceArn) return false
        if (trialName != other.trialName) return false

        return true
    }

    fun copy(block: DslBuilder.() -> kotlin.Unit = {}): ListTrialComponentsRequest = BuilderImpl(this).apply(block).build()

    interface FluentBuilder {
        fun build(): ListTrialComponentsRequest
        /**
         * A filter that returns only components created after the specified time.
         */
        fun createdAfter(createdAfter: Instant): FluentBuilder
        /**
         * A filter that returns only components created before the specified time.
         */
        fun createdBefore(createdBefore: Instant): FluentBuilder
        /**
         * A filter that returns only components that are part of the specified experiment. If you
         * specify ExperimentName, you can't filter by SourceArn or
         * TrialName.
         */
        fun experimentName(experimentName: String): FluentBuilder
        /**
         * The maximum number of components to return in the response. The default value is
         * 10.
         */
        fun maxResults(maxResults: Int): FluentBuilder
        /**
         * If the previous call to ListTrialComponents didn't return the full set of
         * components, the call returns a token for getting the next set of components.
         */
        fun nextToken(nextToken: String): FluentBuilder
        /**
         * The property used to sort results. The default value is CreationTime.
         */
        fun sortBy(sortBy: SortTrialComponentsBy): FluentBuilder
        /**
         * The sort order. The default value is Descending.
         */
        fun sortOrder(sortOrder: SortOrder): FluentBuilder
        /**
         * A filter that returns only components that have the specified source Amazon Resource Name
         * (ARN). If you specify SourceArn, you can't filter by ExperimentName
         * or TrialName.
         */
        fun sourceArn(sourceArn: String): FluentBuilder
        /**
         * A filter that returns only components that are part of the specified trial. If you specify
         * TrialName, you can't filter by ExperimentName or
         * SourceArn.
         */
        fun trialName(trialName: String): FluentBuilder
    }

    interface DslBuilder {
        /**
         * A filter that returns only components created after the specified time.
         */
        var createdAfter: Instant?
        /**
         * A filter that returns only components created before the specified time.
         */
        var createdBefore: Instant?
        /**
         * A filter that returns only components that are part of the specified experiment. If you
         * specify ExperimentName, you can't filter by SourceArn or
         * TrialName.
         */
        var experimentName: String?
        /**
         * The maximum number of components to return in the response. The default value is
         * 10.
         */
        var maxResults: Int?
        /**
         * If the previous call to ListTrialComponents didn't return the full set of
         * components, the call returns a token for getting the next set of components.
         */
        var nextToken: String?
        /**
         * The property used to sort results. The default value is CreationTime.
         */
        var sortBy: SortTrialComponentsBy?
        /**
         * The sort order. The default value is Descending.
         */
        var sortOrder: SortOrder?
        /**
         * A filter that returns only components that have the specified source Amazon Resource Name
         * (ARN). If you specify SourceArn, you can't filter by ExperimentName
         * or TrialName.
         */
        var sourceArn: String?
        /**
         * A filter that returns only components that are part of the specified trial. If you specify
         * TrialName, you can't filter by ExperimentName or
         * SourceArn.
         */
        var trialName: String?

        fun build(): ListTrialComponentsRequest
    }

    private class BuilderImpl() : FluentBuilder, DslBuilder {
        override var createdAfter: Instant? = null
        override var createdBefore: Instant? = null
        override var experimentName: String? = null
        override var maxResults: Int? = null
        override var nextToken: String? = null
        override var sortBy: SortTrialComponentsBy? = null
        override var sortOrder: SortOrder? = null
        override var sourceArn: String? = null
        override var trialName: String? = null

        constructor(x: ListTrialComponentsRequest) : this() {
            this.createdAfter = x.createdAfter
            this.createdBefore = x.createdBefore
            this.experimentName = x.experimentName
            this.maxResults = x.maxResults
            this.nextToken = x.nextToken
            this.sortBy = x.sortBy
            this.sortOrder = x.sortOrder
            this.sourceArn = x.sourceArn
            this.trialName = x.trialName
        }

        override fun build(): ListTrialComponentsRequest = ListTrialComponentsRequest(this)
        override fun createdAfter(createdAfter: Instant): FluentBuilder = apply { this.createdAfter = createdAfter }
        override fun createdBefore(createdBefore: Instant): FluentBuilder = apply { this.createdBefore = createdBefore }
        override fun experimentName(experimentName: String): FluentBuilder = apply { this.experimentName = experimentName }
        override fun maxResults(maxResults: Int): FluentBuilder = apply { this.maxResults = maxResults }
        override fun nextToken(nextToken: String): FluentBuilder = apply { this.nextToken = nextToken }
        override fun sortBy(sortBy: SortTrialComponentsBy): FluentBuilder = apply { this.sortBy = sortBy }
        override fun sortOrder(sortOrder: SortOrder): FluentBuilder = apply { this.sortOrder = sortOrder }
        override fun sourceArn(sourceArn: String): FluentBuilder = apply { this.sourceArn = sourceArn }
        override fun trialName(trialName: String): FluentBuilder = apply { this.trialName = trialName }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy