/* * 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 dynamodbstreams-2012-08-10.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.DynamoDBv2.Model { /// /// Represents all of the data describing a particular stream. /// public partial class StreamDescription { private DateTime? _creationRequestDateTime; private List _keySchema = new List(); private string _lastEvaluatedShardId; private List _shards = new List(); private string _streamArn; private string _streamLabel; private StreamStatus _streamStatus; private StreamViewType _streamViewType; private string _tableName; /// /// Gets and sets the property CreationRequestDateTime. /// /// The date and time when the request to create this stream was issued. /// /// public DateTime CreationRequestDateTime { get { return this._creationRequestDateTime.GetValueOrDefault(); } set { this._creationRequestDateTime = value; } } // Check to see if CreationRequestDateTime property is set internal bool IsSetCreationRequestDateTime() { return this._creationRequestDateTime.HasValue; } /// /// Gets and sets the property KeySchema. /// /// The key attribute(s) of the stream's DynamoDB table. /// /// [AWSProperty(Min=1, Max=2)] public List KeySchema { get { return this._keySchema; } set { this._keySchema = value; } } // Check to see if KeySchema property is set internal bool IsSetKeySchema() { return this._keySchema != null && this._keySchema.Count > 0; } /// /// Gets and sets the property LastEvaluatedShardId. /// /// The shard ID of the item where the operation stopped, inclusive of the previous result /// set. Use this value to start a new operation, excluding this value in the new request. /// /// /// /// If LastEvaluatedShardId is empty, then the "last page" of results has /// been processed and there is currently no more data to be retrieved. /// /// /// /// If LastEvaluatedShardId is not empty, it does not necessarily mean that /// there is more data in the result set. The only way to know when you have reached the /// end of the result set is when LastEvaluatedShardId is empty. /// /// [AWSProperty(Min=28, Max=65)] public string LastEvaluatedShardId { get { return this._lastEvaluatedShardId; } set { this._lastEvaluatedShardId = value; } } // Check to see if LastEvaluatedShardId property is set internal bool IsSetLastEvaluatedShardId() { return this._lastEvaluatedShardId != null; } /// /// Gets and sets the property Shards. /// /// The shards that comprise the stream. /// /// 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. /// /// [AWSProperty(Min=37, Max=1024)] 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 StreamLabel. /// /// A timestamp, in ISO 8601 format, for this stream. /// /// /// /// Note that LatestStreamLabel is not a unique identifier for the stream, /// because it is possible that a stream from another table might have the same timestamp. /// However, the combination of the following three elements is guaranteed to be unique: /// ///
  • /// /// the AWS customer ID. /// ///
  • /// /// the table name /// ///
  • /// /// the StreamLabel /// ///
///
public string StreamLabel { get { return this._streamLabel; } set { this._streamLabel = value; } } // Check to see if StreamLabel property is set internal bool IsSetStreamLabel() { return this._streamLabel != null; } /// /// Gets and sets the property StreamStatus. /// /// Indicates the current status of the stream: /// ///
  • /// /// ENABLING - Streams is currently being enabled on the DynamoDB table. /// ///
  • /// /// ENABLED - the stream is enabled. /// ///
  • /// /// DISABLING - Streams is currently being disabled on the DynamoDB table. /// ///
  • /// /// DISABLED - the stream is disabled. /// ///
///
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; } /// /// Gets and sets the property StreamViewType. /// /// Indicates the format of the records within this stream: /// ///
  • /// /// KEYS_ONLY - only the key attributes of items that were modified in the /// DynamoDB table. /// ///
  • /// /// NEW_IMAGE - entire items from the table, as they appeared after they /// were modified. /// ///
  • /// /// OLD_IMAGE - entire items from the table, as they appeared before they /// were modified. /// ///
  • /// /// NEW_AND_OLD_IMAGES - both the new and the old images of the items from /// the table. /// ///
///
public StreamViewType StreamViewType { get { return this._streamViewType; } set { this._streamViewType = value; } } // Check to see if StreamViewType property is set internal bool IsSetStreamViewType() { return this._streamViewType != null; } /// /// Gets and sets the property TableName. /// /// The DynamoDB table with which the stream is associated. /// /// [AWSProperty(Min=3, Max=255)] public string TableName { get { return this._tableName; } set { this._tableName = value; } } // Check to see if TableName property is set internal bool IsSetTableName() { return this._tableName != null; } } }