AWS SDK for C++

AWS SDK for C++ Version 1.11.870

Loading...
Searching...
No Matches
SourceTableFeatureDetails.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSVector.h>
8#include <aws/dynamodb/DynamoDB_EXPORTS.h>
9#include <aws/dynamodb/model/GlobalSecondaryIndexInfo.h>
10#include <aws/dynamodb/model/LocalSecondaryIndexInfo.h>
11#include <aws/dynamodb/model/SSEDescription.h>
12#include <aws/dynamodb/model/StreamSpecification.h>
13#include <aws/dynamodb/model/TimeToLiveDescription.h>
14#include <aws/dynamodb/model/VectorIndexInfo.h>
15
16#include <utility>
17
18namespace Aws {
19namespace Utils {
20namespace Json {
21class JsonValue;
22class JsonView;
23} // namespace Json
24} // namespace Utils
25namespace DynamoDB {
26namespace Model {
27
35 public:
36 AWS_DYNAMODB_API SourceTableFeatureDetails() = default;
39 AWS_DYNAMODB_API Aws::Utils::Json::JsonValue Jsonize() const;
40
42
47 inline const Aws::Vector<LocalSecondaryIndexInfo>& GetLocalSecondaryIndexes() const { return m_localSecondaryIndexes; }
48 inline bool LocalSecondaryIndexesHasBeenSet() const { return m_localSecondaryIndexesHasBeenSet; }
49 template <typename LocalSecondaryIndexesT = Aws::Vector<LocalSecondaryIndexInfo>>
50 void SetLocalSecondaryIndexes(LocalSecondaryIndexesT&& value) {
51 m_localSecondaryIndexesHasBeenSet = true;
52 m_localSecondaryIndexes = std::forward<LocalSecondaryIndexesT>(value);
53 }
54 template <typename LocalSecondaryIndexesT = Aws::Vector<LocalSecondaryIndexInfo>>
55 SourceTableFeatureDetails& WithLocalSecondaryIndexes(LocalSecondaryIndexesT&& value) {
56 SetLocalSecondaryIndexes(std::forward<LocalSecondaryIndexesT>(value));
57 return *this;
58 }
59 template <typename LocalSecondaryIndexesT = LocalSecondaryIndexInfo>
60 SourceTableFeatureDetails& AddLocalSecondaryIndexes(LocalSecondaryIndexesT&& value) {
61 m_localSecondaryIndexesHasBeenSet = true;
62 m_localSecondaryIndexes.emplace_back(std::forward<LocalSecondaryIndexesT>(value));
63 return *this;
64 }
66
68
73 inline const Aws::Vector<GlobalSecondaryIndexInfo>& GetGlobalSecondaryIndexes() const { return m_globalSecondaryIndexes; }
74 inline bool GlobalSecondaryIndexesHasBeenSet() const { return m_globalSecondaryIndexesHasBeenSet; }
75 template <typename GlobalSecondaryIndexesT = Aws::Vector<GlobalSecondaryIndexInfo>>
76 void SetGlobalSecondaryIndexes(GlobalSecondaryIndexesT&& value) {
77 m_globalSecondaryIndexesHasBeenSet = true;
78 m_globalSecondaryIndexes = std::forward<GlobalSecondaryIndexesT>(value);
79 }
80 template <typename GlobalSecondaryIndexesT = Aws::Vector<GlobalSecondaryIndexInfo>>
81 SourceTableFeatureDetails& WithGlobalSecondaryIndexes(GlobalSecondaryIndexesT&& value) {
82 SetGlobalSecondaryIndexes(std::forward<GlobalSecondaryIndexesT>(value));
83 return *this;
84 }
85 template <typename GlobalSecondaryIndexesT = GlobalSecondaryIndexInfo>
86 SourceTableFeatureDetails& AddGlobalSecondaryIndexes(GlobalSecondaryIndexesT&& value) {
87 m_globalSecondaryIndexesHasBeenSet = true;
88 m_globalSecondaryIndexes.emplace_back(std::forward<GlobalSecondaryIndexesT>(value));
89 return *this;
90 }
92
94
97 inline const StreamSpecification& GetStreamDescription() const { return m_streamDescription; }
98 inline bool StreamDescriptionHasBeenSet() const { return m_streamDescriptionHasBeenSet; }
99 template <typename StreamDescriptionT = StreamSpecification>
100 void SetStreamDescription(StreamDescriptionT&& value) {
101 m_streamDescriptionHasBeenSet = true;
102 m_streamDescription = std::forward<StreamDescriptionT>(value);
103 }
104 template <typename StreamDescriptionT = StreamSpecification>
106 SetStreamDescription(std::forward<StreamDescriptionT>(value));
107 return *this;
108 }
110
112
115 inline const TimeToLiveDescription& GetTimeToLiveDescription() const { return m_timeToLiveDescription; }
116 inline bool TimeToLiveDescriptionHasBeenSet() const { return m_timeToLiveDescriptionHasBeenSet; }
117 template <typename TimeToLiveDescriptionT = TimeToLiveDescription>
118 void SetTimeToLiveDescription(TimeToLiveDescriptionT&& value) {
119 m_timeToLiveDescriptionHasBeenSet = true;
120 m_timeToLiveDescription = std::forward<TimeToLiveDescriptionT>(value);
121 }
122 template <typename TimeToLiveDescriptionT = TimeToLiveDescription>
123 SourceTableFeatureDetails& WithTimeToLiveDescription(TimeToLiveDescriptionT&& value) {
124 SetTimeToLiveDescription(std::forward<TimeToLiveDescriptionT>(value));
125 return *this;
126 }
128
130
134 inline const SSEDescription& GetSSEDescription() const { return m_sSEDescription; }
135 inline bool SSEDescriptionHasBeenSet() const { return m_sSEDescriptionHasBeenSet; }
136 template <typename SSEDescriptionT = SSEDescription>
137 void SetSSEDescription(SSEDescriptionT&& value) {
138 m_sSEDescriptionHasBeenSet = true;
139 m_sSEDescription = std::forward<SSEDescriptionT>(value);
140 }
141 template <typename SSEDescriptionT = SSEDescription>
143 SetSSEDescription(std::forward<SSEDescriptionT>(value));
144 return *this;
145 }
147
149
154 inline const Aws::Vector<VectorIndexInfo>& GetVectorIndexes() const { return m_vectorIndexes; }
155 inline bool VectorIndexesHasBeenSet() const { return m_vectorIndexesHasBeenSet; }
156 template <typename VectorIndexesT = Aws::Vector<VectorIndexInfo>>
157 void SetVectorIndexes(VectorIndexesT&& value) {
158 m_vectorIndexesHasBeenSet = true;
159 m_vectorIndexes = std::forward<VectorIndexesT>(value);
160 }
161 template <typename VectorIndexesT = Aws::Vector<VectorIndexInfo>>
163 SetVectorIndexes(std::forward<VectorIndexesT>(value));
164 return *this;
165 }
166 template <typename VectorIndexesT = VectorIndexInfo>
168 m_vectorIndexesHasBeenSet = true;
169 m_vectorIndexes.emplace_back(std::forward<VectorIndexesT>(value));
170 return *this;
171 }
173 private:
174 Aws::Vector<LocalSecondaryIndexInfo> m_localSecondaryIndexes;
175
176 Aws::Vector<GlobalSecondaryIndexInfo> m_globalSecondaryIndexes;
177
178 StreamSpecification m_streamDescription;
179
180 TimeToLiveDescription m_timeToLiveDescription;
181
182 SSEDescription m_sSEDescription;
183
184 Aws::Vector<VectorIndexInfo> m_vectorIndexes;
185 bool m_localSecondaryIndexesHasBeenSet = false;
186 bool m_globalSecondaryIndexesHasBeenSet = false;
187 bool m_streamDescriptionHasBeenSet = false;
188 bool m_timeToLiveDescriptionHasBeenSet = false;
189 bool m_sSEDescriptionHasBeenSet = false;
190 bool m_vectorIndexesHasBeenSet = false;
191};
192
193} // namespace Model
194} // namespace DynamoDB
195} // namespace Aws
SourceTableFeatureDetails & WithStreamDescription(StreamDescriptionT &&value)
SourceTableFeatureDetails & WithTimeToLiveDescription(TimeToLiveDescriptionT &&value)
const Aws::Vector< VectorIndexInfo > & GetVectorIndexes() const
SourceTableFeatureDetails & AddGlobalSecondaryIndexes(GlobalSecondaryIndexesT &&value)
const Aws::Vector< LocalSecondaryIndexInfo > & GetLocalSecondaryIndexes() const
void SetGlobalSecondaryIndexes(GlobalSecondaryIndexesT &&value)
const Aws::Vector< GlobalSecondaryIndexInfo > & GetGlobalSecondaryIndexes() const
SourceTableFeatureDetails & WithLocalSecondaryIndexes(LocalSecondaryIndexesT &&value)
SourceTableFeatureDetails & WithGlobalSecondaryIndexes(GlobalSecondaryIndexesT &&value)
void SetTimeToLiveDescription(TimeToLiveDescriptionT &&value)
const StreamSpecification & GetStreamDescription() const
void SetLocalSecondaryIndexes(LocalSecondaryIndexesT &&value)
SourceTableFeatureDetails & AddVectorIndexes(VectorIndexesT &&value)
SourceTableFeatureDetails & WithVectorIndexes(VectorIndexesT &&value)
AWS_DYNAMODB_API SourceTableFeatureDetails()=default
const TimeToLiveDescription & GetTimeToLiveDescription() const
AWS_DYNAMODB_API Aws::Utils::Json::JsonValue Jsonize() const
AWS_DYNAMODB_API SourceTableFeatureDetails & operator=(Aws::Utils::Json::JsonView jsonValue)
SourceTableFeatureDetails & AddLocalSecondaryIndexes(LocalSecondaryIndexesT &&value)
AWS_DYNAMODB_API SourceTableFeatureDetails(Aws::Utils::Json::JsonView jsonValue)
SourceTableFeatureDetails & WithSSEDescription(SSEDescriptionT &&value)
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue