/* * 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 DeleteItem operation. /// Deletes a single item in a table by primary key. You can perform a conditional delete /// operation that deletes the item if it exists, or if it has an expected attribute value. /// /// /// /// In addition to deleting an item, you can also return the item's attribute values in /// the same operation, using the ReturnValues parameter. /// /// /// /// Unless you specify conditions, the DeleteItem is an idempotent operation; /// running it multiple times on the same item or attribute does not result in /// an error response. /// /// /// /// Conditional deletes are useful for deleting items only if specific conditions are /// met. If those conditions are met, DynamoDB performs the delete. Otherwise, the item /// is not deleted. /// /// public partial class DeleteItemRequest : AmazonDynamoDBRequest { private ConditionalOperator _conditionalOperator; private string _conditionExpression; private Dictionary _expected = new Dictionary(); private Dictionary _expressionAttributeNames = new Dictionary(); private Dictionary _expressionAttributeValues = new Dictionary(); private Dictionary _key = new Dictionary(); private ReturnConsumedCapacity _returnConsumedCapacity; private ReturnItemCollectionMetrics _returnItemCollectionMetrics; private ReturnValue _returnValues; private string _tableName; /// /// Empty constructor used to set properties independently even when a simple constructor is available /// public DeleteItemRequest() { } /// /// Instantiates DeleteItemRequest with the parameterized properties /// /// The name of the table from which to delete the item. /// A map of attribute names to AttributeValue objects, representing the primary key of the item to delete. 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 DeleteItemRequest(string tableName, Dictionary key) { _tableName = tableName; _key = key; } /// /// Instantiates DeleteItemRequest with the parameterized properties /// /// The name of the table from which to delete the item. /// A map of attribute names to AttributeValue objects, representing the primary key of the item to delete. 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. /// Use ReturnValues if you want to get the item attributes as they appeared before they were deleted. For DeleteItem, the valid values are:
  • NONE - If ReturnValues is not specified, or if its value is NONE, then nothing is returned. (This setting is the default for ReturnValues.)
  • ALL_OLD - The content of the old item is returned.
The ReturnValues parameter is used by several DynamoDB operations; however, DeleteItem does not recognize any values other than NONE or ALL_OLD. public DeleteItemRequest(string tableName, Dictionary key, ReturnValue returnValues) { _tableName = tableName; _key = key; _returnValues = returnValues; } /// /// Gets and sets the property ConditionalOperator. /// /// This is a legacy parameter. Use ConditionExpression instead. For more /// information, see ConditionalOperator /// in the Amazon DynamoDB Developer Guide. /// /// public ConditionalOperator ConditionalOperator { get { return this._conditionalOperator; } set { this._conditionalOperator = value; } } // Check to see if ConditionalOperator property is set internal bool IsSetConditionalOperator() { return this._conditionalOperator != null; } /// /// Gets and sets the property ConditionExpression. /// /// A condition that must be satisfied in order for a conditional DeleteItem /// to succeed. /// /// /// /// An expression can contain any of the following: /// ///
  • /// /// Functions: attribute_exists | attribute_not_exists | attribute_type | contains /// | begins_with | size /// /// /// /// These function names are case-sensitive. /// ///
  • /// /// Comparison operators: = | <> | < | > | <= | >= | BETWEEN | /// IN /// ///
  • /// /// Logical operators: AND | OR | NOT /// ///
/// /// For more information about condition expressions, see Condition /// Expressions in the Amazon DynamoDB Developer Guide. /// ///
public string ConditionExpression { get { return this._conditionExpression; } set { this._conditionExpression = value; } } // Check to see if ConditionExpression property is set internal bool IsSetConditionExpression() { return this._conditionExpression != null; } /// /// Gets and sets the property Expected. /// /// This is a legacy parameter. Use ConditionExpression instead. For more /// information, see Expected /// in the Amazon DynamoDB Developer Guide. /// /// public Dictionary Expected { get { return this._expected; } set { this._expected = value; } } // Check to see if Expected property is set internal bool IsSetExpected() { return this._expected != null && this._expected.Count > 0; } /// /// 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 ExpressionAttributeValues. /// /// One or more values that can be substituted in an expression. /// /// /// /// Use the : (colon) character in an expression to dereference an attribute value. /// For example, suppose that you wanted to check whether the value of the ProductStatus /// attribute was one of the following: /// /// /// /// Available | Backordered | Discontinued /// /// /// /// You would first need to specify ExpressionAttributeValues as follows: /// /// /// /// { ":avail":{"S":"Available"}, ":back":{"S":"Backordered"}, ":disc":{"S":"Discontinued"} /// } /// /// /// /// You could then use these values in an expression, such as this: /// /// /// /// ProductStatus IN (:avail, :back, :disc) /// /// /// /// For more information on expression attribute values, see Condition /// Expressions in the Amazon DynamoDB Developer Guide. /// /// public Dictionary ExpressionAttributeValues { get { return this._expressionAttributeValues; } set { this._expressionAttributeValues = value; } } // Check to see if ExpressionAttributeValues property is set internal bool IsSetExpressionAttributeValues() { return this._expressionAttributeValues != null && this._expressionAttributeValues.Count > 0; } /// /// Gets and sets the property Key. /// /// A map of attribute names to AttributeValue objects, representing the /// primary key of the item to delete. /// /// /// /// 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 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 ReturnItemCollectionMetrics. /// /// Determines whether item collection metrics are returned. If set to SIZE, /// the response includes statistics about item collections, if any, that were modified /// during the operation are returned in the response. If set to NONE (the /// default), no statistics are returned. /// /// public ReturnItemCollectionMetrics ReturnItemCollectionMetrics { get { return this._returnItemCollectionMetrics; } set { this._returnItemCollectionMetrics = value; } } // Check to see if ReturnItemCollectionMetrics property is set internal bool IsSetReturnItemCollectionMetrics() { return this._returnItemCollectionMetrics != null; } /// /// Gets and sets the property ReturnValues. /// /// Use ReturnValues if you want to get the item attributes as they appeared /// before they were deleted. For DeleteItem, the valid values are: /// ///
  • /// /// NONE - If ReturnValues is not specified, or if its value /// is NONE, then nothing is returned. (This setting is the default for ReturnValues.) /// ///
  • /// /// ALL_OLD - The content of the old item is returned. /// ///
/// /// The ReturnValues parameter is used by several DynamoDB operations; however, /// DeleteItem does not recognize any values other than NONE /// or ALL_OLD. /// /// ///
public ReturnValue ReturnValues { get { return this._returnValues; } set { this._returnValues = value; } } // Check to see if ReturnValues property is set internal bool IsSetReturnValues() { return this._returnValues != null; } /// /// Gets and sets the property TableName. /// /// The name of the table from which to delete the 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; } } }