AWS SDK for C++

AWS SDK for C++ Version 1.11.606

Loading...
Searching...
No Matches
GlobalSecondaryIndexInfo.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 GlobalSecondaryIndexInfo() = default;
43 AWS_DYNAMODB_API Aws::Utils::Json::JsonValue Jsonize() const;
44
45
47
50 inline const Aws::String& GetIndexName() const { return m_indexName; }
51 inline bool IndexNameHasBeenSet() const { return m_indexNameHasBeenSet; }
52 template<typename IndexNameT = Aws::String>
53 void SetIndexName(IndexNameT&& value) { m_indexNameHasBeenSet = true; m_indexName = std::forward<IndexNameT>(value); }
54 template<typename IndexNameT = Aws::String>
55 GlobalSecondaryIndexInfo& WithIndexName(IndexNameT&& value) { SetIndexName(std::forward<IndexNameT>(value)); return *this;}
57
59
71 inline const Aws::Vector<KeySchemaElement>& GetKeySchema() const { return m_keySchema; }
72 inline bool KeySchemaHasBeenSet() const { return m_keySchemaHasBeenSet; }
73 template<typename KeySchemaT = Aws::Vector<KeySchemaElement>>
74 void SetKeySchema(KeySchemaT&& value) { m_keySchemaHasBeenSet = true; m_keySchema = std::forward<KeySchemaT>(value); }
75 template<typename KeySchemaT = Aws::Vector<KeySchemaElement>>
76 GlobalSecondaryIndexInfo& WithKeySchema(KeySchemaT&& value) { SetKeySchema(std::forward<KeySchemaT>(value)); return *this;}
77 template<typename KeySchemaT = KeySchemaElement>
78 GlobalSecondaryIndexInfo& AddKeySchema(KeySchemaT&& value) { m_keySchemaHasBeenSet = true; m_keySchema.emplace_back(std::forward<KeySchemaT>(value)); return *this; }
80
82
87 inline const Projection& GetProjection() const { return m_projection; }
88 inline bool ProjectionHasBeenSet() const { return m_projectionHasBeenSet; }
89 template<typename ProjectionT = Projection>
90 void SetProjection(ProjectionT&& value) { m_projectionHasBeenSet = true; m_projection = std::forward<ProjectionT>(value); }
91 template<typename ProjectionT = Projection>
92 GlobalSecondaryIndexInfo& WithProjection(ProjectionT&& value) { SetProjection(std::forward<ProjectionT>(value)); return *this;}
94
96
100 inline const ProvisionedThroughput& GetProvisionedThroughput() const { return m_provisionedThroughput; }
101 inline bool ProvisionedThroughputHasBeenSet() const { return m_provisionedThroughputHasBeenSet; }
102 template<typename ProvisionedThroughputT = ProvisionedThroughput>
103 void SetProvisionedThroughput(ProvisionedThroughputT&& value) { m_provisionedThroughputHasBeenSet = true; m_provisionedThroughput = std::forward<ProvisionedThroughputT>(value); }
104 template<typename ProvisionedThroughputT = ProvisionedThroughput>
105 GlobalSecondaryIndexInfo& WithProvisionedThroughput(ProvisionedThroughputT&& value) { SetProvisionedThroughput(std::forward<ProvisionedThroughputT>(value)); return *this;}
107
109
110 inline const OnDemandThroughput& GetOnDemandThroughput() const { return m_onDemandThroughput; }
111 inline bool OnDemandThroughputHasBeenSet() const { return m_onDemandThroughputHasBeenSet; }
112 template<typename OnDemandThroughputT = OnDemandThroughput>
113 void SetOnDemandThroughput(OnDemandThroughputT&& value) { m_onDemandThroughputHasBeenSet = true; m_onDemandThroughput = std::forward<OnDemandThroughputT>(value); }
114 template<typename OnDemandThroughputT = OnDemandThroughput>
115 GlobalSecondaryIndexInfo& WithOnDemandThroughput(OnDemandThroughputT&& value) { SetOnDemandThroughput(std::forward<OnDemandThroughputT>(value)); return *this;}
117 private:
118
119 Aws::String m_indexName;
120 bool m_indexNameHasBeenSet = false;
121
123 bool m_keySchemaHasBeenSet = false;
124
125 Projection m_projection;
126 bool m_projectionHasBeenSet = false;
127
128 ProvisionedThroughput m_provisionedThroughput;
129 bool m_provisionedThroughputHasBeenSet = false;
130
131 OnDemandThroughput m_onDemandThroughput;
132 bool m_onDemandThroughputHasBeenSet = false;
133 };
134
135} // namespace Model
136} // namespace DynamoDB
137} // namespace Aws
void SetProvisionedThroughput(ProvisionedThroughputT &&value)
void SetOnDemandThroughput(OnDemandThroughputT &&value)
const ProvisionedThroughput & GetProvisionedThroughput() const
const Aws::Vector< KeySchemaElement > & GetKeySchema() const
AWS_DYNAMODB_API Aws::Utils::Json::JsonValue Jsonize() const
GlobalSecondaryIndexInfo & WithProvisionedThroughput(ProvisionedThroughputT &&value)
AWS_DYNAMODB_API GlobalSecondaryIndexInfo()=default
GlobalSecondaryIndexInfo & AddKeySchema(KeySchemaT &&value)
GlobalSecondaryIndexInfo & WithProjection(ProjectionT &&value)
const OnDemandThroughput & GetOnDemandThroughput() const
AWS_DYNAMODB_API GlobalSecondaryIndexInfo & operator=(Aws::Utils::Json::JsonView jsonValue)
AWS_DYNAMODB_API GlobalSecondaryIndexInfo(Aws::Utils::Json::JsonView jsonValue)
GlobalSecondaryIndexInfo & WithIndexName(IndexNameT &&value)
GlobalSecondaryIndexInfo & WithKeySchema(KeySchemaT &&value)
GlobalSecondaryIndexInfo & WithOnDemandThroughput(OnDemandThroughputT &&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