aws.sdk.kotlin.services.sagemaker.model.CreateModelQualityJobDefinitionRequest.kt Maven / Gradle / Ivy
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!
package aws.sdk.kotlin.services.sagemaker.model
class CreateModelQualityJobDefinitionRequest private constructor(builder: BuilderImpl) {
/**
* The name of the monitoring job definition.
*/
val jobDefinitionName: String? = builder.jobDefinitionName
/**
* Identifies the resources to deploy for a monitoring job.
*/
val jobResources: MonitoringResources? = builder.jobResources
/**
* The container that runs the monitoring job.
*/
val modelQualityAppSpecification: ModelQualityAppSpecification? = builder.modelQualityAppSpecification
/**
* Specifies the constraints and baselines for the monitoring job.
*/
val modelQualityBaselineConfig: ModelQualityBaselineConfig? = builder.modelQualityBaselineConfig
/**
* A list of the inputs that are monitored. Currently endpoints are supported.
*/
val modelQualityJobInput: ModelQualityJobInput? = builder.modelQualityJobInput
/**
* The output configuration for monitoring jobs.
*/
val modelQualityJobOutputConfig: MonitoringOutputConfig? = builder.modelQualityJobOutputConfig
/**
* Specifies the network configuration for the monitoring job.
*/
val networkConfig: MonitoringNetworkConfig? = builder.networkConfig
/**
* The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker can assume to
* perform tasks on your behalf.
*/
val roleArn: String? = builder.roleArn
/**
* A time limit for how long the monitoring job is allowed to run before stopping.
*/
val stoppingCondition: MonitoringStoppingCondition? = builder.stoppingCondition
/**
* (Optional) An array of key-value pairs. For more information, see Using Cost Allocation Tags in the Amazon Web Services Billing and Cost Management
* User Guide.
*/
val tags: List? = builder.tags
companion object {
@JvmStatic
fun fluentBuilder(): FluentBuilder = BuilderImpl()
internal fun builder(): DslBuilder = BuilderImpl()
operator fun invoke(block: DslBuilder.() -> kotlin.Unit): CreateModelQualityJobDefinitionRequest = BuilderImpl().apply(block).build()
}
override fun toString(): kotlin.String = buildString {
append("CreateModelQualityJobDefinitionRequest(")
append("jobDefinitionName=$jobDefinitionName,")
append("jobResources=$jobResources,")
append("modelQualityAppSpecification=$modelQualityAppSpecification,")
append("modelQualityBaselineConfig=$modelQualityBaselineConfig,")
append("modelQualityJobInput=$modelQualityJobInput,")
append("modelQualityJobOutputConfig=$modelQualityJobOutputConfig,")
append("networkConfig=$networkConfig,")
append("roleArn=$roleArn,")
append("stoppingCondition=$stoppingCondition,")
append("tags=$tags)")
}
override fun hashCode(): kotlin.Int {
var result = jobDefinitionName?.hashCode() ?: 0
result = 31 * result + (jobResources?.hashCode() ?: 0)
result = 31 * result + (modelQualityAppSpecification?.hashCode() ?: 0)
result = 31 * result + (modelQualityBaselineConfig?.hashCode() ?: 0)
result = 31 * result + (modelQualityJobInput?.hashCode() ?: 0)
result = 31 * result + (modelQualityJobOutputConfig?.hashCode() ?: 0)
result = 31 * result + (networkConfig?.hashCode() ?: 0)
result = 31 * result + (roleArn?.hashCode() ?: 0)
result = 31 * result + (stoppingCondition?.hashCode() ?: 0)
result = 31 * result + (tags?.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 CreateModelQualityJobDefinitionRequest
if (jobDefinitionName != other.jobDefinitionName) return false
if (jobResources != other.jobResources) return false
if (modelQualityAppSpecification != other.modelQualityAppSpecification) return false
if (modelQualityBaselineConfig != other.modelQualityBaselineConfig) return false
if (modelQualityJobInput != other.modelQualityJobInput) return false
if (modelQualityJobOutputConfig != other.modelQualityJobOutputConfig) return false
if (networkConfig != other.networkConfig) return false
if (roleArn != other.roleArn) return false
if (stoppingCondition != other.stoppingCondition) return false
if (tags != other.tags) return false
return true
}
fun copy(block: DslBuilder.() -> kotlin.Unit = {}): CreateModelQualityJobDefinitionRequest = BuilderImpl(this).apply(block).build()
interface FluentBuilder {
fun build(): CreateModelQualityJobDefinitionRequest
/**
* The name of the monitoring job definition.
*/
fun jobDefinitionName(jobDefinitionName: String): FluentBuilder
/**
* Identifies the resources to deploy for a monitoring job.
*/
fun jobResources(jobResources: MonitoringResources): FluentBuilder
/**
* The container that runs the monitoring job.
*/
fun modelQualityAppSpecification(modelQualityAppSpecification: ModelQualityAppSpecification): FluentBuilder
/**
* Specifies the constraints and baselines for the monitoring job.
*/
fun modelQualityBaselineConfig(modelQualityBaselineConfig: ModelQualityBaselineConfig): FluentBuilder
/**
* A list of the inputs that are monitored. Currently endpoints are supported.
*/
fun modelQualityJobInput(modelQualityJobInput: ModelQualityJobInput): FluentBuilder
/**
* The output configuration for monitoring jobs.
*/
fun modelQualityJobOutputConfig(modelQualityJobOutputConfig: MonitoringOutputConfig): FluentBuilder
/**
* Specifies the network configuration for the monitoring job.
*/
fun networkConfig(networkConfig: MonitoringNetworkConfig): FluentBuilder
/**
* The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker can assume to
* perform tasks on your behalf.
*/
fun roleArn(roleArn: String): FluentBuilder
/**
* A time limit for how long the monitoring job is allowed to run before stopping.
*/
fun stoppingCondition(stoppingCondition: MonitoringStoppingCondition): FluentBuilder
/**
* (Optional) An array of key-value pairs. For more information, see Using Cost Allocation Tags in the Amazon Web Services Billing and Cost Management
* User Guide.
*/
fun tags(tags: List): FluentBuilder
}
interface DslBuilder {
/**
* The name of the monitoring job definition.
*/
var jobDefinitionName: String?
/**
* Identifies the resources to deploy for a monitoring job.
*/
var jobResources: MonitoringResources?
/**
* The container that runs the monitoring job.
*/
var modelQualityAppSpecification: ModelQualityAppSpecification?
/**
* Specifies the constraints and baselines for the monitoring job.
*/
var modelQualityBaselineConfig: ModelQualityBaselineConfig?
/**
* A list of the inputs that are monitored. Currently endpoints are supported.
*/
var modelQualityJobInput: ModelQualityJobInput?
/**
* The output configuration for monitoring jobs.
*/
var modelQualityJobOutputConfig: MonitoringOutputConfig?
/**
* Specifies the network configuration for the monitoring job.
*/
var networkConfig: MonitoringNetworkConfig?
/**
* The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker can assume to
* perform tasks on your behalf.
*/
var roleArn: String?
/**
* A time limit for how long the monitoring job is allowed to run before stopping.
*/
var stoppingCondition: MonitoringStoppingCondition?
/**
* (Optional) An array of key-value pairs. For more information, see Using Cost Allocation Tags in the Amazon Web Services Billing and Cost Management
* User Guide.
*/
var tags: List?
fun build(): CreateModelQualityJobDefinitionRequest
/**
* construct an [aws.sdk.kotlin.services.sagemaker.model.MonitoringResources] inside the given [block]
*/
fun jobResources(block: MonitoringResources.DslBuilder.() -> kotlin.Unit) {
this.jobResources = MonitoringResources.invoke(block)
}
/**
* construct an [aws.sdk.kotlin.services.sagemaker.model.ModelQualityAppSpecification] inside the given [block]
*/
fun modelQualityAppSpecification(block: ModelQualityAppSpecification.DslBuilder.() -> kotlin.Unit) {
this.modelQualityAppSpecification = ModelQualityAppSpecification.invoke(block)
}
/**
* construct an [aws.sdk.kotlin.services.sagemaker.model.ModelQualityBaselineConfig] inside the given [block]
*/
fun modelQualityBaselineConfig(block: ModelQualityBaselineConfig.DslBuilder.() -> kotlin.Unit) {
this.modelQualityBaselineConfig = ModelQualityBaselineConfig.invoke(block)
}
/**
* construct an [aws.sdk.kotlin.services.sagemaker.model.ModelQualityJobInput] inside the given [block]
*/
fun modelQualityJobInput(block: ModelQualityJobInput.DslBuilder.() -> kotlin.Unit) {
this.modelQualityJobInput = ModelQualityJobInput.invoke(block)
}
/**
* construct an [aws.sdk.kotlin.services.sagemaker.model.MonitoringOutputConfig] inside the given [block]
*/
fun modelQualityJobOutputConfig(block: MonitoringOutputConfig.DslBuilder.() -> kotlin.Unit) {
this.modelQualityJobOutputConfig = MonitoringOutputConfig.invoke(block)
}
/**
* construct an [aws.sdk.kotlin.services.sagemaker.model.MonitoringNetworkConfig] inside the given [block]
*/
fun networkConfig(block: MonitoringNetworkConfig.DslBuilder.() -> kotlin.Unit) {
this.networkConfig = MonitoringNetworkConfig.invoke(block)
}
/**
* construct an [aws.sdk.kotlin.services.sagemaker.model.MonitoringStoppingCondition] inside the given [block]
*/
fun stoppingCondition(block: MonitoringStoppingCondition.DslBuilder.() -> kotlin.Unit) {
this.stoppingCondition = MonitoringStoppingCondition.invoke(block)
}
}
private class BuilderImpl() : FluentBuilder, DslBuilder {
override var jobDefinitionName: String? = null
override var jobResources: MonitoringResources? = null
override var modelQualityAppSpecification: ModelQualityAppSpecification? = null
override var modelQualityBaselineConfig: ModelQualityBaselineConfig? = null
override var modelQualityJobInput: ModelQualityJobInput? = null
override var modelQualityJobOutputConfig: MonitoringOutputConfig? = null
override var networkConfig: MonitoringNetworkConfig? = null
override var roleArn: String? = null
override var stoppingCondition: MonitoringStoppingCondition? = null
override var tags: List? = null
constructor(x: CreateModelQualityJobDefinitionRequest) : this() {
this.jobDefinitionName = x.jobDefinitionName
this.jobResources = x.jobResources
this.modelQualityAppSpecification = x.modelQualityAppSpecification
this.modelQualityBaselineConfig = x.modelQualityBaselineConfig
this.modelQualityJobInput = x.modelQualityJobInput
this.modelQualityJobOutputConfig = x.modelQualityJobOutputConfig
this.networkConfig = x.networkConfig
this.roleArn = x.roleArn
this.stoppingCondition = x.stoppingCondition
this.tags = x.tags
}
override fun build(): CreateModelQualityJobDefinitionRequest = CreateModelQualityJobDefinitionRequest(this)
override fun jobDefinitionName(jobDefinitionName: String): FluentBuilder = apply { this.jobDefinitionName = jobDefinitionName }
override fun jobResources(jobResources: MonitoringResources): FluentBuilder = apply { this.jobResources = jobResources }
override fun modelQualityAppSpecification(modelQualityAppSpecification: ModelQualityAppSpecification): FluentBuilder = apply { this.modelQualityAppSpecification = modelQualityAppSpecification }
override fun modelQualityBaselineConfig(modelQualityBaselineConfig: ModelQualityBaselineConfig): FluentBuilder = apply { this.modelQualityBaselineConfig = modelQualityBaselineConfig }
override fun modelQualityJobInput(modelQualityJobInput: ModelQualityJobInput): FluentBuilder = apply { this.modelQualityJobInput = modelQualityJobInput }
override fun modelQualityJobOutputConfig(modelQualityJobOutputConfig: MonitoringOutputConfig): FluentBuilder = apply { this.modelQualityJobOutputConfig = modelQualityJobOutputConfig }
override fun networkConfig(networkConfig: MonitoringNetworkConfig): FluentBuilder = apply { this.networkConfig = networkConfig }
override fun roleArn(roleArn: String): FluentBuilder = apply { this.roleArn = roleArn }
override fun stoppingCondition(stoppingCondition: MonitoringStoppingCondition): FluentBuilder = apply { this.stoppingCondition = stoppingCondition }
override fun tags(tags: List): FluentBuilder = apply { this.tags = tags }
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy