/* * 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 ListShards operation. /// Lists the shards in a stream and provides information about each shard. This operation /// has a limit of 1000 transactions per second per data stream. /// /// /// /// When invoking this API, it is recommended you use the StreamARN input /// parameter rather than the StreamName input parameter. /// /// /// /// This action does not list expired shards. For information about expired shards, see /// Data /// Routing, Data Persistence, and Shard State after a Reshard. /// /// /// /// This API is a new operation that is used by the Amazon Kinesis Client Library (KCL). /// If you have a fine-grained IAM policy that only allows specific operations, you must /// update your policy to allow calls to this API. For more information, see Controlling /// Access to Amazon Kinesis Data Streams Resources Using IAM. /// /// /// public partial class ListShardsRequest : AmazonKinesisRequest { private string _exclusiveStartShardId; private int? _maxResults; private string _nextToken; private ShardFilter _shardFilter; private string _streamARN; private DateTime? _streamCreationTimestamp; private string _streamName; /// /// Gets and sets the property ExclusiveStartShardId. /// /// Specify this parameter to indicate that you want to list the shards starting with /// the shard whose ID immediately follows ExclusiveStartShardId. /// /// /// /// If you don't specify this parameter, the default behavior is for ListShards /// to list the shards starting with the first one in the stream. /// /// /// /// You cannot specify this parameter if you specify NextToken. /// /// [AWSProperty(Min=1, Max=128)] public string ExclusiveStartShardId { get { return this._exclusiveStartShardId; } set { this._exclusiveStartShardId = value; } } // Check to see if ExclusiveStartShardId property is set internal bool IsSetExclusiveStartShardId() { return this._exclusiveStartShardId != null; } /// /// Gets and sets the property MaxResults. /// /// The maximum number of shards to return in a single call to ListShards. /// The maximum number of shards to return in a single call. The default value is 1000. /// If you specify a value greater than 1000, at most 1000 results are returned. /// /// /// /// When the number of shards to be listed is greater than the value of MaxResults, /// the response contains a NextToken value that you can use in a subsequent /// call to ListShards to list the next set of shards. /// /// [AWSProperty(Min=1, Max=10000)] public int MaxResults { get { return this._maxResults.GetValueOrDefault(); } set { this._maxResults = value; } } // Check to see if MaxResults property is set internal bool IsSetMaxResults() { return this._maxResults.HasValue; } /// /// Gets and sets the property NextToken. /// /// When the number of shards in the data stream is greater than the default value for /// the MaxResults parameter, or if you explicitly specify a value for MaxResults /// that is less than the number of shards in the data stream, the response includes a /// pagination token named NextToken. You can specify this NextToken /// value in a subsequent call to ListShards to list the next set of shards. /// /// /// /// Don't specify StreamName or StreamCreationTimestamp if you /// specify NextToken because the latter unambiguously identifies the stream. /// /// /// /// You can optionally specify a value for the MaxResults parameter when /// you specify NextToken. If you specify a MaxResults value /// that is less than the number of shards that the operation returns if you don't specify /// MaxResults, the response will contain a new NextToken value. /// You can use the new NextToken value in a subsequent call to the ListShards /// operation. /// /// /// /// Tokens expire after 300 seconds. When you obtain a value for NextToken /// in the response to a call to ListShards, you have 300 seconds to use /// that value. If you specify an expired token in a call to ListShards, /// you get ExpiredNextTokenException. /// /// /// [AWSProperty(Min=1, Max=1048576)] public string NextToken { get { return this._nextToken; } set { this._nextToken = value; } } // Check to see if NextToken property is set internal bool IsSetNextToken() { return this._nextToken != null; } /// /// Gets and sets the property ShardFilter. /// /// Enables you to filter out the response of the ListShards API. You can /// only specify one filter at a time. /// /// /// /// If you use the ShardFilter parameter when invoking the ListShards API, /// the Type is the required property and must be specified. If you specify /// the AT_TRIM_HORIZON, FROM_TRIM_HORIZON, or AT_LATEST /// types, you do not need to specify either the ShardId or the Timestamp /// optional properties. /// /// /// /// If you specify the AFTER_SHARD_ID type, you must also provide the value /// for the optional ShardId property. The ShardId property /// is identical in fuctionality to the ExclusiveStartShardId parameter of /// the ListShards API. When ShardId property is specified, /// the response includes the shards starting with the shard whose ID immediately follows /// the ShardId that you provided. /// /// /// /// If you specify the AT_TIMESTAMP or FROM_TIMESTAMP_ID type, /// you must also provide the value for the optional Timestamp property. /// If you specify the AT_TIMESTAMP type, then all shards that were open at the provided /// timestamp are returned. If you specify the FROM_TIMESTAMP type, then all shards starting /// from the provided timestamp to TIP are returned. /// /// public ShardFilter ShardFilter { get { return this._shardFilter; } set { this._shardFilter = value; } } // Check to see if ShardFilter property is set internal bool IsSetShardFilter() { return this._shardFilter != 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 StreamCreationTimestamp. /// /// Specify this input parameter to distinguish data streams that have the same name. /// For example, if you create a data stream and then delete it, and you later create /// another data stream with the same name, you can use this input parameter to specify /// which of the two streams you want to list the shards for. /// /// /// /// You cannot specify this parameter if you specify the NextToken parameter. /// /// public DateTime StreamCreationTimestamp { get { return this._streamCreationTimestamp.GetValueOrDefault(); } set { this._streamCreationTimestamp = value; } } // Check to see if StreamCreationTimestamp property is set internal bool IsSetStreamCreationTimestamp() { return this._streamCreationTimestamp.HasValue; } /// /// Gets and sets the property StreamName. /// /// The name of the data stream whose shards you want to list. /// /// /// /// You cannot specify this parameter if you specify the NextToken parameter. /// /// [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; } } }