/* * 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 { /// /// Container for the parameters to the GetItem operation. /// The GetItem operation returns a set of attributes for the item with the /// given primary key. If there is no matching item, GetItem does not return /// any data and there will be no Item element in the response. /// /// /// /// GetItem provides an eventually consistent read by default. If your application /// requires a strongly consistent read, set ConsistentRead to true. /// Although a strongly consistent read might take more time than an eventually consistent /// read, it always returns the last updated value. /// /// public partial class GetItemRequest : AmazonDynamoDBRequest { private List _attributesToGet = new List(); private bool? _consistentRead; private Dictionary _expressionAttributeNames = new Dictionary(); private Dictionary _key = new Dictionary(); private string _projectionExpression; private ReturnConsumedCapacity _returnConsumedCapacity; private string _tableName; /// /// Empty constructor used to set properties independently even when a simple constructor is available /// public GetItemRequest() { } /// /// Instantiates GetItemRequest with the parameterized properties /// /// The name of the table containing the requested item. /// A map of attribute names to AttributeValue objects, representing the primary key of the item to retrieve. For the primary key, you must provide all of the attributes. For example, with a simple primary key, you only need to provide a value for the partition key. For a composite primary key, you must provide values for both the partition key and the sort key. public GetItemRequest(string tableName, Dictionary key) { _tableName = tableName; _key = key; } /// /// Instantiates GetItemRequest with the parameterized properties /// /// The name of the table containing the requested item. /// A map of attribute names to AttributeValue objects, representing the primary key of the item to retrieve. For the primary key, you must provide all of the attributes. For example, with a simple primary key, you only need to provide a value for the partition key. For a composite primary key, you must provide values for both the partition key and the sort key. /// Determines the read consistency model: If set to true, then the operation uses strongly consistent reads; otherwise, the operation uses eventually consistent reads. public GetItemRequest(string tableName, Dictionary key, bool consistentRead) { _tableName = tableName; _key = key; _consistentRead = consistentRead; } /// /// Gets and sets the property AttributesToGet. /// /// This is a legacy parameter. Use ProjectionExpression instead. For more /// information, see AttributesToGet /// 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. /// /// Determines the read consistency model: If set to true, then the operation /// uses strongly consistent reads; otherwise, the operation uses eventually consistent /// reads. /// /// 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 Specifying /// 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 Key. /// /// A map of attribute names to AttributeValue objects, representing the /// primary key of the item to retrieve. /// /// /// /// For the primary key, you must provide all of the attributes. For example, with a simple /// primary key, you only need to provide a value for the partition key. For a composite /// primary key, you must provide values for both the partition key and the sort key. /// /// [AWSProperty(Required=true)] public Dictionary Key { get { return this._key; } set { this._key = value; } } // Check to see if Key property is set internal bool IsSetKey() { return this._key != null && this._key.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 expression must be separated by commas. /// /// /// /// If no attribute names are specified, then all attributes are returned. If any of the /// requested attributes are not found, they do not appear in the result. /// /// /// /// For more information, see Specifying /// 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; } /// /// Gets and sets the property ReturnConsumedCapacity. /// public ReturnConsumedCapacity ReturnConsumedCapacity { get { return this._returnConsumedCapacity; } set { this._returnConsumedCapacity = value; } } // Check to see if ReturnConsumedCapacity property is set internal bool IsSetReturnConsumedCapacity() { return this._returnConsumedCapacity != null; } /// /// Gets and sets the property TableName. /// /// The name of the table containing the requested item. /// /// [AWSProperty(Required=true, 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; } } }