/* * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). * You may not use this file except in compliance with the License. * A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either * express or implied. See the License for the specific language governing * permissions and limitations under the License. */ /* * Do not modify this file. This file is generated from the kinesis-2013-12-02.normal.json service model. */ using System; using System.Collections.Generic; using System.Xml.Serialization; using System.Text; using System.IO; using System.Net; using Amazon.Runtime; using Amazon.Runtime.Internal; namespace Amazon.Kinesis.Model { /// /// Container for the parameters to the GetShardIterator operation. /// Gets an Amazon Kinesis shard iterator. A shard iterator expires 5 minutes after it /// is returned to the requester. /// /// /// /// When invoking this API, it is recommended you use the StreamARN input /// parameter rather than the StreamName input parameter. /// /// /// /// A shard iterator specifies the shard position from which to start reading data records /// sequentially. The position is specified using the sequence number of a data record /// in a shard. A sequence number is the identifier associated with every record ingested /// in the stream, and is assigned when a record is put into the stream. Each stream has /// one or more shards. /// /// /// /// You must specify the shard iterator type. For example, you can set the ShardIteratorType /// parameter to read exactly from the position denoted by a specific sequence number /// by using the AT_SEQUENCE_NUMBER shard iterator type. Alternatively, the /// parameter can read right after the sequence number by using the AFTER_SEQUENCE_NUMBER /// shard iterator type, using sequence numbers returned by earlier calls to PutRecord, /// PutRecords, GetRecords, or DescribeStream. In the request, you /// can specify the shard iterator type AT_TIMESTAMP to read records from /// an arbitrary point in time, TRIM_HORIZON to cause ShardIterator /// to point to the last untrimmed record in the shard in the system (the oldest data /// record in the shard), or LATEST so that you always read the most recent /// data in the shard. /// /// /// /// When you read repeatedly from a stream, use a GetShardIterator request to get /// the first shard iterator for use in your first GetRecords request and for subsequent /// reads use the shard iterator returned by the GetRecords request in NextShardIterator. /// A new shard iterator is returned by every GetRecords request in NextShardIterator, /// which you use in the ShardIterator parameter of the next GetRecords /// request. /// /// /// /// If a GetShardIterator request is made too often, you receive a ProvisionedThroughputExceededException. /// For more information about throughput limits, see GetRecords, and Streams /// Limits in the Amazon Kinesis Data Streams Developer Guide. /// /// /// /// If the shard is closed, GetShardIterator returns a valid iterator for the last /// sequence number of the shard. A shard can be closed as a result of using SplitShard /// or MergeShards. /// /// /// /// GetShardIterator has a limit of five transactions per second per account per /// open shard. /// /// public partial class GetShardIteratorRequest : AmazonKinesisRequest { private string _shardId; private ShardIteratorType _shardIteratorType; private string _startingSequenceNumber; private string _streamARN; private string _streamName; private DateTime? _timestamp; /// /// Gets and sets the property ShardId. /// /// The shard ID of the Kinesis Data Streams shard to get the iterator for. /// /// [AWSProperty(Required=true, Min=1, Max=128)] public string ShardId { get { return this._shardId; } set { this._shardId = value; } } // Check to see if ShardId property is set internal bool IsSetShardId() { return this._shardId != null; } /// /// Gets and sets the property 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: /// /// /// [AWSProperty(Required=true)] public ShardIteratorType ShardIteratorType { get { return this._shardIteratorType; } set { this._shardIteratorType = value; } } // Check to see if ShardIteratorType property is set internal bool IsSetShardIteratorType() { return this._shardIteratorType != null; } /// /// Gets and sets the property 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. /// /// public string StartingSequenceNumber { get { return this._startingSequenceNumber; } set { this._startingSequenceNumber = value; } } // Check to see if StartingSequenceNumber property is set internal bool IsSetStartingSequenceNumber() { return this._startingSequenceNumber != null; } /// /// Gets and sets the property StreamARN. /// /// The ARN of the stream. /// /// [AWSProperty(Min=1, Max=2048)] public string StreamARN { get { return this._streamARN; } set { this._streamARN = value; } } // Check to see if StreamARN property is set internal bool IsSetStreamARN() { return this._streamARN != null; } /// /// Gets and sets the property StreamName. /// /// The name of the Amazon Kinesis data stream. /// /// [AWSProperty(Min=1, Max=128)] public string StreamName { get { return this._streamName; } set { this._streamName = value; } } // Check to see if StreamName property is set internal bool IsSetStreamName() { return this._streamName != null; } /// /// Gets and sets the property 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). /// /// public DateTime Timestamp { get { return this._timestamp.GetValueOrDefault(); } set { this._timestamp = value; } } // Check to see if Timestamp property is set internal bool IsSetTimestamp() { return this._timestamp.HasValue; } } }