
commonMain.aws.sdk.kotlin.services.codeguruprofiler.model.BatchGetFrameMetricDataRequest.kt Maven / Gradle / Ivy
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!
package aws.sdk.kotlin.services.codeguruprofiler.model
import aws.smithy.kotlin.runtime.time.Instant
/**
* The structure representing the BatchGetFrameMetricDataRequest.
*/
public class BatchGetFrameMetricDataRequest private constructor(builder: Builder) {
/**
* The end time of the time period for the returned time series values. This is specified using the ISO 8601 format. For example, 2020-06-01T13:15:02.001Z represents 1 millisecond past June 1, 2020 1:15:02 PM UTC.
*/
public val endTime: aws.smithy.kotlin.runtime.time.Instant? = builder.endTime
/**
* The details of the metrics that are used to request a time series of values. The metric includes the name of the frame, the aggregation type to calculate the metric value for the frame, and the thread states to use to get the count for the metric value of the frame.
*/
public val frameMetrics: List? = builder.frameMetrics
/**
* The duration of the frame metrics used to return the time series values. Specify using the ISO 8601 format. The maximum period duration is one day (`PT24H` or `P1D`).
*/
public val period: kotlin.String? = builder.period
/**
* The name of the profiling group associated with the the frame metrics used to return the time series values.
*/
public val profilingGroupName: kotlin.String? = requireNotNull(builder.profilingGroupName) { "A non-null value must be provided for profilingGroupName" }
/**
* The start time of the time period for the frame metrics used to return the time series values. This is specified using the ISO 8601 format. For example, 2020-06-01T13:15:02.001Z represents 1 millisecond past June 1, 2020 1:15:02 PM UTC.
*/
public val startTime: aws.smithy.kotlin.runtime.time.Instant? = builder.startTime
/**
* The requested resolution of time steps for the returned time series of values. If the requested target resolution is not available due to data not being retained we provide a best effort result by falling back to the most granular available resolution after the target resolution. There are 3 valid values.
* + `P1D` — 1 day
* + `PT1H` — 1 hour
* + `PT5M` — 5 minutes
*/
public val targetResolution: aws.sdk.kotlin.services.codeguruprofiler.model.AggregationPeriod? = builder.targetResolution
public companion object {
public operator fun invoke(block: Builder.() -> kotlin.Unit): aws.sdk.kotlin.services.codeguruprofiler.model.BatchGetFrameMetricDataRequest = Builder().apply(block).build()
}
override fun toString(): kotlin.String = buildString {
append("BatchGetFrameMetricDataRequest(")
append("endTime=$endTime,")
append("frameMetrics=$frameMetrics,")
append("period=$period,")
append("profilingGroupName=$profilingGroupName,")
append("startTime=$startTime,")
append("targetResolution=$targetResolution")
append(")")
}
override fun hashCode(): kotlin.Int {
var result = endTime?.hashCode() ?: 0
result = 31 * result + (frameMetrics?.hashCode() ?: 0)
result = 31 * result + (period?.hashCode() ?: 0)
result = 31 * result + (profilingGroupName?.hashCode() ?: 0)
result = 31 * result + (startTime?.hashCode() ?: 0)
result = 31 * result + (targetResolution?.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 BatchGetFrameMetricDataRequest
if (endTime != other.endTime) return false
if (frameMetrics != other.frameMetrics) return false
if (period != other.period) return false
if (profilingGroupName != other.profilingGroupName) return false
if (startTime != other.startTime) return false
if (targetResolution != other.targetResolution) return false
return true
}
public inline fun copy(block: Builder.() -> kotlin.Unit = {}): aws.sdk.kotlin.services.codeguruprofiler.model.BatchGetFrameMetricDataRequest = Builder(this).apply(block).build()
public class Builder {
/**
* The end time of the time period for the returned time series values. This is specified using the ISO 8601 format. For example, 2020-06-01T13:15:02.001Z represents 1 millisecond past June 1, 2020 1:15:02 PM UTC.
*/
public var endTime: aws.smithy.kotlin.runtime.time.Instant? = null
/**
* The details of the metrics that are used to request a time series of values. The metric includes the name of the frame, the aggregation type to calculate the metric value for the frame, and the thread states to use to get the count for the metric value of the frame.
*/
public var frameMetrics: List? = null
/**
* The duration of the frame metrics used to return the time series values. Specify using the ISO 8601 format. The maximum period duration is one day (`PT24H` or `P1D`).
*/
public var period: kotlin.String? = null
/**
* The name of the profiling group associated with the the frame metrics used to return the time series values.
*/
public var profilingGroupName: kotlin.String? = null
/**
* The start time of the time period for the frame metrics used to return the time series values. This is specified using the ISO 8601 format. For example, 2020-06-01T13:15:02.001Z represents 1 millisecond past June 1, 2020 1:15:02 PM UTC.
*/
public var startTime: aws.smithy.kotlin.runtime.time.Instant? = null
/**
* The requested resolution of time steps for the returned time series of values. If the requested target resolution is not available due to data not being retained we provide a best effort result by falling back to the most granular available resolution after the target resolution. There are 3 valid values.
* + `P1D` — 1 day
* + `PT1H` — 1 hour
* + `PT5M` — 5 minutes
*/
public var targetResolution: aws.sdk.kotlin.services.codeguruprofiler.model.AggregationPeriod? = null
@PublishedApi
internal constructor()
@PublishedApi
internal constructor(x: aws.sdk.kotlin.services.codeguruprofiler.model.BatchGetFrameMetricDataRequest) : this() {
this.endTime = x.endTime
this.frameMetrics = x.frameMetrics
this.period = x.period
this.profilingGroupName = x.profilingGroupName
this.startTime = x.startTime
this.targetResolution = x.targetResolution
}
@PublishedApi
internal fun build(): aws.sdk.kotlin.services.codeguruprofiler.model.BatchGetFrameMetricDataRequest = BatchGetFrameMetricDataRequest(this)
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy