AWS SDK for C++  0.12.9
AWS SDK for C++
GlobalSecondaryIndex.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
22 
23 namespace Aws
24 {
25 namespace Utils
26 {
27 namespace Json
28 {
29  class JsonValue;
30 } // namespace Json
31 } // namespace Utils
32 namespace DynamoDB
33 {
34 namespace Model
35 {
36 
41  {
42  public:
45  GlobalSecondaryIndex& operator=(const Aws::Utils::Json::JsonValue& jsonValue);
46  Aws::Utils::Json::JsonValue Jsonize() const;
47 
52  inline const Aws::String& GetIndexName() const{ return m_indexName; }
53 
58  inline void SetIndexName(const Aws::String& value) { m_indexNameHasBeenSet = true; m_indexName = value; }
59 
64  inline void SetIndexName(Aws::String&& value) { m_indexNameHasBeenSet = true; m_indexName = value; }
65 
70  inline void SetIndexName(const char* value) { m_indexNameHasBeenSet = true; m_indexName.assign(value); }
71 
76  inline GlobalSecondaryIndex& WithIndexName(const Aws::String& value) { SetIndexName(value); return *this;}
77 
82  inline GlobalSecondaryIndex& WithIndexName(Aws::String&& value) { SetIndexName(value); return *this;}
83 
88  inline GlobalSecondaryIndex& WithIndexName(const char* value) { SetIndexName(value); return *this;}
89 
102  inline const Aws::Vector<KeySchemaElement>& GetKeySchema() const{ return m_keySchema; }
103 
116  inline void SetKeySchema(const Aws::Vector<KeySchemaElement>& value) { m_keySchemaHasBeenSet = true; m_keySchema = value; }
117 
130  inline void SetKeySchema(Aws::Vector<KeySchemaElement>&& value) { m_keySchemaHasBeenSet = true; m_keySchema = value; }
131 
144  inline GlobalSecondaryIndex& WithKeySchema(const Aws::Vector<KeySchemaElement>& value) { SetKeySchema(value); return *this;}
145 
158  inline GlobalSecondaryIndex& WithKeySchema(Aws::Vector<KeySchemaElement>&& value) { SetKeySchema(value); return *this;}
159 
172  inline GlobalSecondaryIndex& AddKeySchema(const KeySchemaElement& value) { m_keySchemaHasBeenSet = true; m_keySchema.push_back(value); return *this; }
173 
186  inline GlobalSecondaryIndex& AddKeySchema(KeySchemaElement&& value) { m_keySchemaHasBeenSet = true; m_keySchema.push_back(value); return *this; }
187 
188 
189  inline const Projection& GetProjection() const{ return m_projection; }
190 
191 
192  inline void SetProjection(const Projection& value) { m_projectionHasBeenSet = true; m_projection = value; }
193 
194 
195  inline void SetProjection(Projection&& value) { m_projectionHasBeenSet = true; m_projection = value; }
196 
197 
198  inline GlobalSecondaryIndex& WithProjection(const Projection& value) { SetProjection(value); return *this;}
199 
200 
201  inline GlobalSecondaryIndex& WithProjection(Projection&& value) { SetProjection(value); return *this;}
202 
203 
204  inline const ProvisionedThroughput& GetProvisionedThroughput() const{ return m_provisionedThroughput; }
205 
206 
207  inline void SetProvisionedThroughput(const ProvisionedThroughput& value) { m_provisionedThroughputHasBeenSet = true; m_provisionedThroughput = value; }
208 
209 
210  inline void SetProvisionedThroughput(ProvisionedThroughput&& value) { m_provisionedThroughputHasBeenSet = true; m_provisionedThroughput = value; }
211 
212 
213  inline GlobalSecondaryIndex& WithProvisionedThroughput(const ProvisionedThroughput& value) { SetProvisionedThroughput(value); return *this;}
214 
215 
216  inline GlobalSecondaryIndex& WithProvisionedThroughput(ProvisionedThroughput&& value) { SetProvisionedThroughput(value); return *this;}
217 
218  private:
219  Aws::String m_indexName;
220  bool m_indexNameHasBeenSet;
221  Aws::Vector<KeySchemaElement> m_keySchema;
222  bool m_keySchemaHasBeenSet;
223  Projection m_projection;
224  bool m_projectionHasBeenSet;
225  ProvisionedThroughput m_provisionedThroughput;
226  bool m_provisionedThroughputHasBeenSet;
227  };
228 
229 } // namespace Model
230 } // namespace DynamoDB
231 } // namespace Aws
const ProvisionedThroughput & GetProvisionedThroughput() const
GlobalSecondaryIndex & WithIndexName(Aws::String &&value)
GlobalSecondaryIndex & WithProvisionedThroughput(ProvisionedThroughput &&value)
void SetIndexName(const Aws::String &value)
void SetProvisionedThroughput(ProvisionedThroughput &&value)
GlobalSecondaryIndex & WithProjection(const Projection &value)
GlobalSecondaryIndex & WithIndexName(const char *value)
std::vector< T, Aws::Allocator< T > > Vector
Definition: AWSVector.h:27
GlobalSecondaryIndex & WithKeySchema(const Aws::Vector< KeySchemaElement > &value)
GlobalSecondaryIndex & WithIndexName(const Aws::String &value)
const Aws::Vector< KeySchemaElement > & GetKeySchema() const
GlobalSecondaryIndex & WithKeySchema(Aws::Vector< KeySchemaElement > &&value)
GlobalSecondaryIndex & WithProjection(Projection &&value)
#define AWS_DYNAMODB_API
void SetKeySchema(Aws::Vector< KeySchemaElement > &&value)
void SetProvisionedThroughput(const ProvisionedThroughput &value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Definition: AWSString.h:97
void SetKeySchema(const Aws::Vector< KeySchemaElement > &value)
GlobalSecondaryIndex & AddKeySchema(const KeySchemaElement &value)
GlobalSecondaryIndex & AddKeySchema(KeySchemaElement &&value)
GlobalSecondaryIndex & WithProvisionedThroughput(const ProvisionedThroughput &value)
JSON (JavaScript Object Notation).