AWS SDK for C++

AWS SDK for C++ Version 1.11.440

Loading...
Searching...
No Matches
GlobalSecondaryIndex.h
1
6#pragma once
7#include <aws/dynamodb/DynamoDB_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/dynamodb/model/Projection.h>
11#include <aws/dynamodb/model/ProvisionedThroughput.h>
12#include <aws/dynamodb/model/OnDemandThroughput.h>
13#include <aws/dynamodb/model/KeySchemaElement.h>
14#include <utility>
15
16namespace Aws
17{
18namespace Utils
19{
20namespace Json
21{
22 class JsonValue;
23 class JsonView;
24} // namespace Json
25} // namespace Utils
26namespace DynamoDB
27{
28namespace Model
29{
30
38 {
39 public:
40 AWS_DYNAMODB_API GlobalSecondaryIndex();
43 AWS_DYNAMODB_API Aws::Utils::Json::JsonValue Jsonize() const;
44
45
47
51 inline const Aws::String& GetIndexName() const{ return m_indexName; }
52 inline bool IndexNameHasBeenSet() const { return m_indexNameHasBeenSet; }
53 inline void SetIndexName(const Aws::String& value) { m_indexNameHasBeenSet = true; m_indexName = value; }
54 inline void SetIndexName(Aws::String&& value) { m_indexNameHasBeenSet = true; m_indexName = std::move(value); }
55 inline void SetIndexName(const char* value) { m_indexNameHasBeenSet = true; m_indexName.assign(value); }
56 inline GlobalSecondaryIndex& WithIndexName(const Aws::String& value) { SetIndexName(value); return *this;}
57 inline GlobalSecondaryIndex& WithIndexName(Aws::String&& value) { SetIndexName(std::move(value)); return *this;}
58 inline GlobalSecondaryIndex& WithIndexName(const char* value) { SetIndexName(value); return *this;}
60
62
74 inline const Aws::Vector<KeySchemaElement>& GetKeySchema() const{ return m_keySchema; }
75 inline bool KeySchemaHasBeenSet() const { return m_keySchemaHasBeenSet; }
76 inline void SetKeySchema(const Aws::Vector<KeySchemaElement>& value) { m_keySchemaHasBeenSet = true; m_keySchema = value; }
77 inline void SetKeySchema(Aws::Vector<KeySchemaElement>&& value) { m_keySchemaHasBeenSet = true; m_keySchema = std::move(value); }
79 inline GlobalSecondaryIndex& WithKeySchema(Aws::Vector<KeySchemaElement>&& value) { SetKeySchema(std::move(value)); return *this;}
80 inline GlobalSecondaryIndex& AddKeySchema(const KeySchemaElement& value) { m_keySchemaHasBeenSet = true; m_keySchema.push_back(value); return *this; }
81 inline GlobalSecondaryIndex& AddKeySchema(KeySchemaElement&& value) { m_keySchemaHasBeenSet = true; m_keySchema.push_back(std::move(value)); return *this; }
83
85
90 inline const Projection& GetProjection() const{ return m_projection; }
91 inline bool ProjectionHasBeenSet() const { return m_projectionHasBeenSet; }
92 inline void SetProjection(const Projection& value) { m_projectionHasBeenSet = true; m_projection = value; }
93 inline void SetProjection(Projection&& value) { m_projectionHasBeenSet = true; m_projection = std::move(value); }
94 inline GlobalSecondaryIndex& WithProjection(const Projection& value) { SetProjection(value); return *this;}
95 inline GlobalSecondaryIndex& WithProjection(Projection&& value) { SetProjection(std::move(value)); return *this;}
97
99
106 inline const ProvisionedThroughput& GetProvisionedThroughput() const{ return m_provisionedThroughput; }
107 inline bool ProvisionedThroughputHasBeenSet() const { return m_provisionedThroughputHasBeenSet; }
108 inline void SetProvisionedThroughput(const ProvisionedThroughput& value) { m_provisionedThroughputHasBeenSet = true; m_provisionedThroughput = value; }
109 inline void SetProvisionedThroughput(ProvisionedThroughput&& value) { m_provisionedThroughputHasBeenSet = true; m_provisionedThroughput = std::move(value); }
113
115
121 inline const OnDemandThroughput& GetOnDemandThroughput() const{ return m_onDemandThroughput; }
122 inline bool OnDemandThroughputHasBeenSet() const { return m_onDemandThroughputHasBeenSet; }
123 inline void SetOnDemandThroughput(const OnDemandThroughput& value) { m_onDemandThroughputHasBeenSet = true; m_onDemandThroughput = value; }
124 inline void SetOnDemandThroughput(OnDemandThroughput&& value) { m_onDemandThroughputHasBeenSet = true; m_onDemandThroughput = std::move(value); }
126 inline GlobalSecondaryIndex& WithOnDemandThroughput(OnDemandThroughput&& value) { SetOnDemandThroughput(std::move(value)); return *this;}
128 private:
129
130 Aws::String m_indexName;
131 bool m_indexNameHasBeenSet = false;
132
134 bool m_keySchemaHasBeenSet = false;
135
136 Projection m_projection;
137 bool m_projectionHasBeenSet = false;
138
139 ProvisionedThroughput m_provisionedThroughput;
140 bool m_provisionedThroughputHasBeenSet = false;
141
142 OnDemandThroughput m_onDemandThroughput;
143 bool m_onDemandThroughputHasBeenSet = false;
144 };
145
146} // namespace Model
147} // namespace DynamoDB
148} // namespace Aws
GlobalSecondaryIndex & WithKeySchema(Aws::Vector< KeySchemaElement > &&value)
void SetKeySchema(Aws::Vector< KeySchemaElement > &&value)
void SetOnDemandThroughput(OnDemandThroughput &&value)
void SetIndexName(const Aws::String &value)
AWS_DYNAMODB_API GlobalSecondaryIndex(Aws::Utils::Json::JsonView jsonValue)
AWS_DYNAMODB_API GlobalSecondaryIndex & operator=(Aws::Utils::Json::JsonView jsonValue)
GlobalSecondaryIndex & WithKeySchema(const Aws::Vector< KeySchemaElement > &value)
GlobalSecondaryIndex & WithIndexName(const char *value)
const ProvisionedThroughput & GetProvisionedThroughput() const
GlobalSecondaryIndex & WithIndexName(Aws::String &&value)
void SetOnDemandThroughput(const OnDemandThroughput &value)
GlobalSecondaryIndex & AddKeySchema(KeySchemaElement &&value)
GlobalSecondaryIndex & WithOnDemandThroughput(const OnDemandThroughput &value)
void SetProvisionedThroughput(ProvisionedThroughput &&value)
GlobalSecondaryIndex & WithProvisionedThroughput(const ProvisionedThroughput &value)
GlobalSecondaryIndex & WithProvisionedThroughput(ProvisionedThroughput &&value)
void SetKeySchema(const Aws::Vector< KeySchemaElement > &value)
GlobalSecondaryIndex & WithIndexName(const Aws::String &value)
GlobalSecondaryIndex & WithOnDemandThroughput(OnDemandThroughput &&value)
GlobalSecondaryIndex & WithProjection(const Projection &value)
AWS_DYNAMODB_API Aws::Utils::Json::JsonValue Jsonize() const
void SetProvisionedThroughput(const ProvisionedThroughput &value)
GlobalSecondaryIndex & WithProjection(Projection &&value)
const OnDemandThroughput & GetOnDemandThroughput() const
const Aws::Vector< KeySchemaElement > & GetKeySchema() const
GlobalSecondaryIndex & AddKeySchema(const KeySchemaElement &value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue