smithy4s.com.amazonaws.kinesis.CreateStreamInput.scala Maven / Gradle / Ivy
Show all versions of kinesis4cats-smithy4s-client_native0.4_3 Show documentation
package com.amazonaws.kinesis
import smithy4s.Hints
import smithy4s.Schema
import smithy4s.ShapeId
import smithy4s.ShapeTag
import smithy4s.schema.Schema.struct
/** Represents the input for CreateStream
.
* @param StreamName
* A name to identify the stream. The stream name is scoped to the Amazon Web Services
* account used by the application that creates the stream. It is also scoped by Amazon Web Services Region. That is, two streams in two different Amazon Web Services accounts
* can have the same name. Two streams in the same Amazon Web Services account but in two
* different Regions can also have the same name.
* @param ShardCount
* The number of shards that the stream will use. The throughput of the stream is a
* function of the number of shards; more shards are required for greater provisioned
* throughput.
* @param StreamModeDetails
* Indicates the capacity mode of the 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 CreateStreamInput(streamName: StreamName, shardCount: Option[PositiveIntegerObject] = None, streamModeDetails: Option[StreamModeDetails] = None)
object CreateStreamInput extends ShapeTag.Companion[CreateStreamInput] {
val id: ShapeId = ShapeId("com.amazonaws.kinesis", "CreateStreamInput")
val hints: Hints = Hints(
smithy.api.Documentation("Represents the input for CreateStream
.
"),
smithy.api.Input(),
).lazily
// constructor using the original order from the spec
private def make(streamName: StreamName, shardCount: Option[PositiveIntegerObject], streamModeDetails: Option[StreamModeDetails]): CreateStreamInput = CreateStreamInput(streamName, shardCount, streamModeDetails)
implicit val schema: Schema[CreateStreamInput] = struct(
StreamName.schema.required[CreateStreamInput]("StreamName", _.streamName).addHints(smithy.api.Documentation("A name to identify the stream. The stream name is scoped to the Amazon Web Services\n account used by the application that creates the stream. It is also scoped by Amazon Web Services Region. That is, two streams in two different Amazon Web Services accounts\n can have the same name. Two streams in the same Amazon Web Services account but in two\n different Regions can also have the same name.
")),
PositiveIntegerObject.schema.optional[CreateStreamInput]("ShardCount", _.shardCount).addHints(smithy.api.Documentation("The number of shards that the stream will use. The throughput of the stream is a\n function of the number of shards; more shards are required for greater provisioned\n throughput.
")),
StreamModeDetails.schema.optional[CreateStreamInput]("StreamModeDetails", _.streamModeDetails).addHints(smithy.api.Documentation(" Indicates the capacity mode of the data stream. Currently, in Kinesis Data Streams,\n you can choose between an on-demand capacity mode and a\n provisioned capacity mode for your data\n streams.
")),
)(make).withId(id).addHints(hints)
}