commonMain.aws.sdk.kotlin.services.cloudwatch.model.PutAnomalyDetectorRequest.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of cloudwatch-jvm Show documentation
Show all versions of cloudwatch-jvm Show documentation
The AWS SDK for Kotlin client for CloudWatch
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!
package aws.sdk.kotlin.services.cloudwatch.model
import aws.smithy.kotlin.runtime.SdkDsl
public class PutAnomalyDetectorRequest private constructor(builder: Builder) {
/**
* The configuration specifies details about how the anomaly detection model is to be trained, including time ranges to exclude when training and updating the model. You can specify as many as 10 time ranges.
*
* The configuration can also include the time zone to use for the metric.
*/
public val configuration: aws.sdk.kotlin.services.cloudwatch.model.AnomalyDetectorConfiguration? = builder.configuration
/**
* The metric dimensions to create the anomaly detection model for.
*/
@Deprecated("Use SingleMetricAnomalyDetector.")
public val dimensions: List? = builder.dimensions
/**
* Use this object to include parameters to provide information about your metric to CloudWatch to help it build more accurate anomaly detection models. Currently, it includes the `PeriodicSpikes` parameter.
*/
public val metricCharacteristics: aws.sdk.kotlin.services.cloudwatch.model.MetricCharacteristics? = builder.metricCharacteristics
/**
* The metric math anomaly detector to be created.
*
* When using `MetricMathAnomalyDetector`, you cannot include the following parameters in the same operation:
* + `Dimensions`
* + `MetricName`
* + `Namespace`
* + `Stat`
* + the `SingleMetricAnomalyDetector` parameters of `PutAnomalyDetectorInput`
*
* Instead, specify the metric math anomaly detector attributes as part of the property `MetricMathAnomalyDetector`.
*/
public val metricMathAnomalyDetector: aws.sdk.kotlin.services.cloudwatch.model.MetricMathAnomalyDetector? = builder.metricMathAnomalyDetector
/**
* The name of the metric to create the anomaly detection model for.
*/
@Deprecated("Use SingleMetricAnomalyDetector.")
public val metricName: kotlin.String? = builder.metricName
/**
* The namespace of the metric to create the anomaly detection model for.
*/
@Deprecated("Use SingleMetricAnomalyDetector.")
public val namespace: kotlin.String? = builder.namespace
/**
* A single metric anomaly detector to be created.
*
* When using `SingleMetricAnomalyDetector`, you cannot include the following parameters in the same operation:
* + `Dimensions`
* + `MetricName`
* + `Namespace`
* + `Stat`
* + the `MetricMathAnomalyDetector` parameters of `PutAnomalyDetectorInput`
*
* Instead, specify the single metric anomaly detector attributes as part of the property `SingleMetricAnomalyDetector`.
*/
public val singleMetricAnomalyDetector: aws.sdk.kotlin.services.cloudwatch.model.SingleMetricAnomalyDetector? = builder.singleMetricAnomalyDetector
/**
* The statistic to use for the metric and the anomaly detection model.
*/
@Deprecated("Use SingleMetricAnomalyDetector.")
public val stat: kotlin.String? = builder.stat
public companion object {
public operator fun invoke(block: Builder.() -> kotlin.Unit): aws.sdk.kotlin.services.cloudwatch.model.PutAnomalyDetectorRequest = Builder().apply(block).build()
}
override fun toString(): kotlin.String = buildString {
append("PutAnomalyDetectorRequest(")
append("configuration=$configuration,")
append("dimensions=$dimensions,")
append("metricCharacteristics=$metricCharacteristics,")
append("metricMathAnomalyDetector=$metricMathAnomalyDetector,")
append("metricName=$metricName,")
append("namespace=$namespace,")
append("singleMetricAnomalyDetector=$singleMetricAnomalyDetector,")
append("stat=$stat")
append(")")
}
override fun hashCode(): kotlin.Int {
var result = configuration?.hashCode() ?: 0
result = 31 * result + (dimensions?.hashCode() ?: 0)
result = 31 * result + (metricCharacteristics?.hashCode() ?: 0)
result = 31 * result + (metricMathAnomalyDetector?.hashCode() ?: 0)
result = 31 * result + (metricName?.hashCode() ?: 0)
result = 31 * result + (namespace?.hashCode() ?: 0)
result = 31 * result + (singleMetricAnomalyDetector?.hashCode() ?: 0)
result = 31 * result + (stat?.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 PutAnomalyDetectorRequest
if (configuration != other.configuration) return false
if (dimensions != other.dimensions) return false
if (metricCharacteristics != other.metricCharacteristics) return false
if (metricMathAnomalyDetector != other.metricMathAnomalyDetector) return false
if (metricName != other.metricName) return false
if (namespace != other.namespace) return false
if (singleMetricAnomalyDetector != other.singleMetricAnomalyDetector) return false
if (stat != other.stat) return false
return true
}
public inline fun copy(block: Builder.() -> kotlin.Unit = {}): aws.sdk.kotlin.services.cloudwatch.model.PutAnomalyDetectorRequest = Builder(this).apply(block).build()
@SdkDsl
public class Builder {
/**
* The configuration specifies details about how the anomaly detection model is to be trained, including time ranges to exclude when training and updating the model. You can specify as many as 10 time ranges.
*
* The configuration can also include the time zone to use for the metric.
*/
public var configuration: aws.sdk.kotlin.services.cloudwatch.model.AnomalyDetectorConfiguration? = null
/**
* The metric dimensions to create the anomaly detection model for.
*/
@Deprecated("Use SingleMetricAnomalyDetector.")
public var dimensions: List? = null
/**
* Use this object to include parameters to provide information about your metric to CloudWatch to help it build more accurate anomaly detection models. Currently, it includes the `PeriodicSpikes` parameter.
*/
public var metricCharacteristics: aws.sdk.kotlin.services.cloudwatch.model.MetricCharacteristics? = null
/**
* The metric math anomaly detector to be created.
*
* When using `MetricMathAnomalyDetector`, you cannot include the following parameters in the same operation:
* + `Dimensions`
* + `MetricName`
* + `Namespace`
* + `Stat`
* + the `SingleMetricAnomalyDetector` parameters of `PutAnomalyDetectorInput`
*
* Instead, specify the metric math anomaly detector attributes as part of the property `MetricMathAnomalyDetector`.
*/
public var metricMathAnomalyDetector: aws.sdk.kotlin.services.cloudwatch.model.MetricMathAnomalyDetector? = null
/**
* The name of the metric to create the anomaly detection model for.
*/
@Deprecated("Use SingleMetricAnomalyDetector.")
public var metricName: kotlin.String? = null
/**
* The namespace of the metric to create the anomaly detection model for.
*/
@Deprecated("Use SingleMetricAnomalyDetector.")
public var namespace: kotlin.String? = null
/**
* A single metric anomaly detector to be created.
*
* When using `SingleMetricAnomalyDetector`, you cannot include the following parameters in the same operation:
* + `Dimensions`
* + `MetricName`
* + `Namespace`
* + `Stat`
* + the `MetricMathAnomalyDetector` parameters of `PutAnomalyDetectorInput`
*
* Instead, specify the single metric anomaly detector attributes as part of the property `SingleMetricAnomalyDetector`.
*/
public var singleMetricAnomalyDetector: aws.sdk.kotlin.services.cloudwatch.model.SingleMetricAnomalyDetector? = null
/**
* The statistic to use for the metric and the anomaly detection model.
*/
@Deprecated("Use SingleMetricAnomalyDetector.")
public var stat: kotlin.String? = null
@PublishedApi
internal constructor()
@PublishedApi
internal constructor(x: aws.sdk.kotlin.services.cloudwatch.model.PutAnomalyDetectorRequest) : this() {
this.configuration = x.configuration
this.dimensions = x.dimensions
this.metricCharacteristics = x.metricCharacteristics
this.metricMathAnomalyDetector = x.metricMathAnomalyDetector
this.metricName = x.metricName
this.namespace = x.namespace
this.singleMetricAnomalyDetector = x.singleMetricAnomalyDetector
this.stat = x.stat
}
@PublishedApi
internal fun build(): aws.sdk.kotlin.services.cloudwatch.model.PutAnomalyDetectorRequest = PutAnomalyDetectorRequest(this)
/**
* construct an [aws.sdk.kotlin.services.cloudwatch.model.AnomalyDetectorConfiguration] inside the given [block]
*/
public fun configuration(block: aws.sdk.kotlin.services.cloudwatch.model.AnomalyDetectorConfiguration.Builder.() -> kotlin.Unit) {
this.configuration = aws.sdk.kotlin.services.cloudwatch.model.AnomalyDetectorConfiguration.invoke(block)
}
/**
* construct an [aws.sdk.kotlin.services.cloudwatch.model.MetricCharacteristics] inside the given [block]
*/
public fun metricCharacteristics(block: aws.sdk.kotlin.services.cloudwatch.model.MetricCharacteristics.Builder.() -> kotlin.Unit) {
this.metricCharacteristics = aws.sdk.kotlin.services.cloudwatch.model.MetricCharacteristics.invoke(block)
}
/**
* construct an [aws.sdk.kotlin.services.cloudwatch.model.MetricMathAnomalyDetector] inside the given [block]
*/
public fun metricMathAnomalyDetector(block: aws.sdk.kotlin.services.cloudwatch.model.MetricMathAnomalyDetector.Builder.() -> kotlin.Unit) {
this.metricMathAnomalyDetector = aws.sdk.kotlin.services.cloudwatch.model.MetricMathAnomalyDetector.invoke(block)
}
/**
* construct an [aws.sdk.kotlin.services.cloudwatch.model.SingleMetricAnomalyDetector] inside the given [block]
*/
public fun singleMetricAnomalyDetector(block: aws.sdk.kotlin.services.cloudwatch.model.SingleMetricAnomalyDetector.Builder.() -> kotlin.Unit) {
this.singleMetricAnomalyDetector = aws.sdk.kotlin.services.cloudwatch.model.SingleMetricAnomalyDetector.invoke(block)
}
internal fun correctErrors(): Builder {
return this
}
}
}