AWS SDK for C++  0.14.3
AWS SDK for C++
CreateGlobalSecondaryIndexAction.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:
46  Aws::Utils::Json::JsonValue Jsonize() const;
47 
51  inline const Aws::String& GetIndexName() const{ return m_indexName; }
52 
56  inline void SetIndexName(const Aws::String& value) { m_indexNameHasBeenSet = true; m_indexName = value; }
57 
61  inline void SetIndexName(Aws::String&& value) { m_indexNameHasBeenSet = true; m_indexName = value; }
62 
66  inline void SetIndexName(const char* value) { m_indexNameHasBeenSet = true; m_indexName.assign(value); }
67 
71  inline CreateGlobalSecondaryIndexAction& WithIndexName(const Aws::String& value) { SetIndexName(value); return *this;}
72 
76  inline CreateGlobalSecondaryIndexAction& WithIndexName(Aws::String&& value) { SetIndexName(value); return *this;}
77 
81  inline CreateGlobalSecondaryIndexAction& WithIndexName(const char* value) { SetIndexName(value); return *this;}
82 
86  inline const Aws::Vector<KeySchemaElement>& GetKeySchema() const{ return m_keySchema; }
87 
91  inline void SetKeySchema(const Aws::Vector<KeySchemaElement>& value) { m_keySchemaHasBeenSet = true; m_keySchema = value; }
92 
96  inline void SetKeySchema(Aws::Vector<KeySchemaElement>&& value) { m_keySchemaHasBeenSet = true; m_keySchema = value; }
97 
101  inline CreateGlobalSecondaryIndexAction& WithKeySchema(const Aws::Vector<KeySchemaElement>& value) { SetKeySchema(value); return *this;}
102 
106  inline CreateGlobalSecondaryIndexAction& WithKeySchema(Aws::Vector<KeySchemaElement>&& value) { SetKeySchema(value); return *this;}
107 
111  inline CreateGlobalSecondaryIndexAction& AddKeySchema(const KeySchemaElement& value) { m_keySchemaHasBeenSet = true; m_keySchema.push_back(value); return *this; }
112 
116  inline CreateGlobalSecondaryIndexAction& AddKeySchema(KeySchemaElement&& value) { m_keySchemaHasBeenSet = true; m_keySchema.push_back(value); return *this; }
117 
118 
119  inline const Projection& GetProjection() const{ return m_projection; }
120 
121 
122  inline void SetProjection(const Projection& value) { m_projectionHasBeenSet = true; m_projection = value; }
123 
124 
125  inline void SetProjection(Projection&& value) { m_projectionHasBeenSet = true; m_projection = value; }
126 
127 
128  inline CreateGlobalSecondaryIndexAction& WithProjection(const Projection& value) { SetProjection(value); return *this;}
129 
130 
131  inline CreateGlobalSecondaryIndexAction& WithProjection(Projection&& value) { SetProjection(value); return *this;}
132 
133 
134  inline const ProvisionedThroughput& GetProvisionedThroughput() const{ return m_provisionedThroughput; }
135 
136 
137  inline void SetProvisionedThroughput(const ProvisionedThroughput& value) { m_provisionedThroughputHasBeenSet = true; m_provisionedThroughput = value; }
138 
139 
140  inline void SetProvisionedThroughput(ProvisionedThroughput&& value) { m_provisionedThroughputHasBeenSet = true; m_provisionedThroughput = value; }
141 
142 
143  inline CreateGlobalSecondaryIndexAction& WithProvisionedThroughput(const ProvisionedThroughput& value) { SetProvisionedThroughput(value); return *this;}
144 
145 
146  inline CreateGlobalSecondaryIndexAction& WithProvisionedThroughput(ProvisionedThroughput&& value) { SetProvisionedThroughput(value); return *this;}
147 
148  private:
149  Aws::String m_indexName;
150  bool m_indexNameHasBeenSet;
151  Aws::Vector<KeySchemaElement> m_keySchema;
152  bool m_keySchemaHasBeenSet;
153  Projection m_projection;
154  bool m_projectionHasBeenSet;
155  ProvisionedThroughput m_provisionedThroughput;
156  bool m_provisionedThroughputHasBeenSet;
157  };
158 
159 } // namespace Model
160 } // namespace DynamoDB
161 } // namespace Aws
std::vector< T, Aws::Allocator< T > > Vector
Definition: AWSVector.h:27
const Aws::Vector< KeySchemaElement > & GetKeySchema() const
#define AWS_DYNAMODB_API
CreateGlobalSecondaryIndexAction & WithIndexName(Aws::String &&value)
CreateGlobalSecondaryIndexAction & WithProvisionedThroughput(const ProvisionedThroughput &value)
CreateGlobalSecondaryIndexAction & WithProjection(const Projection &value)
void SetKeySchema(const Aws::Vector< KeySchemaElement > &value)
CreateGlobalSecondaryIndexAction & WithProvisionedThroughput(ProvisionedThroughput &&value)
CreateGlobalSecondaryIndexAction & AddKeySchema(KeySchemaElement &&value)
CreateGlobalSecondaryIndexAction & WithIndexName(const Aws::String &value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Definition: AWSString.h:97
CreateGlobalSecondaryIndexAction & WithKeySchema(const Aws::Vector< KeySchemaElement > &value)
CreateGlobalSecondaryIndexAction & WithIndexName(const char *value)
CreateGlobalSecondaryIndexAction & WithKeySchema(Aws::Vector< KeySchemaElement > &&value)
void SetKeySchema(Aws::Vector< KeySchemaElement > &&value)
JSON (JavaScript Object Notation).
CreateGlobalSecondaryIndexAction & WithProjection(Projection &&value)
CreateGlobalSecondaryIndexAction & AddKeySchema(const KeySchemaElement &value)