/* * 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 single element of a key schema. A key schema specifies the attributes /// that make up the primary key of a table, or the key attributes of an index. /// /// /// /// A KeySchemaElement represents exactly one attribute of the primary key. /// For example, a simple primary key would be represented by one KeySchemaElement /// (for the partition key). A composite primary key would require one KeySchemaElement /// for the partition key, and another KeySchemaElement for the sort key. /// /// /// /// A KeySchemaElement must be a scalar, top-level attribute (not a nested /// attribute). The data type must be one of String, Number, or Binary. The attribute /// cannot be nested within a List or a Map. /// /// public partial class KeySchemaElement { private string _attributeName; private KeyType _keyType; /// /// Empty constructor used to set properties independently even when a simple constructor is available /// public KeySchemaElement() { } /// /// Instantiates KeySchemaElement with the parameterized properties /// /// The name of a key attribute. /// The role that this key attribute will assume: The partition key of an item is also known as its hash attribute. The term "hash attribute" derives from DynamoDB's usage of an internal hash function to evenly distribute data items across partitions, based on their partition key values. The sort key of an item is also known as its range attribute. The term "range attribute" derives from the way DynamoDB stores items with the same partition key physically close together, in sorted order by the sort key value. public KeySchemaElement(string attributeName, KeyType keyType) { _attributeName = attributeName; _keyType = keyType; } /// /// Gets and sets the property AttributeName. /// /// The name of a key attribute. /// /// [AWSProperty(Required=true, Min=1, Max=255)] public string AttributeName { get { return this._attributeName; } set { this._attributeName = value; } } // Check to see if AttributeName property is set internal bool IsSetAttributeName() { return this._attributeName != null; } /// /// Gets and sets the property KeyType. /// /// The role that this key attribute will assume: /// /// /// /// The partition key of an item is also known as its hash attribute. The term /// "hash attribute" derives from DynamoDB's usage of an internal hash function to evenly /// distribute data items across partitions, based on their partition key values. /// /// /// /// The sort key of an item is also known as its range attribute. The term "range /// attribute" derives from the way DynamoDB stores items with the same partition key /// physically close together, in sorted order by the sort key value. /// /// /// [AWSProperty(Required=true)] public KeyType KeyType { get { return this._keyType; } set { this._keyType = value; } } // Check to see if KeyType property is set internal bool IsSetKeyType() { return this._keyType != null; } } }