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>
43 AWS_CLEANROOMS_API
Schema() =
default;
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>>
59 template<
typename ColumnsT = Column>
60 Schema&
AddColumns(ColumnsT&& value) { m_columnsHasBeenSet =
true; m_columns.emplace_back(std::forward<ColumnsT>(value));
return *
this; }
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>>
73 template<
typename PartitionKeysT = Column>
74 Schema&
AddPartitionKeys(PartitionKeysT&& value) { m_partitionKeysHasBeenSet =
true; m_partitionKeys.emplace_back(std::forward<PartitionKeysT>(value));
return *
this; }
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>>
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>>
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>
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>
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>
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>
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>
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>
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>
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>>
226 template<
typename SchemaStatusDetailsT = SchemaStatusDetail>
227 Schema&
AddSchemaStatusDetails(SchemaStatusDetailsT&& value) { m_schemaStatusDetailsHasBeenSet =
true; m_schemaStatusDetails.emplace_back(std::forward<SchemaStatusDetailsT>(value));
return *
this; }
236 template<
typename SchemaTypePropertiesT = SchemaTypeProperties>
237 void SetSchemaTypeProperties(SchemaTypePropertiesT&& value) { m_schemaTypePropertiesHasBeenSet =
true; m_schemaTypeProperties = std::forward<SchemaTypePropertiesT>(value); }
238 template<
typename SchemaTypePropertiesT = SchemaTypeProperties>
244 bool m_columnsHasBeenSet =
false;
247 bool m_partitionKeysHasBeenSet =
false;
250 bool m_analysisRuleTypesHasBeenSet =
false;
253 bool m_analysisMethodHasBeenSet =
false;
256 bool m_selectedAnalysisMethodsHasBeenSet =
false;
259 bool m_creatorAccountIdHasBeenSet =
false;
262 bool m_nameHasBeenSet =
false;
265 bool m_collaborationIdHasBeenSet =
false;
268 bool m_collaborationArnHasBeenSet =
false;
271 bool m_descriptionHasBeenSet =
false;
274 bool m_createTimeHasBeenSet =
false;
277 bool m_updateTimeHasBeenSet =
false;
280 bool m_typeHasBeenSet =
false;
283 bool m_schemaStatusDetailsHasBeenSet =
false;
285 SchemaTypeProperties m_schemaTypeProperties;
286 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
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 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
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)
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