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>
38 AWS_CLEANROOMS_API
Schema() =
default;
49 template <
typename ColumnsT = Aws::Vector<Column>>
51 m_columnsHasBeenSet =
true;
52 m_columns = std::forward<ColumnsT>(value);
54 template <
typename ColumnsT = Aws::Vector<Column>>
59 template <
typename ColumnsT = Column>
61 m_columnsHasBeenSet =
true;
62 m_columns.emplace_back(std::forward<ColumnsT>(value));
73 template <
typename PartitionKeysT = Aws::Vector<Column>>
75 m_partitionKeysHasBeenSet =
true;
76 m_partitionKeys = std::forward<PartitionKeysT>(value);
78 template <
typename PartitionKeysT = Aws::Vector<Column>>
83 template <
typename PartitionKeysT = Column>
85 m_partitionKeysHasBeenSet =
true;
86 m_partitionKeys.emplace_back(std::forward<PartitionKeysT>(value));
98 template <
typename AnalysisRuleTypesT = Aws::Vector<AnalysisRuleType>>
100 m_analysisRuleTypesHasBeenSet =
true;
101 m_analysisRuleTypes = std::forward<AnalysisRuleTypesT>(value);
103 template <
typename AnalysisRuleTypesT = Aws::Vector<AnalysisRuleType>>
109 m_analysisRuleTypesHasBeenSet =
true;
110 m_analysisRuleTypes.push_back(value);
126 m_analysisMethodHasBeenSet =
true;
127 m_analysisMethod = value;
141 template <
typename SelectedAnalysisMethodsT = Aws::Vector<SelectedAnalysisMethod>>
143 m_selectedAnalysisMethodsHasBeenSet =
true;
144 m_selectedAnalysisMethods = std::forward<SelectedAnalysisMethodsT>(value);
146 template <
typename SelectedAnalysisMethodsT = Aws::Vector<SelectedAnalysisMethod>>
152 m_selectedAnalysisMethodsHasBeenSet =
true;
153 m_selectedAnalysisMethods.push_back(value);
165 template <
typename CreatorAccountIdT = Aws::String>
167 m_creatorAccountIdHasBeenSet =
true;
168 m_creatorAccountId = std::forward<CreatorAccountIdT>(value);
170 template <
typename CreatorAccountIdT = Aws::String>
184 template <
typename NameT = Aws::String>
186 m_nameHasBeenSet =
true;
187 m_name = std::forward<NameT>(value);
189 template <
typename NameT = Aws::String>
191 SetName(std::forward<NameT>(value));
202 template <
typename CollaborationIdT = Aws::String>
204 m_collaborationIdHasBeenSet =
true;
205 m_collaborationId = std::forward<CollaborationIdT>(value);
207 template <
typename CollaborationIdT = Aws::String>
221 template <
typename CollaborationArnT = Aws::String>
223 m_collaborationArnHasBeenSet =
true;
224 m_collaborationArn = std::forward<CollaborationArnT>(value);
226 template <
typename CollaborationArnT = Aws::String>
239 template <
typename DescriptionT = Aws::String>
241 m_descriptionHasBeenSet =
true;
242 m_description = std::forward<DescriptionT>(value);
244 template <
typename DescriptionT = Aws::String>
257 template <
typename CreateTimeT = Aws::Utils::DateTime>
259 m_createTimeHasBeenSet =
true;
260 m_createTime = std::forward<CreateTimeT>(value);
262 template <
typename CreateTimeT = Aws::Utils::DateTime>
275 template <
typename UpdateTimeT = Aws::Utils::DateTime>
277 m_updateTimeHasBeenSet =
true;
278 m_updateTime = std::forward<UpdateTimeT>(value);
280 template <
typename UpdateTimeT = Aws::Utils::DateTime>
294 m_typeHasBeenSet =
true;
310 template <
typename SchemaStatusDetailsT = Aws::Vector<SchemaStatusDetail>>
312 m_schemaStatusDetailsHasBeenSet =
true;
313 m_schemaStatusDetails = std::forward<SchemaStatusDetailsT>(value);
315 template <
typename SchemaStatusDetailsT = Aws::Vector<SchemaStatusDetail>>
320 template <
typename SchemaStatusDetailsT = SchemaStatusDetail>
322 m_schemaStatusDetailsHasBeenSet =
true;
323 m_schemaStatusDetails.emplace_back(std::forward<SchemaStatusDetailsT>(value));
334 template <
typename ResourceArnT = Aws::String>
336 m_resourceArnHasBeenSet =
true;
337 m_resourceArn = std::forward<ResourceArnT>(value);
339 template <
typename ResourceArnT = Aws::String>
352 template <
typename SchemaTypePropertiesT = SchemaTypeProperties>
354 m_schemaTypePropertiesHasBeenSet =
true;
355 m_schemaTypeProperties = std::forward<SchemaTypePropertiesT>(value);
357 template <
typename SchemaTypePropertiesT = SchemaTypeProperties>
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;
bool CreateTimeHasBeenSet() const
Schema & WithType(SchemaType value)
void SetSchemaStatusDetails(SchemaStatusDetailsT &&value)
bool NameHasBeenSet() const
Schema & WithCreatorAccountId(CreatorAccountIdT &&value)
const Aws::String & GetName() const
Schema & WithName(NameT &&value)
const Aws::Vector< Column > & GetPartitionKeys() const
Schema & WithSelectedAnalysisMethods(SelectedAnalysisMethodsT &&value)
void SetCreatorAccountId(CreatorAccountIdT &&value)
AWS_CLEANROOMS_API Schema()=default
bool ResourceArnHasBeenSet() const
Schema & AddColumns(ColumnsT &&value)
bool CollaborationArnHasBeenSet() const
AWS_CLEANROOMS_API Aws::Utils::Json::JsonValue Jsonize() const
Schema & WithUpdateTime(UpdateTimeT &&value)
Schema & WithPartitionKeys(PartitionKeysT &&value)
void SetCreateTime(CreateTimeT &&value)
void SetAnalysisRuleTypes(AnalysisRuleTypesT &&value)
const Aws::String & GetDescription() const
Schema & WithCollaborationId(CollaborationIdT &&value)
Schema & WithAnalysisMethod(AnalysisMethod value)
bool AnalysisRuleTypesHasBeenSet() const
AWS_CLEANROOMS_API Schema(Aws::Utils::Json::JsonView jsonValue)
AnalysisMethod GetAnalysisMethod() const
const Aws::Vector< SchemaStatusDetail > & GetSchemaStatusDetails() const
void SetCollaborationArn(CollaborationArnT &&value)
Schema & WithCollaborationArn(CollaborationArnT &&value)
Schema & WithSchemaTypeProperties(SchemaTypePropertiesT &&value)
const SchemaTypeProperties & GetSchemaTypeProperties() const
Schema & WithDescription(DescriptionT &&value)
void SetResourceArn(ResourceArnT &&value)
void SetCollaborationId(CollaborationIdT &&value)
bool CreatorAccountIdHasBeenSet() const
bool AnalysisMethodHasBeenSet() const
const Aws::Vector< SelectedAnalysisMethod > & GetSelectedAnalysisMethods() const
bool PartitionKeysHasBeenSet() const
const Aws::Vector< AnalysisRuleType > & GetAnalysisRuleTypes() const
Schema & AddSchemaStatusDetails(SchemaStatusDetailsT &&value)
const Aws::String & GetCollaborationArn() const
const Aws::String & GetResourceArn() const
bool CollaborationIdHasBeenSet() const
AWS_CLEANROOMS_API Schema & operator=(Aws::Utils::Json::JsonView jsonValue)
Schema & AddSelectedAnalysisMethods(SelectedAnalysisMethod value)
bool UpdateTimeHasBeenSet() const
const Aws::Vector< Column > & GetColumns() const
void SetSchemaTypeProperties(SchemaTypePropertiesT &&value)
bool SchemaStatusDetailsHasBeenSet() const
void SetName(NameT &&value)
const Aws::Utils::DateTime & GetUpdateTime() const
void SetColumns(ColumnsT &&value)
void SetType(SchemaType value)
void SetSelectedAnalysisMethods(SelectedAnalysisMethodsT &&value)
bool SelectedAnalysisMethodsHasBeenSet() const
const Aws::String & GetCreatorAccountId() const
Schema & WithColumns(ColumnsT &&value)
const Aws::Utils::DateTime & GetCreateTime() const
void SetDescription(DescriptionT &&value)
Schema & WithAnalysisRuleTypes(AnalysisRuleTypesT &&value)
void SetUpdateTime(UpdateTimeT &&value)
bool ColumnsHasBeenSet() const
const Aws::String & GetCollaborationId() const
Schema & AddAnalysisRuleTypes(AnalysisRuleType value)
SchemaType GetType() const
void SetAnalysisMethod(AnalysisMethod value)
bool SchemaTypePropertiesHasBeenSet() const
Schema & AddPartitionKeys(PartitionKeysT &&value)
Schema & WithResourceArn(ResourceArnT &&value)
bool TypeHasBeenSet() const
void SetPartitionKeys(PartitionKeysT &&value)
Schema & WithSchemaStatusDetails(SchemaStatusDetailsT &&value)
bool DescriptionHasBeenSet() const
Schema & WithCreateTime(CreateTimeT &&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