/* * 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 { /// /// Represents the output for DescribeStream. /// public partial class StreamDescription { private EncryptionType _encryptionType; private List _enhancedMonitoring = new List(); private bool? _hasMoreShards; private string _keyId; private int? _retentionPeriodHours; private List _shards = new List(); private string _streamARN; private DateTime? _streamCreationTimestamp; private StreamModeDetails _streamModeDetails; private string _streamName; private StreamStatus _streamStatus; /// /// Gets and sets the property EncryptionType. /// /// 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. /// ///
///
public EncryptionType EncryptionType { get { return this._encryptionType; } set { this._encryptionType = value; } } // Check to see if EncryptionType property is set internal bool IsSetEncryptionType() { return this._encryptionType != null; } /// /// Gets and sets the property EnhancedMonitoring. /// /// Represents the current enhanced monitoring settings of the stream. /// /// [AWSProperty(Required=true)] public List EnhancedMonitoring { get { return this._enhancedMonitoring; } set { this._enhancedMonitoring = value; } } // Check to see if EnhancedMonitoring property is set internal bool IsSetEnhancedMonitoring() { return this._enhancedMonitoring != null && this._enhancedMonitoring.Count > 0; } /// /// Gets and sets the property HasMoreShards. /// /// If set to true, more shards in the stream are available to describe. /// /// [AWSProperty(Required=true)] public bool HasMoreShards { get { return this._hasMoreShards.GetValueOrDefault(); } set { this._hasMoreShards = value; } } // Check to see if HasMoreShards property is set internal bool IsSetHasMoreShards() { return this._hasMoreShards.HasValue; } /// /// Gets and sets the property KeyId. /// /// 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 /// ///
///
[AWSProperty(Min=1, Max=2048)] public string KeyId { get { return this._keyId; } set { this._keyId = value; } } // Check to see if KeyId property is set internal bool IsSetKeyId() { return this._keyId != null; } /// /// Gets and sets the property RetentionPeriodHours. /// /// The current retention period, in hours. Minimum value of 24. Maximum value of 168. /// /// [AWSProperty(Required=true)] public int RetentionPeriodHours { get { return this._retentionPeriodHours.GetValueOrDefault(); } set { this._retentionPeriodHours = value; } } // Check to see if RetentionPeriodHours property is set internal bool IsSetRetentionPeriodHours() { return this._retentionPeriodHours.HasValue; } /// /// Gets and sets the property Shards. /// /// The shards that comprise the stream. /// /// [AWSProperty(Required=true)] public List Shards { get { return this._shards; } set { this._shards = value; } } // Check to see if Shards property is set internal bool IsSetShards() { return this._shards != null && this._shards.Count > 0; } /// /// Gets and sets the property StreamARN. /// /// The Amazon Resource Name (ARN) for the stream being described. /// /// [AWSProperty(Required=true, 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 StreamCreationTimestamp. /// /// The approximate time that the stream was created. /// /// [AWSProperty(Required=true)] public DateTime StreamCreationTimestamp { get { return this._streamCreationTimestamp.GetValueOrDefault(); } set { this._streamCreationTimestamp = value; } } // Check to see if StreamCreationTimestamp property is set internal bool IsSetStreamCreationTimestamp() { return this._streamCreationTimestamp.HasValue; } /// /// Gets and sets the property 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 StreamModeDetails StreamModeDetails { get { return this._streamModeDetails; } set { this._streamModeDetails = value; } } // Check to see if StreamModeDetails property is set internal bool IsSetStreamModeDetails() { return this._streamModeDetails != null; } /// /// Gets and sets the property StreamName. /// /// The name of the stream being described. /// /// [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; } /// /// Gets and sets the property StreamStatus. /// /// 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. /// ///
///
[AWSProperty(Required=true)] public StreamStatus StreamStatus { get { return this._streamStatus; } set { this._streamStatus = value; } } // Check to see if StreamStatus property is set internal bool IsSetStreamStatus() { return this._streamStatus != null; } } }