

# Data Types


The Amazon Kinesis API contains several data types that various actions use. This section describes each data type in detail.

**Note**  
The order of each element in a data type structure is not guaranteed. Applications should not assume a particular order.

The following data types are supported:
+  [ChildShard](API_ChildShard.md) 
+  [Consumer](API_Consumer.md) 
+  [ConsumerDescription](API_ConsumerDescription.md) 
+  [EnhancedMetrics](API_EnhancedMetrics.md) 
+  [HashKeyRange](API_HashKeyRange.md) 
+  [MinimumThroughputBillingCommitmentInput](API_MinimumThroughputBillingCommitmentInput.md) 
+  [MinimumThroughputBillingCommitmentOutput](API_MinimumThroughputBillingCommitmentOutput.md) 
+  [PutRecordsRequestEntry](API_PutRecordsRequestEntry.md) 
+  [PutRecordsResultEntry](API_PutRecordsResultEntry.md) 
+  [Record](API_Record.md) 
+  [SequenceNumberRange](API_SequenceNumberRange.md) 
+  [Shard](API_Shard.md) 
+  [ShardFilter](API_ShardFilter.md) 
+  [StartingPosition](API_StartingPosition.md) 
+  [StreamDescription](API_StreamDescription.md) 
+  [StreamDescriptionSummary](API_StreamDescriptionSummary.md) 
+  [StreamModeDetails](API_StreamModeDetails.md) 
+  [StreamSummary](API_StreamSummary.md) 
+  [SubscribeToShardEvent](API_SubscribeToShardEvent.md) 
+  [SubscribeToShardEventStream](API_SubscribeToShardEventStream.md) 
+  [Tag](API_Tag.md) 
+  [WarmThroughputObject](API_WarmThroughputObject.md) 

# ChildShard


Output parameter of the GetRecords API. The existing child shard of the current shard.

## Contents


 ** HashKeyRange **   <a name="Streams-Type-ChildShard-HashKeyRange"></a>
The range of possible hash key values for the shard, which is a set of ordered contiguous positive integers.  
Type: [HashKeyRange](API_HashKeyRange.md) object  
Required: Yes

 ** ParentShards **   <a name="Streams-Type-ChildShard-ParentShards"></a>
The current shard that is the parent of the existing child shard.  
Type: Array of strings  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9_.-]+`   
Required: Yes

 ** ShardId **   <a name="Streams-Type-ChildShard-ShardId"></a>
The shard ID of the existing child shard of the current shard.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9_.-]+`   
Required: Yes

## See Also


For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/kinesis-2013-12-02/ChildShard) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/kinesis-2013-12-02/ChildShard) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/kinesis-2013-12-02/ChildShard) 

# Consumer


An object that represents the details of the consumer you registered. This type of object is returned by [RegisterStreamConsumer](API_RegisterStreamConsumer.md).

## Contents


 ** ConsumerARN **   <a name="Streams-Type-Consumer-ConsumerARN"></a>
When you register a consumer, Kinesis Data Streams generates an ARN for it. You need this ARN to be able to call [SubscribeToShard](API_SubscribeToShard.md).  
If you delete a consumer and then create a new one with the same name, it won't have the same ARN. That's because consumer ARNs contain the creation timestamp. This is important to keep in mind if you have IAM policies that reference consumer ARNs.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 2048.  
Pattern: `^(arn):aws.*:kinesis:.*:\d{12}:.*stream\/[a-zA-Z0-9_.-]+\/consumer\/[a-zA-Z0-9_.-]+:[0-9]+`   
Required: Yes

 ** ConsumerCreationTimestamp **   <a name="Streams-Type-Consumer-ConsumerCreationTimestamp"></a>
  
Type: Timestamp  
Required: Yes

 ** ConsumerName **   <a name="Streams-Type-Consumer-ConsumerName"></a>
The name of the consumer is something you choose when you register the consumer.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9_.-]+`   
Required: Yes

 ** ConsumerStatus **   <a name="Streams-Type-Consumer-ConsumerStatus"></a>
A consumer can't read data while in the `CREATING` or `DELETING` states.  
Type: String  
Valid Values: `CREATING | DELETING | ACTIVE`   
Required: Yes

## See Also


For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/kinesis-2013-12-02/Consumer) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/kinesis-2013-12-02/Consumer) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/kinesis-2013-12-02/Consumer) 

# ConsumerDescription


An object that represents the details of a registered consumer. This type of object is returned by [DescribeStreamConsumer](API_DescribeStreamConsumer.md).

## Contents


 ** ConsumerARN **   <a name="Streams-Type-ConsumerDescription-ConsumerARN"></a>
When you register a consumer, Kinesis Data Streams generates an ARN for it. You need this ARN to be able to call [SubscribeToShard](API_SubscribeToShard.md).  
If you delete a consumer and then create a new one with the same name, it won't have the same ARN. That's because consumer ARNs contain the creation timestamp. This is important to keep in mind if you have IAM policies that reference consumer ARNs.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 2048.  
Pattern: `^(arn):aws.*:kinesis:.*:\d{12}:.*stream\/[a-zA-Z0-9_.-]+\/consumer\/[a-zA-Z0-9_.-]+:[0-9]+`   
Required: Yes

 ** ConsumerCreationTimestamp **   <a name="Streams-Type-ConsumerDescription-ConsumerCreationTimestamp"></a>
  
Type: Timestamp  
Required: Yes

 ** ConsumerName **   <a name="Streams-Type-ConsumerDescription-ConsumerName"></a>
The name of the consumer is something you choose when you register the consumer.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9_.-]+`   
Required: Yes

 ** ConsumerStatus **   <a name="Streams-Type-ConsumerDescription-ConsumerStatus"></a>
A consumer can't read data while in the `CREATING` or `DELETING` states.  
Type: String  
Valid Values: `CREATING | DELETING | ACTIVE`   
Required: Yes

 ** StreamARN **   <a name="Streams-Type-ConsumerDescription-StreamARN"></a>
The ARN of the stream with which you registered the consumer.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 2048.  
Pattern: `arn:aws.*:kinesis:.*:\d{12}:stream/\S+`   
Required: Yes

## See Also


For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/kinesis-2013-12-02/ConsumerDescription) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/kinesis-2013-12-02/ConsumerDescription) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/kinesis-2013-12-02/ConsumerDescription) 

# EnhancedMetrics


Represents enhanced metrics types.

## Contents


 ** ShardLevelMetrics **   <a name="Streams-Type-EnhancedMetrics-ShardLevelMetrics"></a>
List of shard-level metrics.  
The following are the valid shard-level metrics. The value "`ALL`" enhances every metric.  
+  `IncomingBytes` 
+  `IncomingRecords` 
+  `OutgoingBytes` 
+  `OutgoingRecords` 
+  `WriteProvisionedThroughputExceeded` 
+  `ReadProvisionedThroughputExceeded` 
+  `IteratorAgeMilliseconds` 
+  `ALL` 
For more information, see [Monitoring the Amazon Kinesis Data Streams Service with Amazon CloudWatch](https://docs.aws.amazon.com/kinesis/latest/dev/monitoring-with-cloudwatch.html) in the *Amazon Kinesis Data Streams Developer Guide*.  
Type: Array of strings  
Array Members: Minimum number of 1 item. Maximum number of 7 items.  
Valid Values: `IncomingBytes | IncomingRecords | OutgoingBytes | OutgoingRecords | WriteProvisionedThroughputExceeded | ReadProvisionedThroughputExceeded | IteratorAgeMilliseconds | ALL`   
Required: No

## See Also


For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/kinesis-2013-12-02/EnhancedMetrics) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/kinesis-2013-12-02/EnhancedMetrics) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/kinesis-2013-12-02/EnhancedMetrics) 

# HashKeyRange


The range of possible hash key values for the shard, which is a set of ordered contiguous positive integers.

## Contents


 ** EndingHashKey **   <a name="Streams-Type-HashKeyRange-EndingHashKey"></a>
The ending hash key of the hash key range.  
Type: String  
Pattern: `0|([1-9]\d{0,38})`   
Required: Yes

 ** StartingHashKey **   <a name="Streams-Type-HashKeyRange-StartingHashKey"></a>
The starting hash key of the hash key range.  
Type: String  
Pattern: `0|([1-9]\d{0,38})`   
Required: Yes

## See Also


For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/kinesis-2013-12-02/HashKeyRange) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/kinesis-2013-12-02/HashKeyRange) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/kinesis-2013-12-02/HashKeyRange) 

# MinimumThroughputBillingCommitmentInput


Represents the request parameters for configuring minimum throughput billing commitment.

**Note**  
Minimum throughput billing commitments provide cost savings on on-demand data streams in exchange for committing to a minimum level of throughput usage.
Commitments have a minimum duration of 24 hours that must be honored before they can be disabled.
If you attempt to disable a commitment before the minimum commitment period ends, the commitment will be scheduled for automatic disable at the earliest allowed end time.
You can cancel a pending disable by enabling the commitment again before the earliest allowed end time.

## Contents


 ** Status **   <a name="Streams-Type-MinimumThroughputBillingCommitmentInput-Status"></a>
The desired status of the minimum throughput billing commitment.  
Type: String  
Valid Values: `ENABLED | DISABLED`   
Required: Yes

## See Also


For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/kinesis-2013-12-02/MinimumThroughputBillingCommitmentInput) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/kinesis-2013-12-02/MinimumThroughputBillingCommitmentInput) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/kinesis-2013-12-02/MinimumThroughputBillingCommitmentInput) 

# MinimumThroughputBillingCommitmentOutput


Represents the current status of minimum throughput billing commitment for an account.

## Contents


 ** Status **   <a name="Streams-Type-MinimumThroughputBillingCommitmentOutput-Status"></a>
The current status of the minimum throughput billing commitment.  
Type: String  
Valid Values: `ENABLED | DISABLED | ENABLED_UNTIL_EARLIEST_ALLOWED_END`   
Required: Yes

 ** EarliestAllowedEndAt **   <a name="Streams-Type-MinimumThroughputBillingCommitmentOutput-EarliestAllowedEndAt"></a>
The earliest timestamp when the commitment can be ended.  
Type: Timestamp  
Required: No

 ** EndedAt **   <a name="Streams-Type-MinimumThroughputBillingCommitmentOutput-EndedAt"></a>
The timestamp when the commitment was ended.  
Type: Timestamp  
Required: No

 ** StartedAt **   <a name="Streams-Type-MinimumThroughputBillingCommitmentOutput-StartedAt"></a>
The timestamp when the commitment was started.  
Type: Timestamp  
Required: No

## See Also


For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/kinesis-2013-12-02/MinimumThroughputBillingCommitmentOutput) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/kinesis-2013-12-02/MinimumThroughputBillingCommitmentOutput) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/kinesis-2013-12-02/MinimumThroughputBillingCommitmentOutput) 

# PutRecordsRequestEntry


Represents the output for `PutRecords`.

## Contents


 ** Data **   <a name="Streams-Type-PutRecordsRequestEntry-Data"></a>
The data blob to put into the record, which is base64-encoded when the blob is serialized. When the data blob (the payload before base64-encoding) is added to the partition key size, the total size must not exceed the maximum record size (10 MiB).  
Type: Base64-encoded binary data object  
Length Constraints: Minimum length of 0. Maximum length of 10485760.  
Required: Yes

 ** PartitionKey **   <a name="Streams-Type-PutRecordsRequestEntry-PartitionKey"></a>
Determines which shard in the stream the data record is assigned to. Partition keys are Unicode strings with a maximum length limit of 256 characters for each key. Amazon Kinesis Data Streams uses the partition key as input to a hash function that maps the partition key and associated data to a specific shard. Specifically, an MD5 hash function is used to map partition keys to 128-bit integer values and to map associated data records to shards. As a result of this hashing mechanism, all data records with the same partition key map to the same shard within the stream.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 256.  
Required: Yes

 ** ExplicitHashKey **   <a name="Streams-Type-PutRecordsRequestEntry-ExplicitHashKey"></a>
The hash value used to determine explicitly the shard that the data record is assigned to by overriding the partition key hash.  
Type: String  
Pattern: `0|([1-9]\d{0,38})`   
Required: No

## See Also


For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/kinesis-2013-12-02/PutRecordsRequestEntry) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/kinesis-2013-12-02/PutRecordsRequestEntry) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/kinesis-2013-12-02/PutRecordsRequestEntry) 

# PutRecordsResultEntry


Represents the result of an individual record from a `PutRecords` request. A record that is successfully added to a stream includes `SequenceNumber` and `ShardId` in the result. A record that fails to be added to the stream includes `ErrorCode` and `ErrorMessage` in the result.

## Contents


 ** ErrorCode **   <a name="Streams-Type-PutRecordsResultEntry-ErrorCode"></a>
The error code for an individual record result. `ErrorCodes` can be either `ProvisionedThroughputExceededException` or `InternalFailure`.  
Type: String  
Required: No

 ** ErrorMessage **   <a name="Streams-Type-PutRecordsResultEntry-ErrorMessage"></a>
The error message for an individual record result. An `ErrorCode` value of `ProvisionedThroughputExceededException` has an error message that includes the account ID, stream name, and shard ID. An `ErrorCode` value of `InternalFailure` has the error message `"Internal Service Failure"`.  
Type: String  
Required: No

 ** SequenceNumber **   <a name="Streams-Type-PutRecordsResultEntry-SequenceNumber"></a>
The sequence number for an individual record result.  
Type: String  
Pattern: `0|([1-9]\d{0,128})`   
Required: No

 ** ShardId **   <a name="Streams-Type-PutRecordsResultEntry-ShardId"></a>
The shard ID for an individual record result.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9_.-]+`   
Required: No

## See Also


For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/kinesis-2013-12-02/PutRecordsResultEntry) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/kinesis-2013-12-02/PutRecordsResultEntry) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/kinesis-2013-12-02/PutRecordsResultEntry) 

# Record


The unit of data of the Kinesis data stream, which is composed of a sequence number, a partition key, and a data blob.

## Contents


 ** Data **   <a name="Streams-Type-Record-Data"></a>
The data blob. The data in the blob is both opaque and immutable to Kinesis Data Streams, which does not inspect, interpret, or change the data in the blob in any way. When the data blob (the payload before base64-encoding) is added to the partition key size, the total size must not exceed the maximum record size (1 MiB).  
Type: Base64-encoded binary data object  
Length Constraints: Minimum length of 0. Maximum length of 10485760.  
Required: Yes

 ** PartitionKey **   <a name="Streams-Type-Record-PartitionKey"></a>
Identifies which shard in the stream the data record is assigned to.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 256.  
Required: Yes

 ** SequenceNumber **   <a name="Streams-Type-Record-SequenceNumber"></a>
The unique identifier of the record within its shard.  
Type: String  
Pattern: `0|([1-9]\d{0,128})`   
Required: Yes

 ** ApproximateArrivalTimestamp **   <a name="Streams-Type-Record-ApproximateArrivalTimestamp"></a>
The approximate time that the record was inserted into the stream.  
Type: Timestamp  
Required: No

 ** EncryptionType **   <a name="Streams-Type-Record-EncryptionType"></a>
The encryption type used on the record. This parameter can be one of the following values:  
+  `NONE`: Do not encrypt the records in the stream.
+  `KMS`: Use server-side encryption on the records in the stream using a customer-managed AWS KMS key.
Type: String  
Valid Values: `NONE | KMS`   
Required: No

## See Also


For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/kinesis-2013-12-02/Record) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/kinesis-2013-12-02/Record) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/kinesis-2013-12-02/Record) 

# SequenceNumberRange


The range of possible sequence numbers for the shard.

## Contents


 ** StartingSequenceNumber **   <a name="Streams-Type-SequenceNumberRange-StartingSequenceNumber"></a>
The starting sequence number for the range.  
Type: String  
Pattern: `0|([1-9]\d{0,128})`   
Required: Yes

 ** EndingSequenceNumber **   <a name="Streams-Type-SequenceNumberRange-EndingSequenceNumber"></a>
The ending sequence number for the range. Shards that are in the OPEN state have an ending sequence number of `null`.  
Type: String  
Pattern: `0|([1-9]\d{0,128})`   
Required: No

## See Also


For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/kinesis-2013-12-02/SequenceNumberRange) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/kinesis-2013-12-02/SequenceNumberRange) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/kinesis-2013-12-02/SequenceNumberRange) 

# Shard


A uniquely identified group of data records in a Kinesis data stream.

## Contents


 ** HashKeyRange **   <a name="Streams-Type-Shard-HashKeyRange"></a>
The range of possible hash key values for the shard, which is a set of ordered contiguous positive integers.  
Type: [HashKeyRange](API_HashKeyRange.md) object  
Required: Yes

 ** SequenceNumberRange **   <a name="Streams-Type-Shard-SequenceNumberRange"></a>
The range of possible sequence numbers for the shard.  
Type: [SequenceNumberRange](API_SequenceNumberRange.md) object  
Required: Yes

 ** ShardId **   <a name="Streams-Type-Shard-ShardId"></a>
The unique identifier of the shard within the stream.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9_.-]+`   
Required: Yes

 ** AdjacentParentShardId **   <a name="Streams-Type-Shard-AdjacentParentShardId"></a>
The shard ID of the shard adjacent to the shard's parent.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9_.-]+`   
Required: No

 ** ParentShardId **   <a name="Streams-Type-Shard-ParentShardId"></a>
The shard ID of the shard's parent.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9_.-]+`   
Required: No

## See Also


For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/kinesis-2013-12-02/Shard) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/kinesis-2013-12-02/Shard) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/kinesis-2013-12-02/Shard) 

# ShardFilter


The request parameter used to filter out the response of the `ListShards` API.

## Contents


 ** Type **   <a name="Streams-Type-ShardFilter-Type"></a>
The shard type specified in the `ShardFilter` parameter. This is a required property of the `ShardFilter` parameter.  
You can specify the following valid values:   
+  `AFTER_SHARD_ID` - the response includes all the shards, starting with the shard whose ID immediately follows the `ShardId` that you provided. 
+  `AT_TRIM_HORIZON` - the response includes all the shards that were open at `TRIM_HORIZON`.
+  `FROM_TRIM_HORIZON` - (default), the response includes all the shards within the retention period of the data stream (trim to tip).
+  `AT_LATEST` - the response includes only the currently open shards of the data stream.
+  `AT_TIMESTAMP` - the response includes all shards whose start timestamp is less than or equal to the given timestamp and end timestamp is greater than or equal to the given timestamp or still open. 
+  `FROM_TIMESTAMP` - the response incldues all closed shards whose end timestamp is greater than or equal to the given timestamp and also all open shards. Corrected to `TRIM_HORIZON` of the data stream if `FROM_TIMESTAMP` is less than the `TRIM_HORIZON` value.
Type: String  
Valid Values: `AFTER_SHARD_ID | AT_TRIM_HORIZON | FROM_TRIM_HORIZON | AT_LATEST | AT_TIMESTAMP | FROM_TIMESTAMP`   
Required: Yes

 ** ShardId **   <a name="Streams-Type-ShardFilter-ShardId"></a>
The exclusive start `shardID` speified in the `ShardFilter` parameter. This property can only be used if the `AFTER_SHARD_ID` shard type is specified.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9_.-]+`   
Required: No

 ** Timestamp **   <a name="Streams-Type-ShardFilter-Timestamp"></a>
The timestamps specified in the `ShardFilter` parameter. A timestamp is a Unix epoch date with precision in milliseconds. For example, 2016-04-04T19:58:46.480-00:00 or 1459799926.480. This property can only be used if `FROM_TIMESTAMP` or `AT_TIMESTAMP` shard types are specified.  
Type: Timestamp  
Required: No

## See Also


For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/kinesis-2013-12-02/ShardFilter) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/kinesis-2013-12-02/ShardFilter) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/kinesis-2013-12-02/ShardFilter) 

# StartingPosition


The starting position in the data stream from which to start streaming.

## Contents


 ** Type **   <a name="Streams-Type-StartingPosition-Type"></a>
You can set the starting position to one of the following values:  
 `AT_SEQUENCE_NUMBER`: Start streaming from the position denoted by the sequence number specified in the `SequenceNumber` field.  
 `AFTER_SEQUENCE_NUMBER`: Start streaming right after the position denoted by the sequence number specified in the `SequenceNumber` field.  
 `AT_TIMESTAMP`: Start streaming from the position denoted by the time stamp specified in the `Timestamp` field.  
 `TRIM_HORIZON`: Start streaming at the last untrimmed record in the shard, which is the oldest data record in the shard.  
 `LATEST`: Start streaming just after the most recent record in the shard, so that you always read the most recent data in the shard.  
Type: String  
Valid Values: `AT_SEQUENCE_NUMBER | AFTER_SEQUENCE_NUMBER | TRIM_HORIZON | LATEST | AT_TIMESTAMP`   
Required: Yes

 ** SequenceNumber **   <a name="Streams-Type-StartingPosition-SequenceNumber"></a>
The sequence number of the data record in the shard from which to start streaming. To specify a sequence number, set `StartingPosition` to `AT_SEQUENCE_NUMBER` or `AFTER_SEQUENCE_NUMBER`.  
Type: String  
Pattern: `0|([1-9]\d{0,128})`   
Required: No

 ** Timestamp **   <a name="Streams-Type-StartingPosition-Timestamp"></a>
The time stamp of the data record from which to start reading. To specify a time stamp, set `StartingPosition` to `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, records will be streamed from the next (later) record. If the time stamp is older than the current trim horizon, records will be streamed from the oldest untrimmed data record (`TRIM_HORIZON`).  
Type: Timestamp  
Required: No

## See Also


For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/kinesis-2013-12-02/StartingPosition) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/kinesis-2013-12-02/StartingPosition) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/kinesis-2013-12-02/StartingPosition) 

# StreamDescription


Represents the output for [DescribeStream](API_DescribeStream.md).

## Contents


 ** EnhancedMonitoring **   <a name="Streams-Type-StreamDescription-EnhancedMonitoring"></a>
Represents the current enhanced monitoring settings of the stream.  
Type: Array of [EnhancedMetrics](API_EnhancedMetrics.md) objects  
Required: Yes

 ** HasMoreShards **   <a name="Streams-Type-StreamDescription-HasMoreShards"></a>
If set to `true`, more shards in the stream are available to describe.  
Type: Boolean  
Required: Yes

 ** RetentionPeriodHours **   <a name="Streams-Type-StreamDescription-RetentionPeriodHours"></a>
The current retention period, in hours. Minimum value of 24. Maximum value of 168.  
Type: Integer  
Required: Yes

 ** Shards **   <a name="Streams-Type-StreamDescription-Shards"></a>
The shards that comprise the stream.  
Type: Array of [Shard](API_Shard.md) objects  
Required: Yes

 ** StreamARN **   <a name="Streams-Type-StreamDescription-StreamARN"></a>
The Amazon Resource Name (ARN) for the stream being described.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 2048.  
Pattern: `arn:aws.*:kinesis:.*:\d{12}:stream/\S+`   
Required: Yes

 ** StreamCreationTimestamp **   <a name="Streams-Type-StreamDescription-StreamCreationTimestamp"></a>
The approximate time that the stream was created.  
Type: Timestamp  
Required: Yes

 ** StreamName **   <a name="Streams-Type-StreamDescription-StreamName"></a>
The name of the stream being described.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9_.-]+`   
Required: Yes

 ** StreamStatus **   <a name="Streams-Type-StreamDescription-StreamStatus"></a>
The current status of the stream being described. The stream status is one of the following states:  
+  `CREATING` - The stream is being created. Kinesis Data Streams immediately returns and sets `StreamStatus` to `CREATING`.
+  `DELETING` - The stream is being deleted. The specified stream is in the `DELETING` state until Kinesis Data Streams completes the deletion.
+  `ACTIVE` - The stream exists and is ready for read and write operations or deletion. You should perform read and write operations only on an `ACTIVE` stream.
+  `UPDATING` - Shards in the stream are being merged or split. Read and write operations continue to work while the stream is in the `UPDATING` state.
Type: String  
Valid Values: `CREATING | DELETING | ACTIVE | UPDATING`   
Required: Yes

 ** EncryptionType **   <a name="Streams-Type-StreamDescription-EncryptionType"></a>
The server-side encryption type used on the stream. This parameter can be one of the following values:  
+  `NONE`: Do not encrypt the records in the stream.
+  `KMS`: Use server-side encryption on the records in the stream using a customer-managed AWS KMS key.
Type: String  
Valid Values: `NONE | KMS`   
Required: No

 ** KeyId **   <a name="Streams-Type-StreamDescription-KeyId"></a>
The GUID for the customer-managed AWS KMS key to use for encryption. This value can be a globally unique identifier, a fully specified ARN to either an alias or a key, or an alias name prefixed by "alias/".You can also use a master key owned by Kinesis Data Streams by specifying the alias `aws/kinesis`.  
+ Key ARN example: `arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012` 
+ Alias ARN example: `arn:aws:kms:us-east-1:123456789012:alias/MyAliasName` 
+ Globally unique key ID example: `12345678-1234-1234-1234-123456789012` 
+ Alias name example: `alias/MyAliasName` 
+ Master key owned by Kinesis Data Streams: `alias/aws/kinesis` 
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 2048.  
Required: No

 ** StreamModeDetails **   <a name="Streams-Type-StreamDescription-StreamModeDetails"></a>
 Specifies the capacity mode to which you want to set your data stream. Currently, in Kinesis Data Streams, you can choose between an **on-demand** capacity mode and a **provisioned** capacity mode for your data streams.   
Type: [StreamModeDetails](API_StreamModeDetails.md) object  
Required: No

## See Also


For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/kinesis-2013-12-02/StreamDescription) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/kinesis-2013-12-02/StreamDescription) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/kinesis-2013-12-02/StreamDescription) 

# StreamDescriptionSummary


Represents the output for [DescribeStreamSummary](API_DescribeStreamSummary.md) 

## Contents


 ** EnhancedMonitoring **   <a name="Streams-Type-StreamDescriptionSummary-EnhancedMonitoring"></a>
Represents the current enhanced monitoring settings of the stream.  
Type: Array of [EnhancedMetrics](API_EnhancedMetrics.md) objects  
Required: Yes

 ** OpenShardCount **   <a name="Streams-Type-StreamDescriptionSummary-OpenShardCount"></a>
The number of open shards in the stream.  
Type: Integer  
Valid Range: Minimum value of 0. Maximum value of 1000000.  
Required: Yes

 ** RetentionPeriodHours **   <a name="Streams-Type-StreamDescriptionSummary-RetentionPeriodHours"></a>
The current retention period, in hours.  
Type: Integer  
Required: Yes

 ** StreamARN **   <a name="Streams-Type-StreamDescriptionSummary-StreamARN"></a>
The Amazon Resource Name (ARN) for the stream being described.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 2048.  
Pattern: `arn:aws.*:kinesis:.*:\d{12}:stream/\S+`   
Required: Yes

 ** StreamCreationTimestamp **   <a name="Streams-Type-StreamDescriptionSummary-StreamCreationTimestamp"></a>
The approximate time that the stream was created.  
Type: Timestamp  
Required: Yes

 ** StreamName **   <a name="Streams-Type-StreamDescriptionSummary-StreamName"></a>
The name of the stream being described.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9_.-]+`   
Required: Yes

 ** StreamStatus **   <a name="Streams-Type-StreamDescriptionSummary-StreamStatus"></a>
The current status of the stream being described. The stream status is one of the following states:  
+  `CREATING` - The stream is being created. Kinesis Data Streams immediately returns and sets `StreamStatus` to `CREATING`.
+  `DELETING` - The stream is being deleted. The specified stream is in the `DELETING` state until Kinesis Data Streams completes the deletion.
+  `ACTIVE` - The stream exists and is ready for read and write operations or deletion. You should perform read and write operations only on an `ACTIVE` stream.
+  `UPDATING` - Shards in the stream are being merged or split. Read and write operations continue to work while the stream is in the `UPDATING` state.
Type: String  
Valid Values: `CREATING | DELETING | ACTIVE | UPDATING`   
Required: Yes

 ** ConsumerCount **   <a name="Streams-Type-StreamDescriptionSummary-ConsumerCount"></a>
The number of enhanced fan-out consumers registered with the stream.  
Type: Integer  
Valid Range: Minimum value of 0. Maximum value of 1000000.  
Required: No

 ** EncryptionType **   <a name="Streams-Type-StreamDescriptionSummary-EncryptionType"></a>
The encryption type used. This value is one of the following:  
+  `KMS` 
+  `NONE` 
Type: String  
Valid Values: `NONE | KMS`   
Required: No

 ** KeyId **   <a name="Streams-Type-StreamDescriptionSummary-KeyId"></a>
The GUID for the customer-managed AWS KMS key to use for encryption. This value can be a globally unique identifier, a fully specified ARN to either an alias or a key, or an alias name prefixed by "alias/".You can also use a master key owned by Kinesis Data Streams by specifying the alias `aws/kinesis`.  
+ Key ARN example: `arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012` 
+ Alias ARN example: ` arn:aws:kms:us-east-1:123456789012:alias/MyAliasName` 
+ Globally unique key ID example: `12345678-1234-1234-1234-123456789012` 
+ Alias name example: `alias/MyAliasName` 
+ Master key owned by Kinesis Data Streams: `alias/aws/kinesis` 
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 2048.  
Required: No

 ** MaxRecordSizeInKiB **   <a name="Streams-Type-StreamDescriptionSummary-MaxRecordSizeInKiB"></a>
The maximum record size of a single record in kibibyte (KiB) that you can write to, and read from a stream.  
Type: Integer  
Valid Range: Minimum value of 1024. Maximum value of 10240.  
Required: No

 ** StreamId **   <a name="Streams-Type-StreamDescriptionSummary-StreamId"></a>
Not Implemented. Reserved for future use.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 24.  
Pattern: `[a-z0-9]{20}-[a-z0-9]{3}`   
Required: No

 ** StreamModeDetails **   <a name="Streams-Type-StreamDescriptionSummary-StreamModeDetails"></a>
 Specifies the capacity mode to which you want to set your data stream. Currently, in Kinesis Data Streams, you can choose between an **on-demand** ycapacity mode and a **provisioned** capacity mode for your data streams.   
Type: [StreamModeDetails](API_StreamModeDetails.md) object  
Required: No

 ** WarmThroughput **   <a name="Streams-Type-StreamDescriptionSummary-WarmThroughput"></a>
The warm throughput in MB/s for the stream. This represents the throughput capacity that will be immediately available for write operations.  
Type: [WarmThroughputObject](API_WarmThroughputObject.md) object  
Required: No

## See Also


For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/kinesis-2013-12-02/StreamDescriptionSummary) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/kinesis-2013-12-02/StreamDescriptionSummary) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/kinesis-2013-12-02/StreamDescriptionSummary) 

# StreamModeDetails


 Specifies the capacity mode to which you want to set your data stream. Currently, in Kinesis Data Streams, you can choose between an **on-demand** capacity mode and a **provisioned** capacity mode for your data streams. 

## Contents


 ** StreamMode **   <a name="Streams-Type-StreamModeDetails-StreamMode"></a>
 Specifies the capacity mode to which you want to set your data stream. Currently, in Kinesis Data Streams, you can choose between an **on-demand** capacity mode and a **provisioned** capacity mode for your data streams.   
Type: String  
Valid Values: `PROVISIONED | ON_DEMAND`   
Required: Yes

## See Also


For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/kinesis-2013-12-02/StreamModeDetails) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/kinesis-2013-12-02/StreamModeDetails) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/kinesis-2013-12-02/StreamModeDetails) 

# StreamSummary


The summary of a stream.

## Contents


 ** StreamARN **   <a name="Streams-Type-StreamSummary-StreamARN"></a>
The ARN of the stream.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 2048.  
Pattern: `arn:aws.*:kinesis:.*:\d{12}:stream/\S+`   
Required: Yes

 ** StreamName **   <a name="Streams-Type-StreamSummary-StreamName"></a>
The name of a stream.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9_.-]+`   
Required: Yes

 ** StreamStatus **   <a name="Streams-Type-StreamSummary-StreamStatus"></a>
The status of the stream.  
Type: String  
Valid Values: `CREATING | DELETING | ACTIVE | UPDATING`   
Required: Yes

 ** StreamCreationTimestamp **   <a name="Streams-Type-StreamSummary-StreamCreationTimestamp"></a>
The timestamp at which the stream was created.  
Type: Timestamp  
Required: No

 ** StreamModeDetails **   <a name="Streams-Type-StreamSummary-StreamModeDetails"></a>
 Specifies the capacity mode to which you want to set your data stream. Currently, in Kinesis Data Streams, you can choose between an **on-demand** capacity mode and a **provisioned** capacity mode for your data streams.   
Type: [StreamModeDetails](API_StreamModeDetails.md) object  
Required: No

## See Also


For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/kinesis-2013-12-02/StreamSummary) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/kinesis-2013-12-02/StreamSummary) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/kinesis-2013-12-02/StreamSummary) 

# SubscribeToShardEvent


After you call [SubscribeToShard](API_SubscribeToShard.md), Kinesis Data Streams sends events of this type over an HTTP/2 connection to your consumer.

## Contents


 ** ContinuationSequenceNumber **   <a name="Streams-Type-SubscribeToShardEvent-ContinuationSequenceNumber"></a>
Use this as `SequenceNumber` in the next call to [SubscribeToShard](API_SubscribeToShard.md), with `StartingPosition` set to `AT_SEQUENCE_NUMBER` or `AFTER_SEQUENCE_NUMBER`. Use `ContinuationSequenceNumber` for checkpointing because it captures your shard progress even when no data is written to the shard.  
Type: String  
Pattern: `0|([1-9]\d{0,128})`   
Required: Yes

 ** MillisBehindLatest **   <a name="Streams-Type-SubscribeToShardEvent-MillisBehindLatest"></a>
The number of milliseconds the read records are from the tip of the stream, indicating how far behind current time the consumer is. A value of zero indicates that record processing is caught up, and there are no new records to process at this moment.  
Type: Long  
Valid Range: Minimum value of 0.  
Required: Yes

 ** Records **   <a name="Streams-Type-SubscribeToShardEvent-Records"></a>
  
Type: Array of [Record](API_Record.md) objects  
Required: Yes

 ** ChildShards **   <a name="Streams-Type-SubscribeToShardEvent-ChildShards"></a>
The list of the child shards of the current shard, returned only at the end of the current shard.  
Type: Array of [ChildShard](API_ChildShard.md) objects  
Required: No

## See Also


For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/kinesis-2013-12-02/SubscribeToShardEvent) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/kinesis-2013-12-02/SubscribeToShardEvent) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/kinesis-2013-12-02/SubscribeToShardEvent) 

# SubscribeToShardEventStream


This is a tagged union for all of the types of events an enhanced fan-out consumer can receive over HTTP/2 after a call to [SubscribeToShard](API_SubscribeToShard.md).

## Contents


 ** SubscribeToShardEvent **   <a name="Streams-Type-SubscribeToShardEventStream-SubscribeToShardEvent"></a>
After you call [SubscribeToShard](API_SubscribeToShard.md), Kinesis Data Streams sends events of this type to your consumer. For an example of how to handle these events, see [Enhanced Fan-Out Using the Kinesis Data Streams API](/streams/latest/dev/building-enhanced-consumers-api.html).  
Type: [SubscribeToShardEvent](API_SubscribeToShardEvent.md) object  
Required: Yes

 ** InternalFailureException **   <a name="Streams-Type-SubscribeToShardEventStream-InternalFailureException"></a>
The processing of the request failed because of an unknown error, exception, or failure.  
Type: Exception  
HTTP Status Code:   
Required: No

 ** KMSAccessDeniedException **   <a name="Streams-Type-SubscribeToShardEventStream-KMSAccessDeniedException"></a>
The ciphertext references a key that doesn't exist or that you don't have access to.  
Type: Exception  
HTTP Status Code:   
Required: No

 ** KMSDisabledException **   <a name="Streams-Type-SubscribeToShardEventStream-KMSDisabledException"></a>
The request was rejected because the specified customer master key (CMK) isn't enabled.  
Type: Exception  
HTTP Status Code:   
Required: No

 ** KMSInvalidStateException **   <a name="Streams-Type-SubscribeToShardEventStream-KMSInvalidStateException"></a>
The request was rejected because the state of the specified resource isn't valid for this request. For more information, see [How Key State Affects Use of a Customer Master Key](https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) in the * AWS Key Management Service Developer Guide*.  
Type: Exception  
HTTP Status Code:   
Required: No

 ** KMSNotFoundException **   <a name="Streams-Type-SubscribeToShardEventStream-KMSNotFoundException"></a>
The request was rejected because the specified entity or resource can't be found.  
Type: Exception  
HTTP Status Code:   
Required: No

 ** KMSOptInRequired **   <a name="Streams-Type-SubscribeToShardEventStream-KMSOptInRequired"></a>
The AWS access key ID needs a subscription for the service.  
Type: Exception  
HTTP Status Code:   
Required: No

 ** KMSThrottlingException **   <a name="Streams-Type-SubscribeToShardEventStream-KMSThrottlingException"></a>
The request was denied due to request throttling. For more information about throttling, see [Limits](https://docs.aws.amazon.com/kms/latest/developerguide/limits.html#requests-per-second) in the * AWS Key Management Service Developer Guide*.  
Type: Exception  
HTTP Status Code:   
Required: No

 ** ResourceInUseException **   <a name="Streams-Type-SubscribeToShardEventStream-ResourceInUseException"></a>
The resource is not available for this operation. For successful operation, the resource must be in the `ACTIVE` state.  
Type: Exception  
HTTP Status Code:   
Required: No

 ** ResourceNotFoundException **   <a name="Streams-Type-SubscribeToShardEventStream-ResourceNotFoundException"></a>
The requested resource could not be found. The stream might not be specified correctly.  
Type: Exception  
HTTP Status Code:   
Required: No

## See Also


For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/kinesis-2013-12-02/SubscribeToShardEventStream) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/kinesis-2013-12-02/SubscribeToShardEventStream) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/kinesis-2013-12-02/SubscribeToShardEventStream) 

# Tag


Metadata assigned to the stream or consumer, consisting of a key-value pair.

## Contents


 ** Key **   <a name="Streams-Type-Tag-Key"></a>
A unique identifier for the tag. Maximum length: 128 characters. Valid characters: Unicode letters, digits, white space, \$1 . / = \$1 - % @  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Required: Yes

 ** Value **   <a name="Streams-Type-Tag-Value"></a>
An optional string, typically used to describe or define the tag. Maximum length: 256 characters. Valid characters: Unicode letters, digits, white space, \$1 . / = \$1 - % @  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 256.  
Required: No

## See Also


For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/kinesis-2013-12-02/Tag) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/kinesis-2013-12-02/Tag) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/kinesis-2013-12-02/Tag) 

# WarmThroughputObject


Represents the warm throughput configuration on the stream. This is only present for On-Demand Kinesis Data Streams in accounts that have `MinimumThroughputBillingCommitment` enabled.

## Contents


 ** CurrentMiBps **   <a name="Streams-Type-WarmThroughputObject-CurrentMiBps"></a>
The current warm throughput value on the stream. This is the write throughput in MiBps that the stream is currently scaled to handle.  
Type: Integer  
Valid Range: Minimum value of 0.  
Required: No

 ** TargetMiBps **   <a name="Streams-Type-WarmThroughputObject-TargetMiBps"></a>
The target warm throughput value on the stream. This indicates that the stream is currently scaling towards this target value.  
Type: Integer  
Valid Range: Minimum value of 0.  
Required: No

## See Also


For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/kinesis-2013-12-02/WarmThroughputObject) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/kinesis-2013-12-02/WarmThroughputObject) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/kinesis-2013-12-02/WarmThroughputObject) 