AWS SDK for C++  0.14.3
AWS SDK for C++
LocalSecondaryIndexDescription.h
Go to the documentation of this file.
1 /*
2 * Copyright 2010-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License").
5 * You may not use this file except in compliance with the License.
6 * A copy of the License is located at
7 *
8 * http://aws.amazon.com/apache2.0
9 *
10 * or in the "license" file accompanying this file. This file is distributed
11 * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
12 * express or implied. See the License for the specific language governing
13 * permissions and limitations under the License.
14 */
15 #pragma once
21 
22 namespace Aws
23 {
24 namespace Utils
25 {
26 namespace Json
27 {
28  class JsonValue;
29 } // namespace Json
30 } // namespace Utils
31 namespace DynamoDB
32 {
33 namespace Model
34 {
35 
40  {
41  public:
45  Aws::Utils::Json::JsonValue Jsonize() const;
46 
50  inline const Aws::String& GetIndexName() const{ return m_indexName; }
51 
55  inline void SetIndexName(const Aws::String& value) { m_indexNameHasBeenSet = true; m_indexName = value; }
56 
60  inline void SetIndexName(Aws::String&& value) { m_indexNameHasBeenSet = true; m_indexName = value; }
61 
65  inline void SetIndexName(const char* value) { m_indexNameHasBeenSet = true; m_indexName.assign(value); }
66 
70  inline LocalSecondaryIndexDescription& WithIndexName(const Aws::String& value) { SetIndexName(value); return *this;}
71 
75  inline LocalSecondaryIndexDescription& WithIndexName(Aws::String&& value) { SetIndexName(value); return *this;}
76 
80  inline LocalSecondaryIndexDescription& WithIndexName(const char* value) { SetIndexName(value); return *this;}
81 
94  inline const Aws::Vector<KeySchemaElement>& GetKeySchema() const{ return m_keySchema; }
95 
108  inline void SetKeySchema(const Aws::Vector<KeySchemaElement>& value) { m_keySchemaHasBeenSet = true; m_keySchema = value; }
109 
122  inline void SetKeySchema(Aws::Vector<KeySchemaElement>&& value) { m_keySchemaHasBeenSet = true; m_keySchema = value; }
123 
136  inline LocalSecondaryIndexDescription& WithKeySchema(const Aws::Vector<KeySchemaElement>& value) { SetKeySchema(value); return *this;}
137 
150  inline LocalSecondaryIndexDescription& WithKeySchema(Aws::Vector<KeySchemaElement>&& value) { SetKeySchema(value); return *this;}
151 
164  inline LocalSecondaryIndexDescription& AddKeySchema(const KeySchemaElement& value) { m_keySchemaHasBeenSet = true; m_keySchema.push_back(value); return *this; }
165 
178  inline LocalSecondaryIndexDescription& AddKeySchema(KeySchemaElement&& value) { m_keySchemaHasBeenSet = true; m_keySchema.push_back(value); return *this; }
179 
180 
181  inline const Projection& GetProjection() const{ return m_projection; }
182 
183 
184  inline void SetProjection(const Projection& value) { m_projectionHasBeenSet = true; m_projection = value; }
185 
186 
187  inline void SetProjection(Projection&& value) { m_projectionHasBeenSet = true; m_projection = value; }
188 
189 
190  inline LocalSecondaryIndexDescription& WithProjection(const Projection& value) { SetProjection(value); return *this;}
191 
192 
193  inline LocalSecondaryIndexDescription& WithProjection(Projection&& value) { SetProjection(value); return *this;}
194 
200  inline long long GetIndexSizeBytes() const{ return m_indexSizeBytes; }
201 
207  inline void SetIndexSizeBytes(long long value) { m_indexSizeBytesHasBeenSet = true; m_indexSizeBytes = value; }
208 
214  inline LocalSecondaryIndexDescription& WithIndexSizeBytes(long long value) { SetIndexSizeBytes(value); return *this;}
215 
221  inline long long GetItemCount() const{ return m_itemCount; }
222 
228  inline void SetItemCount(long long value) { m_itemCountHasBeenSet = true; m_itemCount = value; }
229 
235  inline LocalSecondaryIndexDescription& WithItemCount(long long value) { SetItemCount(value); return *this;}
236 
240  inline const Aws::String& GetIndexArn() const{ return m_indexArn; }
241 
245  inline void SetIndexArn(const Aws::String& value) { m_indexArnHasBeenSet = true; m_indexArn = value; }
246 
250  inline void SetIndexArn(Aws::String&& value) { m_indexArnHasBeenSet = true; m_indexArn = value; }
251 
255  inline void SetIndexArn(const char* value) { m_indexArnHasBeenSet = true; m_indexArn.assign(value); }
256 
260  inline LocalSecondaryIndexDescription& WithIndexArn(const Aws::String& value) { SetIndexArn(value); return *this;}
261 
265  inline LocalSecondaryIndexDescription& WithIndexArn(Aws::String&& value) { SetIndexArn(value); return *this;}
266 
270  inline LocalSecondaryIndexDescription& WithIndexArn(const char* value) { SetIndexArn(value); return *this;}
271 
272  private:
273  Aws::String m_indexName;
274  bool m_indexNameHasBeenSet;
275  Aws::Vector<KeySchemaElement> m_keySchema;
276  bool m_keySchemaHasBeenSet;
277  Projection m_projection;
278  bool m_projectionHasBeenSet;
279  long long m_indexSizeBytes;
280  bool m_indexSizeBytesHasBeenSet;
281  long long m_itemCount;
282  bool m_itemCountHasBeenSet;
283  Aws::String m_indexArn;
284  bool m_indexArnHasBeenSet;
285  };
286 
287 } // namespace Model
288 } // namespace DynamoDB
289 } // namespace Aws
LocalSecondaryIndexDescription & WithIndexArn(const char *value)
LocalSecondaryIndexDescription & WithKeySchema(const Aws::Vector< KeySchemaElement > &value)
LocalSecondaryIndexDescription & WithProjection(Projection &&value)
std::vector< T, Aws::Allocator< T > > Vector
Definition: AWSVector.h:27
LocalSecondaryIndexDescription & WithProjection(const Projection &value)
const Aws::Vector< KeySchemaElement > & GetKeySchema() const
LocalSecondaryIndexDescription & WithIndexName(const char *value)
#define AWS_DYNAMODB_API
LocalSecondaryIndexDescription & WithIndexName(const Aws::String &value)
void SetKeySchema(const Aws::Vector< KeySchemaElement > &value)
LocalSecondaryIndexDescription & AddKeySchema(KeySchemaElement &&value)
LocalSecondaryIndexDescription & AddKeySchema(const KeySchemaElement &value)
LocalSecondaryIndexDescription & WithIndexArn(Aws::String &&value)
LocalSecondaryIndexDescription & WithIndexSizeBytes(long long value)
LocalSecondaryIndexDescription & WithIndexName(Aws::String &&value)
LocalSecondaryIndexDescription & WithIndexArn(const Aws::String &value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Definition: AWSString.h:97
LocalSecondaryIndexDescription & WithItemCount(long long value)
void SetKeySchema(Aws::Vector< KeySchemaElement > &&value)
LocalSecondaryIndexDescription & WithKeySchema(Aws::Vector< KeySchemaElement > &&value)
JSON (JavaScript Object Notation).