/* * Copyright 2018-2023 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. */ package com.amazonaws.services.kinesis.model; import java.io.Serializable; import javax.annotation.Generated; import com.amazonaws.protocol.StructuredPojo; import com.amazonaws.protocol.ProtocolMarshaller; /** *
* Represents the output for DescribeStream. *
* * @see AWS API * Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class StreamDescription implements Serializable, Cloneable, StructuredPojo { /** ** The name of the stream being described. *
*/ private String streamName; /** ** The Amazon Resource Name (ARN) for the stream being described. *
*/ private String streamARN; /** ** 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.
*
* 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. *
*/ private StreamModeDetails streamModeDetails; /** ** The shards that comprise the stream. *
*/ private com.amazonaws.internal.SdkInternalList
* If set to true
, more shards in the stream are available to describe.
*
* The current retention period, in hours. Minimum value of 24. Maximum value of 168. *
*/ private Integer retentionPeriodHours; /** ** The approximate time that the stream was created. *
*/ private java.util.Date streamCreationTimestamp; /** ** Represents the current enhanced monitoring settings of the stream. *
*/ private com.amazonaws.internal.SdkInternalList* 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 Amazon Web
* Services KMS key.
*
* The GUID for the customer-managed Amazon Web Services 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
*
* The name of the stream being described. *
* * @param streamName * The name of the stream being described. */ public void setStreamName(String streamName) { this.streamName = streamName; } /** ** The name of the stream being described. *
* * @return The name of the stream being described. */ public String getStreamName() { return this.streamName; } /** ** The name of the stream being described. *
* * @param streamName * The name of the stream being described. * @return Returns a reference to this object so that method calls can be chained together. */ public StreamDescription withStreamName(String streamName) { setStreamName(streamName); return this; } /** ** The Amazon Resource Name (ARN) for the stream being described. *
* * @param streamARN * The Amazon Resource Name (ARN) for the stream being described. */ public void setStreamARN(String streamARN) { this.streamARN = streamARN; } /** ** The Amazon Resource Name (ARN) for the stream being described. *
* * @return The Amazon Resource Name (ARN) for the stream being described. */ public String getStreamARN() { return this.streamARN; } /** ** The Amazon Resource Name (ARN) for the stream being described. *
* * @param streamARN * The Amazon Resource Name (ARN) for the stream being described. * @return Returns a reference to this object so that method calls can be chained together. */ public StreamDescription withStreamARN(String streamARN) { setStreamARN(streamARN); return this; } /** ** 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.
*
* 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.
*
* 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.
*
* 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.
*
* 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.
*
* 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.
*
* 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.
*
* 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.
*
* 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.
*
* 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.
*
* 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. *
* * @param 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. */ public void setStreamModeDetails(StreamModeDetails streamModeDetails) { this.streamModeDetails = 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. *
* * @return 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. */ public StreamModeDetails getStreamModeDetails() { return this.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. *
* * @param 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. * @return Returns a reference to this object so that method calls can be chained together. */ public StreamDescription withStreamModeDetails(StreamModeDetails streamModeDetails) { setStreamModeDetails(streamModeDetails); return this; } /** ** The shards that comprise the stream. *
* * @return The shards that comprise the stream. */ public java.util.List* The shards that comprise the stream. *
* * @param shards * The shards that comprise the stream. */ public void setShards(java.util.Collection* The shards that comprise the stream. *
** NOTE: This method appends the values to the existing list (if any). Use * {@link #setShards(java.util.Collection)} or {@link #withShards(java.util.Collection)} if you want to override the * existing values. *
* * @param shards * The shards that comprise the stream. * @return Returns a reference to this object so that method calls can be chained together. */ public StreamDescription withShards(Shard... shards) { if (this.shards == null) { setShards(new com.amazonaws.internal.SdkInternalList* The shards that comprise the stream. *
* * @param shards * The shards that comprise the stream. * @return Returns a reference to this object so that method calls can be chained together. */ public StreamDescription withShards(java.util.Collection
* If set to true
, more shards in the stream are available to describe.
*
true
, more shards in the stream are available to describe.
*/
public void setHasMoreShards(Boolean hasMoreShards) {
this.hasMoreShards = hasMoreShards;
}
/**
*
* If set to true
, more shards in the stream are available to describe.
*
true
, more shards in the stream are available to describe.
*/
public Boolean getHasMoreShards() {
return this.hasMoreShards;
}
/**
*
* If set to true
, more shards in the stream are available to describe.
*
true
, more shards in the stream are available to describe.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public StreamDescription withHasMoreShards(Boolean hasMoreShards) {
setHasMoreShards(hasMoreShards);
return this;
}
/**
*
* If set to true
, more shards in the stream are available to describe.
*
true
, more shards in the stream are available to describe.
*/
public Boolean isHasMoreShards() {
return this.hasMoreShards;
}
/**
* * The current retention period, in hours. Minimum value of 24. Maximum value of 168. *
* * @param retentionPeriodHours * The current retention period, in hours. Minimum value of 24. Maximum value of 168. */ public void setRetentionPeriodHours(Integer retentionPeriodHours) { this.retentionPeriodHours = retentionPeriodHours; } /** ** The current retention period, in hours. Minimum value of 24. Maximum value of 168. *
* * @return The current retention period, in hours. Minimum value of 24. Maximum value of 168. */ public Integer getRetentionPeriodHours() { return this.retentionPeriodHours; } /** ** The current retention period, in hours. Minimum value of 24. Maximum value of 168. *
* * @param retentionPeriodHours * The current retention period, in hours. Minimum value of 24. Maximum value of 168. * @return Returns a reference to this object so that method calls can be chained together. */ public StreamDescription withRetentionPeriodHours(Integer retentionPeriodHours) { setRetentionPeriodHours(retentionPeriodHours); return this; } /** ** The approximate time that the stream was created. *
* * @param streamCreationTimestamp * The approximate time that the stream was created. */ public void setStreamCreationTimestamp(java.util.Date streamCreationTimestamp) { this.streamCreationTimestamp = streamCreationTimestamp; } /** ** The approximate time that the stream was created. *
* * @return The approximate time that the stream was created. */ public java.util.Date getStreamCreationTimestamp() { return this.streamCreationTimestamp; } /** ** The approximate time that the stream was created. *
* * @param streamCreationTimestamp * The approximate time that the stream was created. * @return Returns a reference to this object so that method calls can be chained together. */ public StreamDescription withStreamCreationTimestamp(java.util.Date streamCreationTimestamp) { setStreamCreationTimestamp(streamCreationTimestamp); return this; } /** ** Represents the current enhanced monitoring settings of the stream. *
* * @return Represents the current enhanced monitoring settings of the stream. */ public java.util.List* Represents the current enhanced monitoring settings of the stream. *
* * @param enhancedMonitoring * Represents the current enhanced monitoring settings of the stream. */ public void setEnhancedMonitoring(java.util.Collection* Represents the current enhanced monitoring settings of the stream. *
** NOTE: This method appends the values to the existing list (if any). Use * {@link #setEnhancedMonitoring(java.util.Collection)} or {@link #withEnhancedMonitoring(java.util.Collection)} if * you want to override the existing values. *
* * @param enhancedMonitoring * Represents the current enhanced monitoring settings of the stream. * @return Returns a reference to this object so that method calls can be chained together. */ public StreamDescription withEnhancedMonitoring(EnhancedMetrics... enhancedMonitoring) { if (this.enhancedMonitoring == null) { setEnhancedMonitoring(new com.amazonaws.internal.SdkInternalList* Represents the current enhanced monitoring settings of the stream. *
* * @param enhancedMonitoring * Represents the current enhanced monitoring settings of the stream. * @return Returns a reference to this object so that method calls can be chained together. */ public StreamDescription withEnhancedMonitoring(java.util.Collection* 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 Amazon Web
* Services KMS key.
*
* NONE
: Do not encrypt the records in the stream.
*
* KMS
: Use server-side encryption on the records in the stream using a customer-managed Amazon
* Web Services KMS key.
*
* 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 Amazon Web
* Services KMS key.
*
* NONE
: Do not encrypt the records in the stream.
*
* KMS
: Use server-side encryption on the records in the stream using a customer-managed Amazon
* Web Services KMS key.
*
* 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 Amazon Web
* Services KMS key.
*
* NONE
: Do not encrypt the records in the stream.
*
* KMS
: Use server-side encryption on the records in the stream using a customer-managed Amazon
* Web Services KMS key.
*
* 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 Amazon Web
* Services KMS key.
*
* NONE
: Do not encrypt the records in the stream.
*
* KMS
: Use server-side encryption on the records in the stream using a customer-managed Amazon
* Web Services KMS key.
*
* 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 Amazon Web
* Services KMS key.
*
* NONE
: Do not encrypt the records in the stream.
*
* KMS
: Use server-side encryption on the records in the stream using a customer-managed Amazon
* Web Services KMS key.
*
* The GUID for the customer-managed Amazon Web Services 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
*
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
*
* The GUID for the customer-managed Amazon Web Services 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
*
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
*
* The GUID for the customer-managed Amazon Web Services 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
*
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
*