smithy4s.com.amazonaws.kinesis.EnhancedMonitoringOutput.scala Maven / Gradle / Ivy
package com.amazonaws.kinesis
import smithy4s.Hints
import smithy4s.Schema
import smithy4s.ShapeId
import smithy4s.ShapeTag
import smithy4s.schema.Schema.struct
/** Represents the output for EnableEnhancedMonitoring and DisableEnhancedMonitoring.
* @param StreamName
* The name of the Kinesis data stream.
* @param CurrentShardLevelMetrics
* Represents the current state of the metrics that are in the enhanced state before the
* operation.
* @param DesiredShardLevelMetrics
* Represents the list of all the metrics that would be in the enhanced state after the
* operation.
* @param StreamARN
* The ARN of the stream.
*/
final case class EnhancedMonitoringOutput(streamName: Option[StreamName] = None, currentShardLevelMetrics: Option[List[MetricsName]] = None, desiredShardLevelMetrics: Option[List[MetricsName]] = None, streamARN: Option[StreamARN] = None)
object EnhancedMonitoringOutput extends ShapeTag.Companion[EnhancedMonitoringOutput] {
val id: ShapeId = ShapeId("com.amazonaws.kinesis", "EnhancedMonitoringOutput")
val hints: Hints = Hints(
smithy.api.Documentation("Represents the output for EnableEnhancedMonitoring and DisableEnhancedMonitoring.
"),
).lazily
// constructor using the original order from the spec
private def make(streamName: Option[StreamName], currentShardLevelMetrics: Option[List[MetricsName]], desiredShardLevelMetrics: Option[List[MetricsName]], streamARN: Option[StreamARN]): EnhancedMonitoringOutput = EnhancedMonitoringOutput(streamName, currentShardLevelMetrics, desiredShardLevelMetrics, streamARN)
implicit val schema: Schema[EnhancedMonitoringOutput] = struct(
StreamName.schema.optional[EnhancedMonitoringOutput]("StreamName", _.streamName).addHints(smithy.api.Documentation("The name of the Kinesis data stream.
")),
MetricsNameList.underlyingSchema.optional[EnhancedMonitoringOutput]("CurrentShardLevelMetrics", _.currentShardLevelMetrics).addHints(smithy.api.Documentation("Represents the current state of the metrics that are in the enhanced state before the\n operation.
")),
MetricsNameList.underlyingSchema.optional[EnhancedMonitoringOutput]("DesiredShardLevelMetrics", _.desiredShardLevelMetrics).addHints(smithy.api.Documentation("Represents the list of all the metrics that would be in the enhanced state after the\n operation.
")),
StreamARN.schema.optional[EnhancedMonitoringOutput]("StreamARN", _.streamARN).addHints(smithy.api.Documentation("The ARN of the stream.
")),
)(make).withId(id).addHints(hints)
}