smithy4s.com.amazonaws.kinesis.GetShardIteratorInput.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
/** Represents the input for GetShardIterator
.
* @param StreamARN
* The ARN of the stream.
* @param Timestamp
* The time stamp of the data record from which to start reading. Used with shard
* iterator type AT_TIMESTAMP. A time stamp is the Unix epoch date with precision in
* milliseconds. For example, 2016-04-04T19:58:46.480-00:00
or
* 1459799926.480
. If a record with this exact time stamp does not exist,
* the iterator returned is for the next (later) record. If the time stamp is older than
* the current trim horizon, the iterator returned is for the oldest untrimmed data record
* (TRIM_HORIZON).
* @param ShardId
* The shard ID of the Kinesis Data Streams shard to get the iterator for.
* @param StreamName
* The name of the Amazon Kinesis data stream.
* @param ShardIteratorType
* Determines how the shard iterator is used to start reading data records from the
* shard.
* The following are the valid Amazon Kinesis shard iterator types:
*
* -
*
AT_SEQUENCE_NUMBER - Start reading from the position denoted by a specific
* sequence number, provided in the value
* StartingSequenceNumber
.
*
* -
*
AFTER_SEQUENCE_NUMBER - Start reading right after the position denoted by a
* specific sequence number, provided in the value
* StartingSequenceNumber
.
*
* -
*
AT_TIMESTAMP - Start reading from the position denoted by a specific time
* stamp, provided in the value Timestamp
.
*
* -
*
TRIM_HORIZON - Start reading at the last untrimmed record in the shard in the
* system, which is the oldest data record in the shard.
*
* -
*
LATEST - Start reading just after the most recent record in the shard, so that
* you always read the most recent data in the shard.
*
*
* @param StartingSequenceNumber
* The sequence number of the data record in the shard from which to start reading. Used
* with shard iterator type AT_SEQUENCE_NUMBER and AFTER_SEQUENCE_NUMBER.
*/
final case class GetShardIteratorInput(shardId: ShardId, shardIteratorType: ShardIteratorType, streamName: Option[StreamName] = None, startingSequenceNumber: Option[SequenceNumber] = None, timestamp: Option[Timestamp] = None, streamARN: Option[StreamARN] = None)
object GetShardIteratorInput extends ShapeTag.Companion[GetShardIteratorInput] {
val id: ShapeId = ShapeId("com.amazonaws.kinesis", "GetShardIteratorInput")
val hints: Hints = Hints(
smithy.api.Documentation("Represents the input for GetShardIterator
.
"),
smithy.api.Input(),
).lazily
// constructor using the original order from the spec
private def make(streamName: Option[StreamName], shardId: ShardId, shardIteratorType: ShardIteratorType, startingSequenceNumber: Option[SequenceNumber], timestamp: Option[Timestamp], streamARN: Option[StreamARN]): GetShardIteratorInput = GetShardIteratorInput(shardId, shardIteratorType, streamName, startingSequenceNumber, timestamp, streamARN)
implicit val schema: Schema[GetShardIteratorInput] = struct(
StreamName.schema.optional[GetShardIteratorInput]("StreamName", _.streamName).addHints(smithy.api.Documentation("The name of the Amazon Kinesis data stream.
")),
ShardId.schema.required[GetShardIteratorInput]("ShardId", _.shardId).addHints(smithy.api.Documentation("The shard ID of the Kinesis Data Streams shard to get the iterator for.
")),
ShardIteratorType.schema.required[GetShardIteratorInput]("ShardIteratorType", _.shardIteratorType).addHints(smithy.api.Documentation("Determines how the shard iterator is used to start reading data records from the\n shard.
\n The following are the valid Amazon Kinesis shard iterator types:
\n \n - \n
AT_SEQUENCE_NUMBER - Start reading from the position denoted by a specific\n sequence number, provided in the value\n StartingSequenceNumber
.
\n \n - \n
AFTER_SEQUENCE_NUMBER - Start reading right after the position denoted by a\n specific sequence number, provided in the value\n StartingSequenceNumber
.
\n \n - \n
AT_TIMESTAMP - Start reading from the position denoted by a specific time\n stamp, provided in the value Timestamp
.
\n \n - \n
TRIM_HORIZON - Start reading at the last untrimmed record in the shard in the\n system, which is the oldest data record in the shard.
\n \n - \n
LATEST - Start reading just after the most recent record in the shard, so that\n you always read the most recent data in the shard.
\n \n
")),
SequenceNumber.schema.optional[GetShardIteratorInput]("StartingSequenceNumber", _.startingSequenceNumber).addHints(smithy.api.Documentation("The sequence number of the data record in the shard from which to start reading. Used\n with shard iterator type AT_SEQUENCE_NUMBER and AFTER_SEQUENCE_NUMBER.
")),
timestamp.optional[GetShardIteratorInput]("Timestamp", _.timestamp).addHints(smithy.api.Documentation("The time stamp of the data record from which to start reading. Used with shard\n iterator type AT_TIMESTAMP. A time stamp is the Unix epoch date with precision in\n milliseconds. For example, 2016-04-04T19:58:46.480-00:00
or\n 1459799926.480
. If a record with this exact time stamp does not exist,\n the iterator returned is for the next (later) record. If the time stamp is older than\n the current trim horizon, the iterator returned is for the oldest untrimmed data record\n (TRIM_HORIZON).
")),
StreamARN.schema.optional[GetShardIteratorInput]("StreamARN", _.streamARN).addHints(smithy.api.Documentation("The ARN of the stream.
")),
)(make).withId(id).addHints(hints)
}