smithy4s.com.amazonaws.kinesis.StreamSummary.scala Maven / Gradle / Ivy
package com.amazonaws.kinesis
import smithy4s.Hints
import smithy4s.Schema
import smithy4s.ShapeId
import smithy4s.ShapeTag
import smithy4s.Timestamp
import smithy4s.schema.Schema.struct
import smithy4s.schema.Schema.timestamp
/** The summary of a stream.
* @param StreamARN
* The ARN of the stream.
* @param StreamCreationTimestamp
* The timestamp at which the stream was created.
* @param StreamStatus
* The status of the stream.
* @param StreamName
* The name of a stream.
* @param StreamModeDetails
* Specifies the capacity mode to which you want to set your data stream. Currently, in
* Kinesis Data Streams, you can choose between an on-demand capacity mode and a provisioned capacity mode for your data streams.
*/
final case class StreamSummary(streamName: StreamName, streamARN: StreamARN, streamStatus: StreamStatus, streamModeDetails: Option[StreamModeDetails] = None, streamCreationTimestamp: Option[Timestamp] = None)
object StreamSummary extends ShapeTag.Companion[StreamSummary] {
val id: ShapeId = ShapeId("com.amazonaws.kinesis", "StreamSummary")
val hints: Hints = Hints(
smithy.api.Documentation("The summary of a stream.
"),
).lazily
// constructor using the original order from the spec
private def make(streamName: StreamName, streamARN: StreamARN, streamStatus: StreamStatus, streamModeDetails: Option[StreamModeDetails], streamCreationTimestamp: Option[Timestamp]): StreamSummary = StreamSummary(streamName, streamARN, streamStatus, streamModeDetails, streamCreationTimestamp)
implicit val schema: Schema[StreamSummary] = struct(
StreamName.schema.required[StreamSummary]("StreamName", _.streamName).addHints(smithy.api.Documentation("The name of a stream.
")),
StreamARN.schema.required[StreamSummary]("StreamARN", _.streamARN).addHints(smithy.api.Documentation("The ARN of the stream.
")),
StreamStatus.schema.required[StreamSummary]("StreamStatus", _.streamStatus).addHints(smithy.api.Documentation("The status of the stream.
")),
StreamModeDetails.schema.optional[StreamSummary]("StreamModeDetails", _.streamModeDetails),
timestamp.optional[StreamSummary]("StreamCreationTimestamp", _.streamCreationTimestamp).addHints(smithy.api.Documentation("The timestamp at which the stream was created.
")),
)(make).withId(id).addHints(hints)
}