/* * 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 MergeShards operation. /// Merges two adjacent shards in a Kinesis data stream and combines them into a single /// shard to reduce the stream's capacity to ingest and transport data. This API is only /// supported for the data streams with the provisioned capacity mode. Two shards are /// considered adjacent if the union of the hash key ranges for the two shards form a /// contiguous set with no gaps. For example, if you have two shards, one with a hash /// key range of 276...381 and the other with a hash key range of 382...454, then you /// could merge these two shards into a single shard that would have a hash key range /// of 276...454. After the merge, the single child shard receives data for all hash key /// values covered by the two parent shards. /// /// /// /// When invoking this API, it is recommended you use the StreamARN input /// parameter rather than the StreamName input parameter. /// /// /// /// MergeShards is called when there is a need to reduce the overall capacity /// of a stream because of excess capacity that is not being used. You must specify the /// shard to be merged and the adjacent shard for a stream. For more information about /// merging shards, see Merge /// Two Shards in the Amazon Kinesis Data Streams Developer Guide. /// /// /// /// If the stream is in the ACTIVE state, you can call MergeShards. /// If a stream is in the CREATING, UPDATING, or DELETING /// state, MergeShards returns a ResourceInUseException. If /// the specified stream does not exist, MergeShards returns a ResourceNotFoundException. /// /// /// /// /// You can use DescribeStreamSummary to check the state of the stream, which is /// returned in StreamStatus. /// /// /// /// MergeShards is an asynchronous operation. Upon receiving a MergeShards /// request, Amazon Kinesis Data Streams immediately returns a response and sets the StreamStatus /// to UPDATING. After the operation is completed, Kinesis Data Streams sets /// the StreamStatus to ACTIVE. Read and write operations continue /// to work while the stream is in the UPDATING state. /// /// /// /// You use DescribeStreamSummary and the ListShards APIs to determine the /// shard IDs that are specified in the MergeShards request. /// /// /// /// If you try to operate on too many streams in parallel using CreateStream, DeleteStream, /// MergeShards, or SplitShard, you receive a LimitExceededException. /// /// /// /// /// MergeShards has a limit of five transactions per second per account. /// /// public partial class MergeShardsRequest : AmazonKinesisRequest { private string _adjacentShardToMerge; private string _shardToMerge; private string _streamARN; private string _streamName; /// /// Gets and sets the property AdjacentShardToMerge. /// /// The shard ID of the adjacent shard for the merge. /// /// [AWSProperty(Required=true, Min=1, Max=128)] public string AdjacentShardToMerge { get { return this._adjacentShardToMerge; } set { this._adjacentShardToMerge = value; } } // Check to see if AdjacentShardToMerge property is set internal bool IsSetAdjacentShardToMerge() { return this._adjacentShardToMerge != null; } /// /// Gets and sets the property ShardToMerge. /// /// The shard ID of the shard to combine with the adjacent shard for the merge. /// /// [AWSProperty(Required=true, Min=1, Max=128)] public string ShardToMerge { get { return this._shardToMerge; } set { this._shardToMerge = value; } } // Check to see if ShardToMerge property is set internal bool IsSetShardToMerge() { return this._shardToMerge != 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 stream for the merge. /// /// [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; } } }