AWS SDK for C++

AWS SDK for C++ Version 1.11.744

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
15#include <utility>
16
17namespace Aws {
18namespace Utils {
19namespace Json {
20class JsonValue;
21class JsonView;
22} // namespace Json
23} // namespace Utils
24namespace DynamoDB {
25namespace Model {
26
34 public:
35 AWS_DYNAMODB_API SourceTableFeatureDetails() = default;
38 AWS_DYNAMODB_API Aws::Utils::Json::JsonValue Jsonize() const;
39
41
46 inline const Aws::Vector<LocalSecondaryIndexInfo>& GetLocalSecondaryIndexes() const { return m_localSecondaryIndexes; }
47 inline bool LocalSecondaryIndexesHasBeenSet() const { return m_localSecondaryIndexesHasBeenSet; }
48 template <typename LocalSecondaryIndexesT = Aws::Vector<LocalSecondaryIndexInfo>>
49 void SetLocalSecondaryIndexes(LocalSecondaryIndexesT&& value) {
50 m_localSecondaryIndexesHasBeenSet = true;
51 m_localSecondaryIndexes = std::forward<LocalSecondaryIndexesT>(value);
52 }
53 template <typename LocalSecondaryIndexesT = Aws::Vector<LocalSecondaryIndexInfo>>
54 SourceTableFeatureDetails& WithLocalSecondaryIndexes(LocalSecondaryIndexesT&& value) {
55 SetLocalSecondaryIndexes(std::forward<LocalSecondaryIndexesT>(value));
56 return *this;
57 }
58 template <typename LocalSecondaryIndexesT = LocalSecondaryIndexInfo>
59 SourceTableFeatureDetails& AddLocalSecondaryIndexes(LocalSecondaryIndexesT&& value) {
60 m_localSecondaryIndexesHasBeenSet = true;
61 m_localSecondaryIndexes.emplace_back(std::forward<LocalSecondaryIndexesT>(value));
62 return *this;
63 }
65
67
72 inline const Aws::Vector<GlobalSecondaryIndexInfo>& GetGlobalSecondaryIndexes() const { return m_globalSecondaryIndexes; }
73 inline bool GlobalSecondaryIndexesHasBeenSet() const { return m_globalSecondaryIndexesHasBeenSet; }
74 template <typename GlobalSecondaryIndexesT = Aws::Vector<GlobalSecondaryIndexInfo>>
75 void SetGlobalSecondaryIndexes(GlobalSecondaryIndexesT&& value) {
76 m_globalSecondaryIndexesHasBeenSet = true;
77 m_globalSecondaryIndexes = std::forward<GlobalSecondaryIndexesT>(value);
78 }
79 template <typename GlobalSecondaryIndexesT = Aws::Vector<GlobalSecondaryIndexInfo>>
80 SourceTableFeatureDetails& WithGlobalSecondaryIndexes(GlobalSecondaryIndexesT&& value) {
81 SetGlobalSecondaryIndexes(std::forward<GlobalSecondaryIndexesT>(value));
82 return *this;
83 }
84 template <typename GlobalSecondaryIndexesT = GlobalSecondaryIndexInfo>
85 SourceTableFeatureDetails& AddGlobalSecondaryIndexes(GlobalSecondaryIndexesT&& value) {
86 m_globalSecondaryIndexesHasBeenSet = true;
87 m_globalSecondaryIndexes.emplace_back(std::forward<GlobalSecondaryIndexesT>(value));
88 return *this;
89 }
91
93
96 inline const StreamSpecification& GetStreamDescription() const { return m_streamDescription; }
97 inline bool StreamDescriptionHasBeenSet() const { return m_streamDescriptionHasBeenSet; }
98 template <typename StreamDescriptionT = StreamSpecification>
99 void SetStreamDescription(StreamDescriptionT&& value) {
100 m_streamDescriptionHasBeenSet = true;
101 m_streamDescription = std::forward<StreamDescriptionT>(value);
102 }
103 template <typename StreamDescriptionT = StreamSpecification>
105 SetStreamDescription(std::forward<StreamDescriptionT>(value));
106 return *this;
107 }
109
111
114 inline const TimeToLiveDescription& GetTimeToLiveDescription() const { return m_timeToLiveDescription; }
115 inline bool TimeToLiveDescriptionHasBeenSet() const { return m_timeToLiveDescriptionHasBeenSet; }
116 template <typename TimeToLiveDescriptionT = TimeToLiveDescription>
117 void SetTimeToLiveDescription(TimeToLiveDescriptionT&& value) {
118 m_timeToLiveDescriptionHasBeenSet = true;
119 m_timeToLiveDescription = std::forward<TimeToLiveDescriptionT>(value);
120 }
121 template <typename TimeToLiveDescriptionT = TimeToLiveDescription>
122 SourceTableFeatureDetails& WithTimeToLiveDescription(TimeToLiveDescriptionT&& value) {
123 SetTimeToLiveDescription(std::forward<TimeToLiveDescriptionT>(value));
124 return *this;
125 }
127
129
133 inline const SSEDescription& GetSSEDescription() const { return m_sSEDescription; }
134 inline bool SSEDescriptionHasBeenSet() const { return m_sSEDescriptionHasBeenSet; }
135 template <typename SSEDescriptionT = SSEDescription>
136 void SetSSEDescription(SSEDescriptionT&& value) {
137 m_sSEDescriptionHasBeenSet = true;
138 m_sSEDescription = std::forward<SSEDescriptionT>(value);
139 }
140 template <typename SSEDescriptionT = SSEDescription>
142 SetSSEDescription(std::forward<SSEDescriptionT>(value));
143 return *this;
144 }
146 private:
147 Aws::Vector<LocalSecondaryIndexInfo> m_localSecondaryIndexes;
148
149 Aws::Vector<GlobalSecondaryIndexInfo> m_globalSecondaryIndexes;
150
151 StreamSpecification m_streamDescription;
152
153 TimeToLiveDescription m_timeToLiveDescription;
154
155 SSEDescription m_sSEDescription;
156 bool m_localSecondaryIndexesHasBeenSet = false;
157 bool m_globalSecondaryIndexesHasBeenSet = false;
158 bool m_streamDescriptionHasBeenSet = false;
159 bool m_timeToLiveDescriptionHasBeenSet = false;
160 bool m_sSEDescriptionHasBeenSet = false;
161};
162
163} // namespace Model
164} // namespace DynamoDB
165} // namespace Aws
SourceTableFeatureDetails & WithStreamDescription(StreamDescriptionT &&value)
SourceTableFeatureDetails & WithTimeToLiveDescription(TimeToLiveDescriptionT &&value)
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)
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