AWS SDK for C++

AWS SDK for C++ Version 1.11.741

Loading...
Searching...
No Matches
Schema.h
1
6#pragma once
7#include <aws/cleanrooms/CleanRooms_EXPORTS.h>
8#include <aws/cleanrooms/model/AnalysisMethod.h>
9#include <aws/cleanrooms/model/AnalysisRuleType.h>
10#include <aws/cleanrooms/model/Column.h>
11#include <aws/cleanrooms/model/SchemaStatusDetail.h>
12#include <aws/cleanrooms/model/SchemaType.h>
13#include <aws/cleanrooms/model/SchemaTypeProperties.h>
14#include <aws/cleanrooms/model/SelectedAnalysisMethod.h>
15#include <aws/core/utils/DateTime.h>
16#include <aws/core/utils/memory/stl/AWSString.h>
17#include <aws/core/utils/memory/stl/AWSVector.h>
18
19#include <utility>
20
21namespace Aws {
22namespace Utils {
23namespace Json {
24class JsonValue;
25class JsonView;
26} // namespace Json
27} // namespace Utils
28namespace CleanRooms {
29namespace Model {
30
36class Schema {
37 public:
38 AWS_CLEANROOMS_API Schema() = default;
39 AWS_CLEANROOMS_API Schema(Aws::Utils::Json::JsonView jsonValue);
40 AWS_CLEANROOMS_API Schema& operator=(Aws::Utils::Json::JsonView jsonValue);
41 AWS_CLEANROOMS_API Aws::Utils::Json::JsonValue Jsonize() const;
42
44
47 inline const Aws::Vector<Column>& GetColumns() const { return m_columns; }
48 inline bool ColumnsHasBeenSet() const { return m_columnsHasBeenSet; }
49 template <typename ColumnsT = Aws::Vector<Column>>
50 void SetColumns(ColumnsT&& value) {
51 m_columnsHasBeenSet = true;
52 m_columns = std::forward<ColumnsT>(value);
53 }
54 template <typename ColumnsT = Aws::Vector<Column>>
55 Schema& WithColumns(ColumnsT&& value) {
56 SetColumns(std::forward<ColumnsT>(value));
57 return *this;
58 }
59 template <typename ColumnsT = Column>
60 Schema& AddColumns(ColumnsT&& value) {
61 m_columnsHasBeenSet = true;
62 m_columns.emplace_back(std::forward<ColumnsT>(value));
63 return *this;
64 }
66
68
71 inline const Aws::Vector<Column>& GetPartitionKeys() const { return m_partitionKeys; }
72 inline bool PartitionKeysHasBeenSet() const { return m_partitionKeysHasBeenSet; }
73 template <typename PartitionKeysT = Aws::Vector<Column>>
74 void SetPartitionKeys(PartitionKeysT&& value) {
75 m_partitionKeysHasBeenSet = true;
76 m_partitionKeys = std::forward<PartitionKeysT>(value);
77 }
78 template <typename PartitionKeysT = Aws::Vector<Column>>
79 Schema& WithPartitionKeys(PartitionKeysT&& value) {
80 SetPartitionKeys(std::forward<PartitionKeysT>(value));
81 return *this;
82 }
83 template <typename PartitionKeysT = Column>
84 Schema& AddPartitionKeys(PartitionKeysT&& value) {
85 m_partitionKeysHasBeenSet = true;
86 m_partitionKeys.emplace_back(std::forward<PartitionKeysT>(value));
87 return *this;
88 }
90
92
96 inline const Aws::Vector<AnalysisRuleType>& GetAnalysisRuleTypes() const { return m_analysisRuleTypes; }
97 inline bool AnalysisRuleTypesHasBeenSet() const { return m_analysisRuleTypesHasBeenSet; }
98 template <typename AnalysisRuleTypesT = Aws::Vector<AnalysisRuleType>>
99 void SetAnalysisRuleTypes(AnalysisRuleTypesT&& value) {
100 m_analysisRuleTypesHasBeenSet = true;
101 m_analysisRuleTypes = std::forward<AnalysisRuleTypesT>(value);
102 }
103 template <typename AnalysisRuleTypesT = Aws::Vector<AnalysisRuleType>>
104 Schema& WithAnalysisRuleTypes(AnalysisRuleTypesT&& value) {
105 SetAnalysisRuleTypes(std::forward<AnalysisRuleTypesT>(value));
106 return *this;
107 }
109 m_analysisRuleTypesHasBeenSet = true;
110 m_analysisRuleTypes.push_back(value);
111 return *this;
112 }
114
116
123 inline AnalysisMethod GetAnalysisMethod() const { return m_analysisMethod; }
124 inline bool AnalysisMethodHasBeenSet() const { return m_analysisMethodHasBeenSet; }
126 m_analysisMethodHasBeenSet = true;
127 m_analysisMethod = value;
128 }
130 SetAnalysisMethod(value);
131 return *this;
132 }
134
136
139 inline const Aws::Vector<SelectedAnalysisMethod>& GetSelectedAnalysisMethods() const { return m_selectedAnalysisMethods; }
140 inline bool SelectedAnalysisMethodsHasBeenSet() const { return m_selectedAnalysisMethodsHasBeenSet; }
141 template <typename SelectedAnalysisMethodsT = Aws::Vector<SelectedAnalysisMethod>>
142 void SetSelectedAnalysisMethods(SelectedAnalysisMethodsT&& value) {
143 m_selectedAnalysisMethodsHasBeenSet = true;
144 m_selectedAnalysisMethods = std::forward<SelectedAnalysisMethodsT>(value);
145 }
146 template <typename SelectedAnalysisMethodsT = Aws::Vector<SelectedAnalysisMethod>>
147 Schema& WithSelectedAnalysisMethods(SelectedAnalysisMethodsT&& value) {
148 SetSelectedAnalysisMethods(std::forward<SelectedAnalysisMethodsT>(value));
149 return *this;
150 }
152 m_selectedAnalysisMethodsHasBeenSet = true;
153 m_selectedAnalysisMethods.push_back(value);
154 return *this;
155 }
157
159
163 inline const Aws::String& GetCreatorAccountId() const { return m_creatorAccountId; }
164 inline bool CreatorAccountIdHasBeenSet() const { return m_creatorAccountIdHasBeenSet; }
165 template <typename CreatorAccountIdT = Aws::String>
166 void SetCreatorAccountId(CreatorAccountIdT&& value) {
167 m_creatorAccountIdHasBeenSet = true;
168 m_creatorAccountId = std::forward<CreatorAccountIdT>(value);
169 }
170 template <typename CreatorAccountIdT = Aws::String>
171 Schema& WithCreatorAccountId(CreatorAccountIdT&& value) {
172 SetCreatorAccountId(std::forward<CreatorAccountIdT>(value));
173 return *this;
174 }
176
178
182 inline const Aws::String& GetName() const { return m_name; }
183 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
184 template <typename NameT = Aws::String>
185 void SetName(NameT&& value) {
186 m_nameHasBeenSet = true;
187 m_name = std::forward<NameT>(value);
188 }
189 template <typename NameT = Aws::String>
190 Schema& WithName(NameT&& value) {
191 SetName(std::forward<NameT>(value));
192 return *this;
193 }
195
197
200 inline const Aws::String& GetCollaborationId() const { return m_collaborationId; }
201 inline bool CollaborationIdHasBeenSet() const { return m_collaborationIdHasBeenSet; }
202 template <typename CollaborationIdT = Aws::String>
203 void SetCollaborationId(CollaborationIdT&& value) {
204 m_collaborationIdHasBeenSet = true;
205 m_collaborationId = std::forward<CollaborationIdT>(value);
206 }
207 template <typename CollaborationIdT = Aws::String>
208 Schema& WithCollaborationId(CollaborationIdT&& value) {
209 SetCollaborationId(std::forward<CollaborationIdT>(value));
210 return *this;
211 }
213
215
219 inline const Aws::String& GetCollaborationArn() const { return m_collaborationArn; }
220 inline bool CollaborationArnHasBeenSet() const { return m_collaborationArnHasBeenSet; }
221 template <typename CollaborationArnT = Aws::String>
222 void SetCollaborationArn(CollaborationArnT&& value) {
223 m_collaborationArnHasBeenSet = true;
224 m_collaborationArn = std::forward<CollaborationArnT>(value);
225 }
226 template <typename CollaborationArnT = Aws::String>
227 Schema& WithCollaborationArn(CollaborationArnT&& value) {
228 SetCollaborationArn(std::forward<CollaborationArnT>(value));
229 return *this;
230 }
232
234
237 inline const Aws::String& GetDescription() const { return m_description; }
238 inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
239 template <typename DescriptionT = Aws::String>
240 void SetDescription(DescriptionT&& value) {
241 m_descriptionHasBeenSet = true;
242 m_description = std::forward<DescriptionT>(value);
243 }
244 template <typename DescriptionT = Aws::String>
245 Schema& WithDescription(DescriptionT&& value) {
246 SetDescription(std::forward<DescriptionT>(value));
247 return *this;
248 }
250
252
255 inline const Aws::Utils::DateTime& GetCreateTime() const { return m_createTime; }
256 inline bool CreateTimeHasBeenSet() const { return m_createTimeHasBeenSet; }
257 template <typename CreateTimeT = Aws::Utils::DateTime>
258 void SetCreateTime(CreateTimeT&& value) {
259 m_createTimeHasBeenSet = true;
260 m_createTime = std::forward<CreateTimeT>(value);
261 }
262 template <typename CreateTimeT = Aws::Utils::DateTime>
263 Schema& WithCreateTime(CreateTimeT&& value) {
264 SetCreateTime(std::forward<CreateTimeT>(value));
265 return *this;
266 }
268
270
273 inline const Aws::Utils::DateTime& GetUpdateTime() const { return m_updateTime; }
274 inline bool UpdateTimeHasBeenSet() const { return m_updateTimeHasBeenSet; }
275 template <typename UpdateTimeT = Aws::Utils::DateTime>
276 void SetUpdateTime(UpdateTimeT&& value) {
277 m_updateTimeHasBeenSet = true;
278 m_updateTime = std::forward<UpdateTimeT>(value);
279 }
280 template <typename UpdateTimeT = Aws::Utils::DateTime>
281 Schema& WithUpdateTime(UpdateTimeT&& value) {
282 SetUpdateTime(std::forward<UpdateTimeT>(value));
283 return *this;
284 }
286
288
291 inline SchemaType GetType() const { return m_type; }
292 inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; }
293 inline void SetType(SchemaType value) {
294 m_typeHasBeenSet = true;
295 m_type = value;
296 }
297 inline Schema& WithType(SchemaType value) {
298 SetType(value);
299 return *this;
300 }
302
304
308 inline const Aws::Vector<SchemaStatusDetail>& GetSchemaStatusDetails() const { return m_schemaStatusDetails; }
309 inline bool SchemaStatusDetailsHasBeenSet() const { return m_schemaStatusDetailsHasBeenSet; }
310 template <typename SchemaStatusDetailsT = Aws::Vector<SchemaStatusDetail>>
311 void SetSchemaStatusDetails(SchemaStatusDetailsT&& value) {
312 m_schemaStatusDetailsHasBeenSet = true;
313 m_schemaStatusDetails = std::forward<SchemaStatusDetailsT>(value);
314 }
315 template <typename SchemaStatusDetailsT = Aws::Vector<SchemaStatusDetail>>
316 Schema& WithSchemaStatusDetails(SchemaStatusDetailsT&& value) {
317 SetSchemaStatusDetails(std::forward<SchemaStatusDetailsT>(value));
318 return *this;
319 }
320 template <typename SchemaStatusDetailsT = SchemaStatusDetail>
321 Schema& AddSchemaStatusDetails(SchemaStatusDetailsT&& value) {
322 m_schemaStatusDetailsHasBeenSet = true;
323 m_schemaStatusDetails.emplace_back(std::forward<SchemaStatusDetailsT>(value));
324 return *this;
325 }
327
329
332 inline const Aws::String& GetResourceArn() const { return m_resourceArn; }
333 inline bool ResourceArnHasBeenSet() const { return m_resourceArnHasBeenSet; }
334 template <typename ResourceArnT = Aws::String>
335 void SetResourceArn(ResourceArnT&& value) {
336 m_resourceArnHasBeenSet = true;
337 m_resourceArn = std::forward<ResourceArnT>(value);
338 }
339 template <typename ResourceArnT = Aws::String>
340 Schema& WithResourceArn(ResourceArnT&& value) {
341 SetResourceArn(std::forward<ResourceArnT>(value));
342 return *this;
343 }
345
347
350 inline const SchemaTypeProperties& GetSchemaTypeProperties() const { return m_schemaTypeProperties; }
351 inline bool SchemaTypePropertiesHasBeenSet() const { return m_schemaTypePropertiesHasBeenSet; }
352 template <typename SchemaTypePropertiesT = SchemaTypeProperties>
353 void SetSchemaTypeProperties(SchemaTypePropertiesT&& value) {
354 m_schemaTypePropertiesHasBeenSet = true;
355 m_schemaTypeProperties = std::forward<SchemaTypePropertiesT>(value);
356 }
357 template <typename SchemaTypePropertiesT = SchemaTypeProperties>
358 Schema& WithSchemaTypeProperties(SchemaTypePropertiesT&& value) {
359 SetSchemaTypeProperties(std::forward<SchemaTypePropertiesT>(value));
360 return *this;
361 }
363 private:
364 Aws::Vector<Column> m_columns;
365
366 Aws::Vector<Column> m_partitionKeys;
367
368 Aws::Vector<AnalysisRuleType> m_analysisRuleTypes;
369
370 AnalysisMethod m_analysisMethod{AnalysisMethod::NOT_SET};
371
372 Aws::Vector<SelectedAnalysisMethod> m_selectedAnalysisMethods;
373
374 Aws::String m_creatorAccountId;
375
376 Aws::String m_name;
377
378 Aws::String m_collaborationId;
379
380 Aws::String m_collaborationArn;
381
382 Aws::String m_description;
383
384 Aws::Utils::DateTime m_createTime{};
385
386 Aws::Utils::DateTime m_updateTime{};
387
389
390 Aws::Vector<SchemaStatusDetail> m_schemaStatusDetails;
391
392 Aws::String m_resourceArn;
393
394 SchemaTypeProperties m_schemaTypeProperties;
395 bool m_columnsHasBeenSet = false;
396 bool m_partitionKeysHasBeenSet = false;
397 bool m_analysisRuleTypesHasBeenSet = false;
398 bool m_analysisMethodHasBeenSet = false;
399 bool m_selectedAnalysisMethodsHasBeenSet = false;
400 bool m_creatorAccountIdHasBeenSet = false;
401 bool m_nameHasBeenSet = false;
402 bool m_collaborationIdHasBeenSet = false;
403 bool m_collaborationArnHasBeenSet = false;
404 bool m_descriptionHasBeenSet = false;
405 bool m_createTimeHasBeenSet = false;
406 bool m_updateTimeHasBeenSet = false;
407 bool m_typeHasBeenSet = false;
408 bool m_schemaStatusDetailsHasBeenSet = false;
409 bool m_resourceArnHasBeenSet = false;
410 bool m_schemaTypePropertiesHasBeenSet = false;
411};
412
413} // namespace Model
414} // namespace CleanRooms
415} // namespace Aws
bool CreateTimeHasBeenSet() const
Definition Schema.h:256
Schema & WithType(SchemaType value)
Definition Schema.h:297
void SetSchemaStatusDetails(SchemaStatusDetailsT &&value)
Definition Schema.h:311
Schema & WithCreatorAccountId(CreatorAccountIdT &&value)
Definition Schema.h:171
const Aws::String & GetName() const
Definition Schema.h:182
Schema & WithName(NameT &&value)
Definition Schema.h:190
const Aws::Vector< Column > & GetPartitionKeys() const
Definition Schema.h:71
Schema & WithSelectedAnalysisMethods(SelectedAnalysisMethodsT &&value)
Definition Schema.h:147
void SetCreatorAccountId(CreatorAccountIdT &&value)
Definition Schema.h:166
AWS_CLEANROOMS_API Schema()=default
bool ResourceArnHasBeenSet() const
Definition Schema.h:333
Schema & AddColumns(ColumnsT &&value)
Definition Schema.h:60
bool CollaborationArnHasBeenSet() const
Definition Schema.h:220
AWS_CLEANROOMS_API Aws::Utils::Json::JsonValue Jsonize() const
Schema & WithUpdateTime(UpdateTimeT &&value)
Definition Schema.h:281
Schema & WithPartitionKeys(PartitionKeysT &&value)
Definition Schema.h:79
void SetCreateTime(CreateTimeT &&value)
Definition Schema.h:258
void SetAnalysisRuleTypes(AnalysisRuleTypesT &&value)
Definition Schema.h:99
const Aws::String & GetDescription() const
Definition Schema.h:237
Schema & WithCollaborationId(CollaborationIdT &&value)
Definition Schema.h:208
Schema & WithAnalysisMethod(AnalysisMethod value)
Definition Schema.h:129
bool AnalysisRuleTypesHasBeenSet() const
Definition Schema.h:97
AWS_CLEANROOMS_API Schema(Aws::Utils::Json::JsonView jsonValue)
AnalysisMethod GetAnalysisMethod() const
Definition Schema.h:123
const Aws::Vector< SchemaStatusDetail > & GetSchemaStatusDetails() const
Definition Schema.h:308
void SetCollaborationArn(CollaborationArnT &&value)
Definition Schema.h:222
Schema & WithCollaborationArn(CollaborationArnT &&value)
Definition Schema.h:227
Schema & WithSchemaTypeProperties(SchemaTypePropertiesT &&value)
Definition Schema.h:358
const SchemaTypeProperties & GetSchemaTypeProperties() const
Definition Schema.h:350
Schema & WithDescription(DescriptionT &&value)
Definition Schema.h:245
void SetResourceArn(ResourceArnT &&value)
Definition Schema.h:335
void SetCollaborationId(CollaborationIdT &&value)
Definition Schema.h:203
bool CreatorAccountIdHasBeenSet() const
Definition Schema.h:164
bool AnalysisMethodHasBeenSet() const
Definition Schema.h:124
const Aws::Vector< SelectedAnalysisMethod > & GetSelectedAnalysisMethods() const
Definition Schema.h:139
bool PartitionKeysHasBeenSet() const
Definition Schema.h:72
const Aws::Vector< AnalysisRuleType > & GetAnalysisRuleTypes() const
Definition Schema.h:96
Schema & AddSchemaStatusDetails(SchemaStatusDetailsT &&value)
Definition Schema.h:321
const Aws::String & GetCollaborationArn() const
Definition Schema.h:219
const Aws::String & GetResourceArn() const
Definition Schema.h:332
bool CollaborationIdHasBeenSet() const
Definition Schema.h:201
AWS_CLEANROOMS_API Schema & operator=(Aws::Utils::Json::JsonView jsonValue)
Schema & AddSelectedAnalysisMethods(SelectedAnalysisMethod value)
Definition Schema.h:151
bool UpdateTimeHasBeenSet() const
Definition Schema.h:274
const Aws::Vector< Column > & GetColumns() const
Definition Schema.h:47
void SetSchemaTypeProperties(SchemaTypePropertiesT &&value)
Definition Schema.h:353
bool SchemaStatusDetailsHasBeenSet() const
Definition Schema.h:309
void SetName(NameT &&value)
Definition Schema.h:185
const Aws::Utils::DateTime & GetUpdateTime() const
Definition Schema.h:273
void SetColumns(ColumnsT &&value)
Definition Schema.h:50
void SetType(SchemaType value)
Definition Schema.h:293
void SetSelectedAnalysisMethods(SelectedAnalysisMethodsT &&value)
Definition Schema.h:142
bool SelectedAnalysisMethodsHasBeenSet() const
Definition Schema.h:140
const Aws::String & GetCreatorAccountId() const
Definition Schema.h:163
Schema & WithColumns(ColumnsT &&value)
Definition Schema.h:55
const Aws::Utils::DateTime & GetCreateTime() const
Definition Schema.h:255
void SetDescription(DescriptionT &&value)
Definition Schema.h:240
Schema & WithAnalysisRuleTypes(AnalysisRuleTypesT &&value)
Definition Schema.h:104
void SetUpdateTime(UpdateTimeT &&value)
Definition Schema.h:276
bool ColumnsHasBeenSet() const
Definition Schema.h:48
const Aws::String & GetCollaborationId() const
Definition Schema.h:200
Schema & AddAnalysisRuleTypes(AnalysisRuleType value)
Definition Schema.h:108
SchemaType GetType() const
Definition Schema.h:291
void SetAnalysisMethod(AnalysisMethod value)
Definition Schema.h:125
bool SchemaTypePropertiesHasBeenSet() const
Definition Schema.h:351
Schema & AddPartitionKeys(PartitionKeysT &&value)
Definition Schema.h:84
Schema & WithResourceArn(ResourceArnT &&value)
Definition Schema.h:340
void SetPartitionKeys(PartitionKeysT &&value)
Definition Schema.h:74
Schema & WithSchemaStatusDetails(SchemaStatusDetailsT &&value)
Definition Schema.h:316
bool DescriptionHasBeenSet() const
Definition Schema.h:238
Schema & WithCreateTime(CreateTimeT &&value)
Definition Schema.h:263
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue