/*
* 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 attributes that are copied (projected) from the table into an index. These
/// are in addition to the primary key attributes and index key attributes, which are
/// automatically projected.
///
public partial class Projection
{
private List _nonKeyAttributes = new List();
private ProjectionType _projectionType;
///
/// Gets and sets the property NonKeyAttributes.
///
/// Represents the non-key attribute names which will be projected into the index.
///
///
///
/// For local secondary indexes, the total count of NonKeyAttributes
summed
/// across all of the local secondary indexes, must not exceed 20. If you project the
/// same attribute into two different indexes, this counts as two distinct attributes
/// when determining the total.
///
///
[AWSProperty(Min=1, Max=20)]
public List NonKeyAttributes
{
get { return this._nonKeyAttributes; }
set { this._nonKeyAttributes = value; }
}
// Check to see if NonKeyAttributes property is set
internal bool IsSetNonKeyAttributes()
{
return this._nonKeyAttributes != null && this._nonKeyAttributes.Count > 0;
}
///
/// Gets and sets the property ProjectionType.
///
/// The set of attributes that are projected into the index:
///
/// -
///
///
KEYS_ONLY
- Only the index and primary keys are projected into the index.
///
/// -
///
///
INCLUDE
- Only the specified table attributes are projected into the
/// index. The list of projected attributes is in NonKeyAttributes
.
///
/// -
///
///
ALL
- All of the table attributes are projected into the index.
///
///
///
public ProjectionType ProjectionType
{
get { return this._projectionType; }
set { this._projectionType = value; }
}
// Check to see if ProjectionType property is set
internal bool IsSetProjectionType()
{
return this._projectionType != null;
}
}
}