/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include A schema is a relation within a collaboration.See Also:
AWS
* API Reference
The columns for the relation this schema represents.
*/ inline const Aws::VectorThe columns for the relation this schema represents.
*/ inline bool ColumnsHasBeenSet() const { return m_columnsHasBeenSet; } /** *The columns for the relation this schema represents.
*/ inline void SetColumns(const Aws::VectorThe columns for the relation this schema represents.
*/ inline void SetColumns(Aws::VectorThe columns for the relation this schema represents.
*/ inline Schema& WithColumns(const Aws::VectorThe columns for the relation this schema represents.
*/ inline Schema& WithColumns(Aws::VectorThe columns for the relation this schema represents.
*/ inline Schema& AddColumns(const Column& value) { m_columnsHasBeenSet = true; m_columns.push_back(value); return *this; } /** *The columns for the relation this schema represents.
*/ inline Schema& AddColumns(Column&& value) { m_columnsHasBeenSet = true; m_columns.push_back(std::move(value)); return *this; } /** *The partition keys for the dataset underlying this schema.
*/ inline const Aws::VectorThe partition keys for the dataset underlying this schema.
*/ inline bool PartitionKeysHasBeenSet() const { return m_partitionKeysHasBeenSet; } /** *The partition keys for the dataset underlying this schema.
*/ inline void SetPartitionKeys(const Aws::VectorThe partition keys for the dataset underlying this schema.
*/ inline void SetPartitionKeys(Aws::VectorThe partition keys for the dataset underlying this schema.
*/ inline Schema& WithPartitionKeys(const Aws::VectorThe partition keys for the dataset underlying this schema.
*/ inline Schema& WithPartitionKeys(Aws::VectorThe partition keys for the dataset underlying this schema.
*/ inline Schema& AddPartitionKeys(const Column& value) { m_partitionKeysHasBeenSet = true; m_partitionKeys.push_back(value); return *this; } /** *The partition keys for the dataset underlying this schema.
*/ inline Schema& AddPartitionKeys(Column&& value) { m_partitionKeysHasBeenSet = true; m_partitionKeys.push_back(std::move(value)); return *this; } /** *The analysis rule types associated with the schema. Valued values are LIST * and AGGREGATION. Currently, only one entry is present.
*/ inline const Aws::VectorThe analysis rule types associated with the schema. Valued values are LIST * and AGGREGATION. Currently, only one entry is present.
*/ inline bool AnalysisRuleTypesHasBeenSet() const { return m_analysisRuleTypesHasBeenSet; } /** *The analysis rule types associated with the schema. Valued values are LIST * and AGGREGATION. Currently, only one entry is present.
*/ inline void SetAnalysisRuleTypes(const Aws::VectorThe analysis rule types associated with the schema. Valued values are LIST * and AGGREGATION. Currently, only one entry is present.
*/ inline void SetAnalysisRuleTypes(Aws::VectorThe analysis rule types associated with the schema. Valued values are LIST * and AGGREGATION. Currently, only one entry is present.
*/ inline Schema& WithAnalysisRuleTypes(const Aws::VectorThe analysis rule types associated with the schema. Valued values are LIST * and AGGREGATION. Currently, only one entry is present.
*/ inline Schema& WithAnalysisRuleTypes(Aws::VectorThe analysis rule types associated with the schema. Valued values are LIST * and AGGREGATION. Currently, only one entry is present.
*/ inline Schema& AddAnalysisRuleTypes(const AnalysisRuleType& value) { m_analysisRuleTypesHasBeenSet = true; m_analysisRuleTypes.push_back(value); return *this; } /** *The analysis rule types associated with the schema. Valued values are LIST * and AGGREGATION. Currently, only one entry is present.
*/ inline Schema& AddAnalysisRuleTypes(AnalysisRuleType&& value) { m_analysisRuleTypesHasBeenSet = true; m_analysisRuleTypes.push_back(std::move(value)); return *this; } /** *The analysis method for the schema. The only valid value is currently * DIRECT_QUERY.
*/ inline const AnalysisMethod& GetAnalysisMethod() const{ return m_analysisMethod; } /** *The analysis method for the schema. The only valid value is currently * DIRECT_QUERY.
*/ inline bool AnalysisMethodHasBeenSet() const { return m_analysisMethodHasBeenSet; } /** *The analysis method for the schema. The only valid value is currently * DIRECT_QUERY.
*/ inline void SetAnalysisMethod(const AnalysisMethod& value) { m_analysisMethodHasBeenSet = true; m_analysisMethod = value; } /** *The analysis method for the schema. The only valid value is currently * DIRECT_QUERY.
*/ inline void SetAnalysisMethod(AnalysisMethod&& value) { m_analysisMethodHasBeenSet = true; m_analysisMethod = std::move(value); } /** *The analysis method for the schema. The only valid value is currently * DIRECT_QUERY.
*/ inline Schema& WithAnalysisMethod(const AnalysisMethod& value) { SetAnalysisMethod(value); return *this;} /** *The analysis method for the schema. The only valid value is currently * DIRECT_QUERY.
*/ inline Schema& WithAnalysisMethod(AnalysisMethod&& value) { SetAnalysisMethod(std::move(value)); return *this;} /** *The unique account ID for the Amazon Web Services account that owns the * schema.
*/ inline const Aws::String& GetCreatorAccountId() const{ return m_creatorAccountId; } /** *The unique account ID for the Amazon Web Services account that owns the * schema.
*/ inline bool CreatorAccountIdHasBeenSet() const { return m_creatorAccountIdHasBeenSet; } /** *The unique account ID for the Amazon Web Services account that owns the * schema.
*/ inline void SetCreatorAccountId(const Aws::String& value) { m_creatorAccountIdHasBeenSet = true; m_creatorAccountId = value; } /** *The unique account ID for the Amazon Web Services account that owns the * schema.
*/ inline void SetCreatorAccountId(Aws::String&& value) { m_creatorAccountIdHasBeenSet = true; m_creatorAccountId = std::move(value); } /** *The unique account ID for the Amazon Web Services account that owns the * schema.
*/ inline void SetCreatorAccountId(const char* value) { m_creatorAccountIdHasBeenSet = true; m_creatorAccountId.assign(value); } /** *The unique account ID for the Amazon Web Services account that owns the * schema.
*/ inline Schema& WithCreatorAccountId(const Aws::String& value) { SetCreatorAccountId(value); return *this;} /** *The unique account ID for the Amazon Web Services account that owns the * schema.
*/ inline Schema& WithCreatorAccountId(Aws::String&& value) { SetCreatorAccountId(std::move(value)); return *this;} /** *The unique account ID for the Amazon Web Services account that owns the * schema.
*/ inline Schema& WithCreatorAccountId(const char* value) { SetCreatorAccountId(value); return *this;} /** *A name for the schema. The schema relation is referred to by this name when * queried by a protected query.
*/ inline const Aws::String& GetName() const{ return m_name; } /** *A name for the schema. The schema relation is referred to by this name when * queried by a protected query.
*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *A name for the schema. The schema relation is referred to by this name when * queried by a protected query.
*/ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** *A name for the schema. The schema relation is referred to by this name when * queried by a protected query.
*/ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *A name for the schema. The schema relation is referred to by this name when * queried by a protected query.
*/ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** *A name for the schema. The schema relation is referred to by this name when * queried by a protected query.
*/ inline Schema& WithName(const Aws::String& value) { SetName(value); return *this;} /** *A name for the schema. The schema relation is referred to by this name when * queried by a protected query.
*/ inline Schema& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *A name for the schema. The schema relation is referred to by this name when * queried by a protected query.
*/ inline Schema& WithName(const char* value) { SetName(value); return *this;} /** *The unique ID for the collaboration that the schema belongs to.
*/ inline const Aws::String& GetCollaborationId() const{ return m_collaborationId; } /** *The unique ID for the collaboration that the schema belongs to.
*/ inline bool CollaborationIdHasBeenSet() const { return m_collaborationIdHasBeenSet; } /** *The unique ID for the collaboration that the schema belongs to.
*/ inline void SetCollaborationId(const Aws::String& value) { m_collaborationIdHasBeenSet = true; m_collaborationId = value; } /** *The unique ID for the collaboration that the schema belongs to.
*/ inline void SetCollaborationId(Aws::String&& value) { m_collaborationIdHasBeenSet = true; m_collaborationId = std::move(value); } /** *The unique ID for the collaboration that the schema belongs to.
*/ inline void SetCollaborationId(const char* value) { m_collaborationIdHasBeenSet = true; m_collaborationId.assign(value); } /** *The unique ID for the collaboration that the schema belongs to.
*/ inline Schema& WithCollaborationId(const Aws::String& value) { SetCollaborationId(value); return *this;} /** *The unique ID for the collaboration that the schema belongs to.
*/ inline Schema& WithCollaborationId(Aws::String&& value) { SetCollaborationId(std::move(value)); return *this;} /** *The unique ID for the collaboration that the schema belongs to.
*/ inline Schema& WithCollaborationId(const char* value) { SetCollaborationId(value); return *this;} /** *The unique ARN for the collaboration that the schema belongs to.
*/ inline const Aws::String& GetCollaborationArn() const{ return m_collaborationArn; } /** *The unique ARN for the collaboration that the schema belongs to.
*/ inline bool CollaborationArnHasBeenSet() const { return m_collaborationArnHasBeenSet; } /** *The unique ARN for the collaboration that the schema belongs to.
*/ inline void SetCollaborationArn(const Aws::String& value) { m_collaborationArnHasBeenSet = true; m_collaborationArn = value; } /** *The unique ARN for the collaboration that the schema belongs to.
*/ inline void SetCollaborationArn(Aws::String&& value) { m_collaborationArnHasBeenSet = true; m_collaborationArn = std::move(value); } /** *The unique ARN for the collaboration that the schema belongs to.
*/ inline void SetCollaborationArn(const char* value) { m_collaborationArnHasBeenSet = true; m_collaborationArn.assign(value); } /** *The unique ARN for the collaboration that the schema belongs to.
*/ inline Schema& WithCollaborationArn(const Aws::String& value) { SetCollaborationArn(value); return *this;} /** *The unique ARN for the collaboration that the schema belongs to.
*/ inline Schema& WithCollaborationArn(Aws::String&& value) { SetCollaborationArn(std::move(value)); return *this;} /** *The unique ARN for the collaboration that the schema belongs to.
*/ inline Schema& WithCollaborationArn(const char* value) { SetCollaborationArn(value); return *this;} /** *A description for the schema.
*/ inline const Aws::String& GetDescription() const{ return m_description; } /** *A description for the schema.
*/ inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } /** *A description for the schema.
*/ inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } /** *A description for the schema.
*/ inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } /** *A description for the schema.
*/ inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } /** *A description for the schema.
*/ inline Schema& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} /** *A description for the schema.
*/ inline Schema& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} /** *A description for the schema.
*/ inline Schema& WithDescription(const char* value) { SetDescription(value); return *this;} /** *The time the schema was created.
*/ inline const Aws::Utils::DateTime& GetCreateTime() const{ return m_createTime; } /** *The time the schema was created.
*/ inline bool CreateTimeHasBeenSet() const { return m_createTimeHasBeenSet; } /** *The time the schema was created.
*/ inline void SetCreateTime(const Aws::Utils::DateTime& value) { m_createTimeHasBeenSet = true; m_createTime = value; } /** *The time the schema was created.
*/ inline void SetCreateTime(Aws::Utils::DateTime&& value) { m_createTimeHasBeenSet = true; m_createTime = std::move(value); } /** *The time the schema was created.
*/ inline Schema& WithCreateTime(const Aws::Utils::DateTime& value) { SetCreateTime(value); return *this;} /** *The time the schema was created.
*/ inline Schema& WithCreateTime(Aws::Utils::DateTime&& value) { SetCreateTime(std::move(value)); return *this;} /** *The time the schema was last updated.
*/ inline const Aws::Utils::DateTime& GetUpdateTime() const{ return m_updateTime; } /** *The time the schema was last updated.
*/ inline bool UpdateTimeHasBeenSet() const { return m_updateTimeHasBeenSet; } /** *The time the schema was last updated.
*/ inline void SetUpdateTime(const Aws::Utils::DateTime& value) { m_updateTimeHasBeenSet = true; m_updateTime = value; } /** *The time the schema was last updated.
*/ inline void SetUpdateTime(Aws::Utils::DateTime&& value) { m_updateTimeHasBeenSet = true; m_updateTime = std::move(value); } /** *The time the schema was last updated.
*/ inline Schema& WithUpdateTime(const Aws::Utils::DateTime& value) { SetUpdateTime(value); return *this;} /** *The time the schema was last updated.
*/ inline Schema& WithUpdateTime(Aws::Utils::DateTime&& value) { SetUpdateTime(std::move(value)); return *this;} /** *The type of schema. The only valid value is currently `TABLE`.
*/ inline const SchemaType& GetType() const{ return m_type; } /** *The type of schema. The only valid value is currently `TABLE`.
*/ inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } /** *The type of schema. The only valid value is currently `TABLE`.
*/ inline void SetType(const SchemaType& value) { m_typeHasBeenSet = true; m_type = value; } /** *The type of schema. The only valid value is currently `TABLE`.
*/ inline void SetType(SchemaType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } /** *The type of schema. The only valid value is currently `TABLE`.
*/ inline Schema& WithType(const SchemaType& value) { SetType(value); return *this;} /** *The type of schema. The only valid value is currently `TABLE`.
*/ inline Schema& WithType(SchemaType&& value) { SetType(std::move(value)); return *this;} private: Aws::Vector