aws.sdk.kotlin.services.sagemaker.model.AlgorithmValidationProfile.kt Maven / Gradle / Ivy
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!
package aws.sdk.kotlin.services.sagemaker.model
/**
* Defines a training job and a batch transform job that Amazon SageMaker runs to validate your
* algorithm.
* The data provided in the validation profile is made available to your buyers on Amazon Web Services
* Marketplace.
*/
class AlgorithmValidationProfile private constructor(builder: BuilderImpl) {
/**
* The name of the profile for the algorithm. The name must have 1 to 63 characters.
* Valid characters are a-z, A-Z, 0-9, and - (hyphen).
*/
val profileName: String? = builder.profileName
/**
* The TrainingJobDefinition object that describes the training job that
* Amazon SageMaker runs to validate your algorithm.
*/
val trainingJobDefinition: TrainingJobDefinition? = builder.trainingJobDefinition
/**
* The TransformJobDefinition object that describes the transform job that
* Amazon SageMaker runs to validate your algorithm.
*/
val transformJobDefinition: TransformJobDefinition? = builder.transformJobDefinition
companion object {
@JvmStatic
fun fluentBuilder(): FluentBuilder = BuilderImpl()
internal fun builder(): DslBuilder = BuilderImpl()
operator fun invoke(block: DslBuilder.() -> kotlin.Unit): AlgorithmValidationProfile = BuilderImpl().apply(block).build()
}
override fun toString(): kotlin.String = buildString {
append("AlgorithmValidationProfile(")
append("profileName=$profileName,")
append("trainingJobDefinition=$trainingJobDefinition,")
append("transformJobDefinition=$transformJobDefinition)")
}
override fun hashCode(): kotlin.Int {
var result = profileName?.hashCode() ?: 0
result = 31 * result + (trainingJobDefinition?.hashCode() ?: 0)
result = 31 * result + (transformJobDefinition?.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 AlgorithmValidationProfile
if (profileName != other.profileName) return false
if (trainingJobDefinition != other.trainingJobDefinition) return false
if (transformJobDefinition != other.transformJobDefinition) return false
return true
}
fun copy(block: DslBuilder.() -> kotlin.Unit = {}): AlgorithmValidationProfile = BuilderImpl(this).apply(block).build()
interface FluentBuilder {
fun build(): AlgorithmValidationProfile
/**
* The name of the profile for the algorithm. The name must have 1 to 63 characters.
* Valid characters are a-z, A-Z, 0-9, and - (hyphen).
*/
fun profileName(profileName: String): FluentBuilder
/**
* The TrainingJobDefinition object that describes the training job that
* Amazon SageMaker runs to validate your algorithm.
*/
fun trainingJobDefinition(trainingJobDefinition: TrainingJobDefinition): FluentBuilder
/**
* The TransformJobDefinition object that describes the transform job that
* Amazon SageMaker runs to validate your algorithm.
*/
fun transformJobDefinition(transformJobDefinition: TransformJobDefinition): FluentBuilder
}
interface DslBuilder {
/**
* The name of the profile for the algorithm. The name must have 1 to 63 characters.
* Valid characters are a-z, A-Z, 0-9, and - (hyphen).
*/
var profileName: String?
/**
* The TrainingJobDefinition object that describes the training job that
* Amazon SageMaker runs to validate your algorithm.
*/
var trainingJobDefinition: TrainingJobDefinition?
/**
* The TransformJobDefinition object that describes the transform job that
* Amazon SageMaker runs to validate your algorithm.
*/
var transformJobDefinition: TransformJobDefinition?
fun build(): AlgorithmValidationProfile
/**
* construct an [aws.sdk.kotlin.services.sagemaker.model.TrainingJobDefinition] inside the given [block]
*/
fun trainingJobDefinition(block: TrainingJobDefinition.DslBuilder.() -> kotlin.Unit) {
this.trainingJobDefinition = TrainingJobDefinition.invoke(block)
}
/**
* construct an [aws.sdk.kotlin.services.sagemaker.model.TransformJobDefinition] inside the given [block]
*/
fun transformJobDefinition(block: TransformJobDefinition.DslBuilder.() -> kotlin.Unit) {
this.transformJobDefinition = TransformJobDefinition.invoke(block)
}
}
private class BuilderImpl() : FluentBuilder, DslBuilder {
override var profileName: String? = null
override var trainingJobDefinition: TrainingJobDefinition? = null
override var transformJobDefinition: TransformJobDefinition? = null
constructor(x: AlgorithmValidationProfile) : this() {
this.profileName = x.profileName
this.trainingJobDefinition = x.trainingJobDefinition
this.transformJobDefinition = x.transformJobDefinition
}
override fun build(): AlgorithmValidationProfile = AlgorithmValidationProfile(this)
override fun profileName(profileName: String): FluentBuilder = apply { this.profileName = profileName }
override fun trainingJobDefinition(trainingJobDefinition: TrainingJobDefinition): FluentBuilder = apply { this.trainingJobDefinition = trainingJobDefinition }
override fun transformJobDefinition(transformJobDefinition: TransformJobDefinition): FluentBuilder = apply { this.transformJobDefinition = transformJobDefinition }
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy