/* * 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 UpdateShardCount operation. /// Updates the shard count of the specified stream to the specified number of shards. /// This API is only supported for the data streams with the provisioned capacity mode. /// /// /// /// When invoking this API, it is recommended you use the StreamARN input /// parameter rather than the StreamName input parameter. /// /// /// /// Updating the shard count is an asynchronous operation. Upon receiving the request, /// Kinesis Data Streams returns immediately and sets the status of the stream to UPDATING. /// After the update is complete, Kinesis Data Streams sets the status of the stream back /// to ACTIVE. Depending on the size of the stream, the scaling action could /// take a few minutes to complete. You can continue to read and write data to your stream /// while its status is UPDATING. /// /// /// /// To update the shard count, Kinesis Data Streams performs splits or merges on individual /// shards. This can cause short-lived shards to be created, in addition to the final /// shards. These short-lived shards count towards your total shard limit for your account /// in the Region. /// /// /// /// When using this operation, we recommend that you specify a target shard count that /// is a multiple of 25% (25%, 50%, 75%, 100%). You can specify any target value within /// your shard limit. However, if you specify a target that isn't a multiple of 25%, the /// scaling action might take longer to complete. /// /// /// /// This operation has the following default limits. By default, you cannot do the following: /// /// /// /// For the default limits for an Amazon Web Services account, see Streams /// Limits in the Amazon Kinesis Data Streams Developer Guide. To request an /// increase in the call rate limit, the shard limit for this API, or your overall shard /// limit, use the limits /// form. /// /// public partial class UpdateShardCountRequest : AmazonKinesisRequest { private ScalingType _scalingType; private string _streamARN; private string _streamName; private int? _targetShardCount; /// /// Gets and sets the property ScalingType. /// /// The scaling type. Uniform scaling creates shards of equal size. /// /// [AWSProperty(Required=true)] public ScalingType ScalingType { get { return this._scalingType; } set { this._scalingType = value; } } // Check to see if ScalingType property is set internal bool IsSetScalingType() { return this._scalingType != 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. /// /// [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 TargetShardCount. /// /// The new number of shards. This value has the following default limits. By default, /// you cannot do the following: /// /// /// [AWSProperty(Required=true, Min=1)] public int TargetShardCount { get { return this._targetShardCount.GetValueOrDefault(); } set { this._targetShardCount = value; } } // Check to see if TargetShardCount property is set internal bool IsSetTargetShardCount() { return this._targetShardCount.HasValue; } } }