commonMain.aws.sdk.kotlin.services.autoscaling.model.GetPredictiveScalingForecastRequest.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of autoscaling-jvm Show documentation
Show all versions of autoscaling-jvm Show documentation
The AWS SDK for Kotlin client for Auto Scaling
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!
package aws.sdk.kotlin.services.autoscaling.model
import aws.smithy.kotlin.runtime.SdkDsl
import aws.smithy.kotlin.runtime.time.Instant
public class GetPredictiveScalingForecastRequest private constructor(builder: Builder) {
/**
* The name of the Auto Scaling group.
*/
public val autoScalingGroupName: kotlin.String? = builder.autoScalingGroupName
/**
* The exclusive end time of the time range for the forecast data to get. The maximum time duration between the start and end time is 30 days.
*
* Although this parameter can accept a date and time that is more than two days in the future, the availability of forecast data has limits. Amazon EC2 Auto Scaling only issues forecasts for periods of two days in advance.
*/
public val endTime: aws.smithy.kotlin.runtime.time.Instant? = builder.endTime
/**
* The name of the policy.
*/
public val policyName: kotlin.String? = builder.policyName
/**
* The inclusive start time of the time range for the forecast data to get. At most, the date and time can be one year before the current date and time.
*/
public val startTime: aws.smithy.kotlin.runtime.time.Instant? = builder.startTime
public companion object {
public operator fun invoke(block: Builder.() -> kotlin.Unit): aws.sdk.kotlin.services.autoscaling.model.GetPredictiveScalingForecastRequest = Builder().apply(block).build()
}
override fun toString(): kotlin.String = buildString {
append("GetPredictiveScalingForecastRequest(")
append("autoScalingGroupName=$autoScalingGroupName,")
append("endTime=$endTime,")
append("policyName=$policyName,")
append("startTime=$startTime")
append(")")
}
override fun hashCode(): kotlin.Int {
var result = autoScalingGroupName?.hashCode() ?: 0
result = 31 * result + (endTime?.hashCode() ?: 0)
result = 31 * result + (policyName?.hashCode() ?: 0)
result = 31 * result + (startTime?.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 GetPredictiveScalingForecastRequest
if (autoScalingGroupName != other.autoScalingGroupName) return false
if (endTime != other.endTime) return false
if (policyName != other.policyName) return false
if (startTime != other.startTime) return false
return true
}
public inline fun copy(block: Builder.() -> kotlin.Unit = {}): aws.sdk.kotlin.services.autoscaling.model.GetPredictiveScalingForecastRequest = Builder(this).apply(block).build()
@SdkDsl
public class Builder {
/**
* The name of the Auto Scaling group.
*/
public var autoScalingGroupName: kotlin.String? = null
/**
* The exclusive end time of the time range for the forecast data to get. The maximum time duration between the start and end time is 30 days.
*
* Although this parameter can accept a date and time that is more than two days in the future, the availability of forecast data has limits. Amazon EC2 Auto Scaling only issues forecasts for periods of two days in advance.
*/
public var endTime: aws.smithy.kotlin.runtime.time.Instant? = null
/**
* The name of the policy.
*/
public var policyName: kotlin.String? = null
/**
* The inclusive start time of the time range for the forecast data to get. At most, the date and time can be one year before the current date and time.
*/
public var startTime: aws.smithy.kotlin.runtime.time.Instant? = null
@PublishedApi
internal constructor()
@PublishedApi
internal constructor(x: aws.sdk.kotlin.services.autoscaling.model.GetPredictiveScalingForecastRequest) : this() {
this.autoScalingGroupName = x.autoScalingGroupName
this.endTime = x.endTime
this.policyName = x.policyName
this.startTime = x.startTime
}
@PublishedApi
internal fun build(): aws.sdk.kotlin.services.autoscaling.model.GetPredictiveScalingForecastRequest = GetPredictiveScalingForecastRequest(this)
internal fun correctErrors(): Builder {
return this
}
}
}