/* * Copyright 2010-2014 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 Amazon.Runtime; using Amazon.Runtime.Internal; namespace Amazon.Kinesis.Model { /// /// Container for the parameters to the CreateStream operation. /// Creates a Kinesis data stream. A stream captures and transports data records that /// are continuously emitted from different data sources or producers. Scale-out /// within a stream is explicitly supported by means of shards, which are uniquely identified /// groups of data records in a stream. /// /// /// /// You specify and control the number of shards that a stream is composed of. Each shard /// can support reads up to five transactions per second, up to a maximum data read total /// of 2 MB per second. Each shard can support writes up to 1,000 records per second, /// up to a maximum data write total of 1 MB per second. If the amount of data input increases /// or decreases, you can add or remove shards. /// /// /// /// The stream name identifies the stream. The name is scoped to the AWS account used /// by the application. It is also scoped by AWS Region. That is, two streams in two different /// accounts can have the same name, and two streams in the same account, but in two different /// Regions, can have the same name. /// /// /// /// CreateStream is an asynchronous operation. Upon receiving a CreateStream /// request, Kinesis Data Streams immediately returns and sets the stream status to CREATING. /// After the stream is created, Kinesis Data Streams sets the stream status to ACTIVE. /// You should perform read and write operations only on an ACTIVE stream. /// /// /// /// /// You receive a LimitExceededException when making a CreateStream /// request when you try to do one of the following: /// /// /// /// For the default shard limit for an AWS account, see Amazon /// Kinesis Data Streams Limits in the Amazon Kinesis Data Streams Developer Guide. /// To increase this limit, contact /// AWS Support. /// /// /// /// You can use DescribeStream to check the stream status, which is returned /// in StreamStatus. /// /// /// /// CreateStream has a limit of five transactions per second per account. /// /// public partial class CreateStreamRequest : AmazonKinesisRequest { private int? _shardCount; private string _streamName; /// /// Gets and sets the property ShardCount. /// /// The number of shards that the stream will use. The throughput of the stream is a function /// of the number of shards; more shards are required for greater provisioned throughput. /// /// /// /// DefaultShardLimit; /// /// [AWSProperty(Required=true, Min=1, Max=100000)] public int ShardCount { get { return this._shardCount.GetValueOrDefault(); } set { this._shardCount = value; } } // Check to see if ShardCount property is set internal bool IsSetShardCount() { return this._shardCount.HasValue; } /// /// Gets and sets the property StreamName. /// /// A name to identify the stream. The stream name is scoped to the AWS account used by /// the application that creates the stream. It is also scoped by AWS Region. That is, /// two streams in two different AWS accounts can have the same name. Two streams in the /// same AWS account but in two different Regions can also have the same name. /// /// [AWSProperty(Required=true, 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; } } }