AWS SDK for C++

AWS SDK for C++ Version 1.11.608

Loading...
Searching...
No Matches
Schema.h
1
6#pragma once
7#include <aws/cleanrooms/CleanRooms_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSVector.h>
9#include <aws/cleanrooms/model/AnalysisMethod.h>
10#include <aws/core/utils/memory/stl/AWSString.h>
11#include <aws/core/utils/DateTime.h>
12#include <aws/cleanrooms/model/SchemaType.h>
13#include <aws/cleanrooms/model/SchemaTypeProperties.h>
14#include <aws/cleanrooms/model/Column.h>
15#include <aws/cleanrooms/model/AnalysisRuleType.h>
16#include <aws/cleanrooms/model/SelectedAnalysisMethod.h>
17#include <aws/cleanrooms/model/SchemaStatusDetail.h>
18#include <utility>
19
20namespace Aws
21{
22namespace Utils
23{
24namespace Json
25{
26 class JsonValue;
27 class JsonView;
28} // namespace Json
29} // namespace Utils
30namespace CleanRooms
31{
32namespace Model
33{
34
40 class Schema
41 {
42 public:
43 AWS_CLEANROOMS_API Schema() = default;
44 AWS_CLEANROOMS_API Schema(Aws::Utils::Json::JsonView jsonValue);
45 AWS_CLEANROOMS_API Schema& operator=(Aws::Utils::Json::JsonView jsonValue);
46 AWS_CLEANROOMS_API Aws::Utils::Json::JsonValue Jsonize() const;
47
48
50
53 inline const Aws::Vector<Column>& GetColumns() const { return m_columns; }
54 inline bool ColumnsHasBeenSet() const { return m_columnsHasBeenSet; }
55 template<typename ColumnsT = Aws::Vector<Column>>
56 void SetColumns(ColumnsT&& value) { m_columnsHasBeenSet = true; m_columns = std::forward<ColumnsT>(value); }
57 template<typename ColumnsT = Aws::Vector<Column>>
58 Schema& WithColumns(ColumnsT&& value) { SetColumns(std::forward<ColumnsT>(value)); return *this;}
59 template<typename ColumnsT = Column>
60 Schema& AddColumns(ColumnsT&& value) { m_columnsHasBeenSet = true; m_columns.emplace_back(std::forward<ColumnsT>(value)); return *this; }
62
64
67 inline const Aws::Vector<Column>& GetPartitionKeys() const { return m_partitionKeys; }
68 inline bool PartitionKeysHasBeenSet() const { return m_partitionKeysHasBeenSet; }
69 template<typename PartitionKeysT = Aws::Vector<Column>>
70 void SetPartitionKeys(PartitionKeysT&& value) { m_partitionKeysHasBeenSet = true; m_partitionKeys = std::forward<PartitionKeysT>(value); }
71 template<typename PartitionKeysT = Aws::Vector<Column>>
72 Schema& WithPartitionKeys(PartitionKeysT&& value) { SetPartitionKeys(std::forward<PartitionKeysT>(value)); return *this;}
73 template<typename PartitionKeysT = Column>
74 Schema& AddPartitionKeys(PartitionKeysT&& value) { m_partitionKeysHasBeenSet = true; m_partitionKeys.emplace_back(std::forward<PartitionKeysT>(value)); return *this; }
76
78
82 inline const Aws::Vector<AnalysisRuleType>& GetAnalysisRuleTypes() const { return m_analysisRuleTypes; }
83 inline bool AnalysisRuleTypesHasBeenSet() const { return m_analysisRuleTypesHasBeenSet; }
84 template<typename AnalysisRuleTypesT = Aws::Vector<AnalysisRuleType>>
85 void SetAnalysisRuleTypes(AnalysisRuleTypesT&& value) { m_analysisRuleTypesHasBeenSet = true; m_analysisRuleTypes = std::forward<AnalysisRuleTypesT>(value); }
86 template<typename AnalysisRuleTypesT = Aws::Vector<AnalysisRuleType>>
87 Schema& WithAnalysisRuleTypes(AnalysisRuleTypesT&& value) { SetAnalysisRuleTypes(std::forward<AnalysisRuleTypesT>(value)); return *this;}
88 inline Schema& AddAnalysisRuleTypes(AnalysisRuleType value) { m_analysisRuleTypesHasBeenSet = true; m_analysisRuleTypes.push_back(value); return *this; }
90
92
99 inline AnalysisMethod GetAnalysisMethod() const { return m_analysisMethod; }
100 inline bool AnalysisMethodHasBeenSet() const { return m_analysisMethodHasBeenSet; }
101 inline void SetAnalysisMethod(AnalysisMethod value) { m_analysisMethodHasBeenSet = true; m_analysisMethod = value; }
102 inline Schema& WithAnalysisMethod(AnalysisMethod value) { SetAnalysisMethod(value); return *this;}
104
106
109 inline const Aws::Vector<SelectedAnalysisMethod>& GetSelectedAnalysisMethods() const { return m_selectedAnalysisMethods; }
110 inline bool SelectedAnalysisMethodsHasBeenSet() const { return m_selectedAnalysisMethodsHasBeenSet; }
111 template<typename SelectedAnalysisMethodsT = Aws::Vector<SelectedAnalysisMethod>>
112 void SetSelectedAnalysisMethods(SelectedAnalysisMethodsT&& value) { m_selectedAnalysisMethodsHasBeenSet = true; m_selectedAnalysisMethods = std::forward<SelectedAnalysisMethodsT>(value); }
113 template<typename SelectedAnalysisMethodsT = Aws::Vector<SelectedAnalysisMethod>>
114 Schema& WithSelectedAnalysisMethods(SelectedAnalysisMethodsT&& value) { SetSelectedAnalysisMethods(std::forward<SelectedAnalysisMethodsT>(value)); return *this;}
115 inline Schema& AddSelectedAnalysisMethods(SelectedAnalysisMethod value) { m_selectedAnalysisMethodsHasBeenSet = true; m_selectedAnalysisMethods.push_back(value); return *this; }
117
119
123 inline const Aws::String& GetCreatorAccountId() const { return m_creatorAccountId; }
124 inline bool CreatorAccountIdHasBeenSet() const { return m_creatorAccountIdHasBeenSet; }
125 template<typename CreatorAccountIdT = Aws::String>
126 void SetCreatorAccountId(CreatorAccountIdT&& value) { m_creatorAccountIdHasBeenSet = true; m_creatorAccountId = std::forward<CreatorAccountIdT>(value); }
127 template<typename CreatorAccountIdT = Aws::String>
128 Schema& WithCreatorAccountId(CreatorAccountIdT&& value) { SetCreatorAccountId(std::forward<CreatorAccountIdT>(value)); return *this;}
130
132
136 inline const Aws::String& GetName() const { return m_name; }
137 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
138 template<typename NameT = Aws::String>
139 void SetName(NameT&& value) { m_nameHasBeenSet = true; m_name = std::forward<NameT>(value); }
140 template<typename NameT = Aws::String>
141 Schema& WithName(NameT&& value) { SetName(std::forward<NameT>(value)); return *this;}
143
145
148 inline const Aws::String& GetCollaborationId() const { return m_collaborationId; }
149 inline bool CollaborationIdHasBeenSet() const { return m_collaborationIdHasBeenSet; }
150 template<typename CollaborationIdT = Aws::String>
151 void SetCollaborationId(CollaborationIdT&& value) { m_collaborationIdHasBeenSet = true; m_collaborationId = std::forward<CollaborationIdT>(value); }
152 template<typename CollaborationIdT = Aws::String>
153 Schema& WithCollaborationId(CollaborationIdT&& value) { SetCollaborationId(std::forward<CollaborationIdT>(value)); return *this;}
155
157
161 inline const Aws::String& GetCollaborationArn() const { return m_collaborationArn; }
162 inline bool CollaborationArnHasBeenSet() const { return m_collaborationArnHasBeenSet; }
163 template<typename CollaborationArnT = Aws::String>
164 void SetCollaborationArn(CollaborationArnT&& value) { m_collaborationArnHasBeenSet = true; m_collaborationArn = std::forward<CollaborationArnT>(value); }
165 template<typename CollaborationArnT = Aws::String>
166 Schema& WithCollaborationArn(CollaborationArnT&& value) { SetCollaborationArn(std::forward<CollaborationArnT>(value)); return *this;}
168
170
173 inline const Aws::String& GetDescription() const { return m_description; }
174 inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
175 template<typename DescriptionT = Aws::String>
176 void SetDescription(DescriptionT&& value) { m_descriptionHasBeenSet = true; m_description = std::forward<DescriptionT>(value); }
177 template<typename DescriptionT = Aws::String>
178 Schema& WithDescription(DescriptionT&& value) { SetDescription(std::forward<DescriptionT>(value)); return *this;}
180
182
185 inline const Aws::Utils::DateTime& GetCreateTime() const { return m_createTime; }
186 inline bool CreateTimeHasBeenSet() const { return m_createTimeHasBeenSet; }
187 template<typename CreateTimeT = Aws::Utils::DateTime>
188 void SetCreateTime(CreateTimeT&& value) { m_createTimeHasBeenSet = true; m_createTime = std::forward<CreateTimeT>(value); }
189 template<typename CreateTimeT = Aws::Utils::DateTime>
190 Schema& WithCreateTime(CreateTimeT&& value) { SetCreateTime(std::forward<CreateTimeT>(value)); return *this;}
192
194
197 inline const Aws::Utils::DateTime& GetUpdateTime() const { return m_updateTime; }
198 inline bool UpdateTimeHasBeenSet() const { return m_updateTimeHasBeenSet; }
199 template<typename UpdateTimeT = Aws::Utils::DateTime>
200 void SetUpdateTime(UpdateTimeT&& value) { m_updateTimeHasBeenSet = true; m_updateTime = std::forward<UpdateTimeT>(value); }
201 template<typename UpdateTimeT = Aws::Utils::DateTime>
202 Schema& WithUpdateTime(UpdateTimeT&& value) { SetUpdateTime(std::forward<UpdateTimeT>(value)); return *this;}
204
206
209 inline SchemaType GetType() const { return m_type; }
210 inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; }
211 inline void SetType(SchemaType value) { m_typeHasBeenSet = true; m_type = value; }
212 inline Schema& WithType(SchemaType value) { SetType(value); return *this;}
214
216
220 inline const Aws::Vector<SchemaStatusDetail>& GetSchemaStatusDetails() const { return m_schemaStatusDetails; }
221 inline bool SchemaStatusDetailsHasBeenSet() const { return m_schemaStatusDetailsHasBeenSet; }
222 template<typename SchemaStatusDetailsT = Aws::Vector<SchemaStatusDetail>>
223 void SetSchemaStatusDetails(SchemaStatusDetailsT&& value) { m_schemaStatusDetailsHasBeenSet = true; m_schemaStatusDetails = std::forward<SchemaStatusDetailsT>(value); }
224 template<typename SchemaStatusDetailsT = Aws::Vector<SchemaStatusDetail>>
225 Schema& WithSchemaStatusDetails(SchemaStatusDetailsT&& value) { SetSchemaStatusDetails(std::forward<SchemaStatusDetailsT>(value)); return *this;}
226 template<typename SchemaStatusDetailsT = SchemaStatusDetail>
227 Schema& AddSchemaStatusDetails(SchemaStatusDetailsT&& value) { m_schemaStatusDetailsHasBeenSet = true; m_schemaStatusDetails.emplace_back(std::forward<SchemaStatusDetailsT>(value)); return *this; }
229
231
234 inline const SchemaTypeProperties& GetSchemaTypeProperties() const { return m_schemaTypeProperties; }
235 inline bool SchemaTypePropertiesHasBeenSet() const { return m_schemaTypePropertiesHasBeenSet; }
236 template<typename SchemaTypePropertiesT = SchemaTypeProperties>
237 void SetSchemaTypeProperties(SchemaTypePropertiesT&& value) { m_schemaTypePropertiesHasBeenSet = true; m_schemaTypeProperties = std::forward<SchemaTypePropertiesT>(value); }
238 template<typename SchemaTypePropertiesT = SchemaTypeProperties>
239 Schema& WithSchemaTypeProperties(SchemaTypePropertiesT&& value) { SetSchemaTypeProperties(std::forward<SchemaTypePropertiesT>(value)); return *this;}
241 private:
242
243 Aws::Vector<Column> m_columns;
244 bool m_columnsHasBeenSet = false;
245
246 Aws::Vector<Column> m_partitionKeys;
247 bool m_partitionKeysHasBeenSet = false;
248
249 Aws::Vector<AnalysisRuleType> m_analysisRuleTypes;
250 bool m_analysisRuleTypesHasBeenSet = false;
251
252 AnalysisMethod m_analysisMethod{AnalysisMethod::NOT_SET};
253 bool m_analysisMethodHasBeenSet = false;
254
255 Aws::Vector<SelectedAnalysisMethod> m_selectedAnalysisMethods;
256 bool m_selectedAnalysisMethodsHasBeenSet = false;
257
258 Aws::String m_creatorAccountId;
259 bool m_creatorAccountIdHasBeenSet = false;
260
261 Aws::String m_name;
262 bool m_nameHasBeenSet = false;
263
264 Aws::String m_collaborationId;
265 bool m_collaborationIdHasBeenSet = false;
266
267 Aws::String m_collaborationArn;
268 bool m_collaborationArnHasBeenSet = false;
269
270 Aws::String m_description;
271 bool m_descriptionHasBeenSet = false;
272
273 Aws::Utils::DateTime m_createTime{};
274 bool m_createTimeHasBeenSet = false;
275
276 Aws::Utils::DateTime m_updateTime{};
277 bool m_updateTimeHasBeenSet = false;
278
280 bool m_typeHasBeenSet = false;
281
282 Aws::Vector<SchemaStatusDetail> m_schemaStatusDetails;
283 bool m_schemaStatusDetailsHasBeenSet = false;
284
285 SchemaTypeProperties m_schemaTypeProperties;
286 bool m_schemaTypePropertiesHasBeenSet = false;
287 };
288
289} // namespace Model
290} // namespace CleanRooms
291} // namespace Aws
bool CreateTimeHasBeenSet() const
Definition Schema.h:186
Schema & WithType(SchemaType value)
Definition Schema.h:212
void SetSchemaStatusDetails(SchemaStatusDetailsT &&value)
Definition Schema.h:223
Schema & WithCreatorAccountId(CreatorAccountIdT &&value)
Definition Schema.h:128
const Aws::String & GetName() const
Definition Schema.h:136
Schema & WithName(NameT &&value)
Definition Schema.h:141
const Aws::Vector< Column > & GetPartitionKeys() const
Definition Schema.h:67
Schema & WithSelectedAnalysisMethods(SelectedAnalysisMethodsT &&value)
Definition Schema.h:114
void SetCreatorAccountId(CreatorAccountIdT &&value)
Definition Schema.h:126
AWS_CLEANROOMS_API Schema()=default
Schema & AddColumns(ColumnsT &&value)
Definition Schema.h:60
bool CollaborationArnHasBeenSet() const
Definition Schema.h:162
AWS_CLEANROOMS_API Aws::Utils::Json::JsonValue Jsonize() const
Schema & WithUpdateTime(UpdateTimeT &&value)
Definition Schema.h:202
Schema & WithPartitionKeys(PartitionKeysT &&value)
Definition Schema.h:72
void SetCreateTime(CreateTimeT &&value)
Definition Schema.h:188
void SetAnalysisRuleTypes(AnalysisRuleTypesT &&value)
Definition Schema.h:85
const Aws::String & GetDescription() const
Definition Schema.h:173
Schema & WithCollaborationId(CollaborationIdT &&value)
Definition Schema.h:153
Schema & WithAnalysisMethod(AnalysisMethod value)
Definition Schema.h:102
bool AnalysisRuleTypesHasBeenSet() const
Definition Schema.h:83
AWS_CLEANROOMS_API Schema(Aws::Utils::Json::JsonView jsonValue)
AnalysisMethod GetAnalysisMethod() const
Definition Schema.h:99
const Aws::Vector< SchemaStatusDetail > & GetSchemaStatusDetails() const
Definition Schema.h:220
void SetCollaborationArn(CollaborationArnT &&value)
Definition Schema.h:164
Schema & WithCollaborationArn(CollaborationArnT &&value)
Definition Schema.h:166
Schema & WithSchemaTypeProperties(SchemaTypePropertiesT &&value)
Definition Schema.h:239
const SchemaTypeProperties & GetSchemaTypeProperties() const
Definition Schema.h:234
Schema & WithDescription(DescriptionT &&value)
Definition Schema.h:178
void SetCollaborationId(CollaborationIdT &&value)
Definition Schema.h:151
bool CreatorAccountIdHasBeenSet() const
Definition Schema.h:124
bool AnalysisMethodHasBeenSet() const
Definition Schema.h:100
const Aws::Vector< SelectedAnalysisMethod > & GetSelectedAnalysisMethods() const
Definition Schema.h:109
bool PartitionKeysHasBeenSet() const
Definition Schema.h:68
const Aws::Vector< AnalysisRuleType > & GetAnalysisRuleTypes() const
Definition Schema.h:82
Schema & AddSchemaStatusDetails(SchemaStatusDetailsT &&value)
Definition Schema.h:227
const Aws::String & GetCollaborationArn() const
Definition Schema.h:161
bool CollaborationIdHasBeenSet() const
Definition Schema.h:149
AWS_CLEANROOMS_API Schema & operator=(Aws::Utils::Json::JsonView jsonValue)
Schema & AddSelectedAnalysisMethods(SelectedAnalysisMethod value)
Definition Schema.h:115
bool UpdateTimeHasBeenSet() const
Definition Schema.h:198
const Aws::Vector< Column > & GetColumns() const
Definition Schema.h:53
void SetSchemaTypeProperties(SchemaTypePropertiesT &&value)
Definition Schema.h:237
bool SchemaStatusDetailsHasBeenSet() const
Definition Schema.h:221
void SetName(NameT &&value)
Definition Schema.h:139
const Aws::Utils::DateTime & GetUpdateTime() const
Definition Schema.h:197
void SetColumns(ColumnsT &&value)
Definition Schema.h:56
void SetType(SchemaType value)
Definition Schema.h:211
void SetSelectedAnalysisMethods(SelectedAnalysisMethodsT &&value)
Definition Schema.h:112
bool SelectedAnalysisMethodsHasBeenSet() const
Definition Schema.h:110
const Aws::String & GetCreatorAccountId() const
Definition Schema.h:123
Schema & WithColumns(ColumnsT &&value)
Definition Schema.h:58
const Aws::Utils::DateTime & GetCreateTime() const
Definition Schema.h:185
void SetDescription(DescriptionT &&value)
Definition Schema.h:176
Schema & WithAnalysisRuleTypes(AnalysisRuleTypesT &&value)
Definition Schema.h:87
void SetUpdateTime(UpdateTimeT &&value)
Definition Schema.h:200
bool ColumnsHasBeenSet() const
Definition Schema.h:54
const Aws::String & GetCollaborationId() const
Definition Schema.h:148
Schema & AddAnalysisRuleTypes(AnalysisRuleType value)
Definition Schema.h:88
SchemaType GetType() const
Definition Schema.h:209
void SetAnalysisMethod(AnalysisMethod value)
Definition Schema.h:101
bool SchemaTypePropertiesHasBeenSet() const
Definition Schema.h:235
Schema & AddPartitionKeys(PartitionKeysT &&value)
Definition Schema.h:74
void SetPartitionKeys(PartitionKeysT &&value)
Definition Schema.h:70
Schema & WithSchemaStatusDetails(SchemaStatusDetailsT &&value)
Definition Schema.h:225
bool DescriptionHasBeenSet() const
Definition Schema.h:174
Schema & WithCreateTime(CreateTimeT &&value)
Definition Schema.h:190
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue