/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace CleanRooms { namespace Model { /** *

The schema summary for the objects listed by the request.

See * Also:

AWS * API Reference

*/ class SchemaSummary { public: AWS_CLEANROOMS_API SchemaSummary(); AWS_CLEANROOMS_API SchemaSummary(Aws::Utils::Json::JsonView jsonValue); AWS_CLEANROOMS_API SchemaSummary& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_CLEANROOMS_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The name for the schema object.

*/ inline const Aws::String& GetName() const{ return m_name; } /** *

The name for the schema object.

*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *

The name for the schema object.

*/ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** *

The name for the schema object.

*/ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *

The name for the schema object.

*/ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** *

The name for the schema object.

*/ inline SchemaSummary& WithName(const Aws::String& value) { SetName(value); return *this;} /** *

The name for the schema object.

*/ inline SchemaSummary& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *

The name for the schema object.

*/ inline SchemaSummary& WithName(const char* value) { SetName(value); return *this;} /** *

The type of schema object. The only valid schema type is currently * `TABLE`.

*/ inline const SchemaType& GetType() const{ return m_type; } /** *

The type of schema object. The only valid schema type is currently * `TABLE`.

*/ inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } /** *

The type of schema object. The only valid schema type is currently * `TABLE`.

*/ inline void SetType(const SchemaType& value) { m_typeHasBeenSet = true; m_type = value; } /** *

The type of schema object. The only valid schema type is currently * `TABLE`.

*/ inline void SetType(SchemaType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } /** *

The type of schema object. The only valid schema type is currently * `TABLE`.

*/ inline SchemaSummary& WithType(const SchemaType& value) { SetType(value); return *this;} /** *

The type of schema object. The only valid schema type is currently * `TABLE`.

*/ inline SchemaSummary& WithType(SchemaType&& value) { SetType(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 SchemaSummary& WithCreatorAccountId(const Aws::String& value) { SetCreatorAccountId(value); return *this;} /** *

The unique account ID for the Amazon Web Services account that owns the * schema.

*/ inline SchemaSummary& 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 SchemaSummary& WithCreatorAccountId(const char* value) { SetCreatorAccountId(value); return *this;} /** *

The time the schema object was created.

*/ inline const Aws::Utils::DateTime& GetCreateTime() const{ return m_createTime; } /** *

The time the schema object was created.

*/ inline bool CreateTimeHasBeenSet() const { return m_createTimeHasBeenSet; } /** *

The time the schema object was created.

*/ inline void SetCreateTime(const Aws::Utils::DateTime& value) { m_createTimeHasBeenSet = true; m_createTime = value; } /** *

The time the schema object was created.

*/ inline void SetCreateTime(Aws::Utils::DateTime&& value) { m_createTimeHasBeenSet = true; m_createTime = std::move(value); } /** *

The time the schema object was created.

*/ inline SchemaSummary& WithCreateTime(const Aws::Utils::DateTime& value) { SetCreateTime(value); return *this;} /** *

The time the schema object was created.

*/ inline SchemaSummary& WithCreateTime(Aws::Utils::DateTime&& value) { SetCreateTime(std::move(value)); return *this;} /** *

The time the schema object was last updated.

*/ inline const Aws::Utils::DateTime& GetUpdateTime() const{ return m_updateTime; } /** *

The time the schema object was last updated.

*/ inline bool UpdateTimeHasBeenSet() const { return m_updateTimeHasBeenSet; } /** *

The time the schema object was last updated.

*/ inline void SetUpdateTime(const Aws::Utils::DateTime& value) { m_updateTimeHasBeenSet = true; m_updateTime = value; } /** *

The time the schema object was last updated.

*/ inline void SetUpdateTime(Aws::Utils::DateTime&& value) { m_updateTimeHasBeenSet = true; m_updateTime = std::move(value); } /** *

The time the schema object was last updated.

*/ inline SchemaSummary& WithUpdateTime(const Aws::Utils::DateTime& value) { SetUpdateTime(value); return *this;} /** *

The time the schema object was last updated.

*/ inline SchemaSummary& WithUpdateTime(Aws::Utils::DateTime&& value) { SetUpdateTime(std::move(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 SchemaSummary& WithCollaborationId(const Aws::String& value) { SetCollaborationId(value); return *this;} /** *

The unique ID for the collaboration that the schema belongs to.

*/ inline SchemaSummary& WithCollaborationId(Aws::String&& value) { SetCollaborationId(std::move(value)); return *this;} /** *

The unique ID for the collaboration that the schema belongs to.

*/ inline SchemaSummary& 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 SchemaSummary& WithCollaborationArn(const Aws::String& value) { SetCollaborationArn(value); return *this;} /** *

The unique ARN for the collaboration that the schema belongs to.

*/ inline SchemaSummary& WithCollaborationArn(Aws::String&& value) { SetCollaborationArn(std::move(value)); return *this;} /** *

The unique ARN for the collaboration that the schema belongs to.

*/ inline SchemaSummary& WithCollaborationArn(const char* value) { SetCollaborationArn(value); return *this;} /** *

The types of analysis rules that are associated with this schema object.

*/ inline const Aws::Vector& GetAnalysisRuleTypes() const{ return m_analysisRuleTypes; } /** *

The types of analysis rules that are associated with this schema object.

*/ inline bool AnalysisRuleTypesHasBeenSet() const { return m_analysisRuleTypesHasBeenSet; } /** *

The types of analysis rules that are associated with this schema object.

*/ inline void SetAnalysisRuleTypes(const Aws::Vector& value) { m_analysisRuleTypesHasBeenSet = true; m_analysisRuleTypes = value; } /** *

The types of analysis rules that are associated with this schema object.

*/ inline void SetAnalysisRuleTypes(Aws::Vector&& value) { m_analysisRuleTypesHasBeenSet = true; m_analysisRuleTypes = std::move(value); } /** *

The types of analysis rules that are associated with this schema object.

*/ inline SchemaSummary& WithAnalysisRuleTypes(const Aws::Vector& value) { SetAnalysisRuleTypes(value); return *this;} /** *

The types of analysis rules that are associated with this schema object.

*/ inline SchemaSummary& WithAnalysisRuleTypes(Aws::Vector&& value) { SetAnalysisRuleTypes(std::move(value)); return *this;} /** *

The types of analysis rules that are associated with this schema object.

*/ inline SchemaSummary& AddAnalysisRuleTypes(const AnalysisRuleType& value) { m_analysisRuleTypesHasBeenSet = true; m_analysisRuleTypes.push_back(value); return *this; } /** *

The types of analysis rules that are associated with this schema object.

*/ inline SchemaSummary& AddAnalysisRuleTypes(AnalysisRuleType&& value) { m_analysisRuleTypesHasBeenSet = true; m_analysisRuleTypes.push_back(std::move(value)); return *this; } /** *

The analysis method for the associated schema. The only valid value is * currently `DIRECT_QUERY`.

*/ inline const AnalysisMethod& GetAnalysisMethod() const{ return m_analysisMethod; } /** *

The analysis method for the associated schema. The only valid value is * currently `DIRECT_QUERY`.

*/ inline bool AnalysisMethodHasBeenSet() const { return m_analysisMethodHasBeenSet; } /** *

The analysis method for the associated 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 associated 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 associated schema. The only valid value is * currently `DIRECT_QUERY`.

*/ inline SchemaSummary& WithAnalysisMethod(const AnalysisMethod& value) { SetAnalysisMethod(value); return *this;} /** *

The analysis method for the associated schema. The only valid value is * currently `DIRECT_QUERY`.

*/ inline SchemaSummary& WithAnalysisMethod(AnalysisMethod&& value) { SetAnalysisMethod(std::move(value)); return *this;} private: Aws::String m_name; bool m_nameHasBeenSet = false; SchemaType m_type; bool m_typeHasBeenSet = false; Aws::String m_creatorAccountId; bool m_creatorAccountIdHasBeenSet = false; Aws::Utils::DateTime m_createTime; bool m_createTimeHasBeenSet = false; Aws::Utils::DateTime m_updateTime; bool m_updateTimeHasBeenSet = false; Aws::String m_collaborationId; bool m_collaborationIdHasBeenSet = false; Aws::String m_collaborationArn; bool m_collaborationArnHasBeenSet = false; Aws::Vector m_analysisRuleTypes; bool m_analysisRuleTypesHasBeenSet = false; AnalysisMethod m_analysisMethod; bool m_analysisMethodHasBeenSet = false; }; } // namespace Model } // namespace CleanRooms } // namespace Aws