smithy4s.com.amazonaws.kinesis.MergeShardsInput.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 input for MergeShards
.
* @param StreamName
* The name of the stream for the merge.
* @param ShardToMerge
* The shard ID of the shard to combine with the adjacent shard for the merge.
* @param AdjacentShardToMerge
* The shard ID of the adjacent shard for the merge.
* @param StreamARN
* The ARN of the stream.
*/
final case class MergeShardsInput(shardToMerge: ShardId, adjacentShardToMerge: ShardId, streamName: Option[StreamName] = None, streamARN: Option[StreamARN] = None)
object MergeShardsInput extends ShapeTag.Companion[MergeShardsInput] {
val id: ShapeId = ShapeId("com.amazonaws.kinesis", "MergeShardsInput")
val hints: Hints = Hints(
smithy.api.Documentation("Represents the input for MergeShards
.
"),
smithy.api.Input(),
).lazily
// constructor using the original order from the spec
private def make(streamName: Option[StreamName], shardToMerge: ShardId, adjacentShardToMerge: ShardId, streamARN: Option[StreamARN]): MergeShardsInput = MergeShardsInput(shardToMerge, adjacentShardToMerge, streamName, streamARN)
implicit val schema: Schema[MergeShardsInput] = struct(
StreamName.schema.optional[MergeShardsInput]("StreamName", _.streamName).addHints(smithy.api.Documentation("The name of the stream for the merge.
")),
ShardId.schema.required[MergeShardsInput]("ShardToMerge", _.shardToMerge).addHints(smithy.api.Documentation("The shard ID of the shard to combine with the adjacent shard for the merge.
")),
ShardId.schema.required[MergeShardsInput]("AdjacentShardToMerge", _.adjacentShardToMerge).addHints(smithy.api.Documentation("The shard ID of the adjacent shard for the merge.
")),
StreamARN.schema.optional[MergeShardsInput]("StreamARN", _.streamARN).addHints(smithy.api.Documentation("The ARN of the stream.
")),
)(make).withId(id).addHints(hints)
}