/* * 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 dynamodb-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 a set of primary keys and, for each key, the attributes to retrieve from /// the table. /// /// /// /// For each primary key, you must provide all of the key attributes. For example, /// with a simple primary key, you only need to provide the partition key. For a composite /// primary key, you must provide both the partition key and the sort key. /// /// public partial class KeysAndAttributes { private List _attributesToGet = new List(); private bool? _consistentRead; private Dictionary _expressionAttributeNames = new Dictionary(); private List> _keys = new List>(); private string _projectionExpression; /// /// Gets and sets the property AttributesToGet. /// /// This is a legacy parameter. Use ProjectionExpression instead. For more /// information, see Legacy /// Conditional Parameters in the Amazon DynamoDB Developer Guide. /// /// [AWSProperty(Min=1)] public List AttributesToGet { get { return this._attributesToGet; } set { this._attributesToGet = value; } } // Check to see if AttributesToGet property is set internal bool IsSetAttributesToGet() { return this._attributesToGet != null && this._attributesToGet.Count > 0; } /// /// Gets and sets the property ConsistentRead. /// /// The consistency of a read operation. If set to true, then a strongly /// consistent read is used; otherwise, an eventually consistent read is used. /// /// public bool ConsistentRead { get { return this._consistentRead.GetValueOrDefault(); } set { this._consistentRead = value; } } // Check to see if ConsistentRead property is set internal bool IsSetConsistentRead() { return this._consistentRead.HasValue; } /// /// Gets and sets the property ExpressionAttributeNames. /// /// One or more substitution tokens for attribute names in an expression. The following /// are some use cases for using ExpressionAttributeNames: /// ///
  • /// /// To access an attribute whose name conflicts with a DynamoDB reserved word. /// ///
  • /// /// To create a placeholder for repeating occurrences of an attribute name in an expression. /// ///
  • /// /// To prevent special characters in an attribute name from being misinterpreted in an /// expression. /// ///
/// /// Use the # character in an expression to dereference an attribute name. For /// example, consider the following attribute name: /// ///
  • /// /// Percentile /// ///
/// /// The name of this attribute conflicts with a reserved word, so it cannot be used directly /// in an expression. (For the complete list of reserved words, see Reserved /// Words in the Amazon DynamoDB Developer Guide). To work around this, you /// could specify the following for ExpressionAttributeNames: /// ///
  • /// /// {"#P":"Percentile"} /// ///
/// /// You could then use this substitution in an expression, as in this example: /// ///
  • /// /// #P = :val /// ///
/// /// Tokens that begin with the : character are expression attribute values, /// which are placeholders for the actual value at runtime. /// /// /// /// For more information on expression attribute names, see Accessing /// Item Attributes in the Amazon DynamoDB Developer Guide. /// ///
public Dictionary ExpressionAttributeNames { get { return this._expressionAttributeNames; } set { this._expressionAttributeNames = value; } } // Check to see if ExpressionAttributeNames property is set internal bool IsSetExpressionAttributeNames() { return this._expressionAttributeNames != null && this._expressionAttributeNames.Count > 0; } /// /// Gets and sets the property Keys. /// /// The primary key attribute values that define the items and the attributes associated /// with the items. /// /// [AWSProperty(Required=true, Min=1, Max=100)] public List> Keys { get { return this._keys; } set { this._keys = value; } } // Check to see if Keys property is set internal bool IsSetKeys() { return this._keys != null && this._keys.Count > 0; } /// /// Gets and sets the property ProjectionExpression. /// /// A string that identifies one or more attributes to retrieve from the table. These /// attributes can include scalars, sets, or elements of a JSON document. The attributes /// in the ProjectionExpression must be separated by commas. /// /// /// /// If no attribute names are specified, then all attributes will be returned. If any /// of the requested attributes are not found, they will not appear in the result. /// /// /// /// For more information, see Accessing /// Item Attributes in the Amazon DynamoDB Developer Guide. /// /// public string ProjectionExpression { get { return this._projectionExpression; } set { this._projectionExpression = value; } } // Check to see if ProjectionExpression property is set internal bool IsSetProjectionExpression() { return this._projectionExpression != null; } } }