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

A type of analysis rule that enables row-level analysis.

See * Also:

AWS * API Reference

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

Columns that can be used to join a configured table with the table of the * member who can query and other members' configured tables.

*/ inline const Aws::Vector& GetJoinColumns() const{ return m_joinColumns; } /** *

Columns that can be used to join a configured table with the table of the * member who can query and other members' configured tables.

*/ inline bool JoinColumnsHasBeenSet() const { return m_joinColumnsHasBeenSet; } /** *

Columns that can be used to join a configured table with the table of the * member who can query and other members' configured tables.

*/ inline void SetJoinColumns(const Aws::Vector& value) { m_joinColumnsHasBeenSet = true; m_joinColumns = value; } /** *

Columns that can be used to join a configured table with the table of the * member who can query and other members' configured tables.

*/ inline void SetJoinColumns(Aws::Vector&& value) { m_joinColumnsHasBeenSet = true; m_joinColumns = std::move(value); } /** *

Columns that can be used to join a configured table with the table of the * member who can query and other members' configured tables.

*/ inline AnalysisRuleList& WithJoinColumns(const Aws::Vector& value) { SetJoinColumns(value); return *this;} /** *

Columns that can be used to join a configured table with the table of the * member who can query and other members' configured tables.

*/ inline AnalysisRuleList& WithJoinColumns(Aws::Vector&& value) { SetJoinColumns(std::move(value)); return *this;} /** *

Columns that can be used to join a configured table with the table of the * member who can query and other members' configured tables.

*/ inline AnalysisRuleList& AddJoinColumns(const Aws::String& value) { m_joinColumnsHasBeenSet = true; m_joinColumns.push_back(value); return *this; } /** *

Columns that can be used to join a configured table with the table of the * member who can query and other members' configured tables.

*/ inline AnalysisRuleList& AddJoinColumns(Aws::String&& value) { m_joinColumnsHasBeenSet = true; m_joinColumns.push_back(std::move(value)); return *this; } /** *

Columns that can be used to join a configured table with the table of the * member who can query and other members' configured tables.

*/ inline AnalysisRuleList& AddJoinColumns(const char* value) { m_joinColumnsHasBeenSet = true; m_joinColumns.push_back(value); return *this; } /** *

Which logical operators (if any) are to be used in an INNER JOIN match * condition. Default is AND.

*/ inline const Aws::Vector& GetAllowedJoinOperators() const{ return m_allowedJoinOperators; } /** *

Which logical operators (if any) are to be used in an INNER JOIN match * condition. Default is AND.

*/ inline bool AllowedJoinOperatorsHasBeenSet() const { return m_allowedJoinOperatorsHasBeenSet; } /** *

Which logical operators (if any) are to be used in an INNER JOIN match * condition. Default is AND.

*/ inline void SetAllowedJoinOperators(const Aws::Vector& value) { m_allowedJoinOperatorsHasBeenSet = true; m_allowedJoinOperators = value; } /** *

Which logical operators (if any) are to be used in an INNER JOIN match * condition. Default is AND.

*/ inline void SetAllowedJoinOperators(Aws::Vector&& value) { m_allowedJoinOperatorsHasBeenSet = true; m_allowedJoinOperators = std::move(value); } /** *

Which logical operators (if any) are to be used in an INNER JOIN match * condition. Default is AND.

*/ inline AnalysisRuleList& WithAllowedJoinOperators(const Aws::Vector& value) { SetAllowedJoinOperators(value); return *this;} /** *

Which logical operators (if any) are to be used in an INNER JOIN match * condition. Default is AND.

*/ inline AnalysisRuleList& WithAllowedJoinOperators(Aws::Vector&& value) { SetAllowedJoinOperators(std::move(value)); return *this;} /** *

Which logical operators (if any) are to be used in an INNER JOIN match * condition. Default is AND.

*/ inline AnalysisRuleList& AddAllowedJoinOperators(const JoinOperator& value) { m_allowedJoinOperatorsHasBeenSet = true; m_allowedJoinOperators.push_back(value); return *this; } /** *

Which logical operators (if any) are to be used in an INNER JOIN match * condition. Default is AND.

*/ inline AnalysisRuleList& AddAllowedJoinOperators(JoinOperator&& value) { m_allowedJoinOperatorsHasBeenSet = true; m_allowedJoinOperators.push_back(std::move(value)); return *this; } /** *

Columns that can be listed in the output.

*/ inline const Aws::Vector& GetListColumns() const{ return m_listColumns; } /** *

Columns that can be listed in the output.

*/ inline bool ListColumnsHasBeenSet() const { return m_listColumnsHasBeenSet; } /** *

Columns that can be listed in the output.

*/ inline void SetListColumns(const Aws::Vector& value) { m_listColumnsHasBeenSet = true; m_listColumns = value; } /** *

Columns that can be listed in the output.

*/ inline void SetListColumns(Aws::Vector&& value) { m_listColumnsHasBeenSet = true; m_listColumns = std::move(value); } /** *

Columns that can be listed in the output.

*/ inline AnalysisRuleList& WithListColumns(const Aws::Vector& value) { SetListColumns(value); return *this;} /** *

Columns that can be listed in the output.

*/ inline AnalysisRuleList& WithListColumns(Aws::Vector&& value) { SetListColumns(std::move(value)); return *this;} /** *

Columns that can be listed in the output.

*/ inline AnalysisRuleList& AddListColumns(const Aws::String& value) { m_listColumnsHasBeenSet = true; m_listColumns.push_back(value); return *this; } /** *

Columns that can be listed in the output.

*/ inline AnalysisRuleList& AddListColumns(Aws::String&& value) { m_listColumnsHasBeenSet = true; m_listColumns.push_back(std::move(value)); return *this; } /** *

Columns that can be listed in the output.

*/ inline AnalysisRuleList& AddListColumns(const char* value) { m_listColumnsHasBeenSet = true; m_listColumns.push_back(value); return *this; } private: Aws::Vector m_joinColumns; bool m_joinColumnsHasBeenSet = false; Aws::Vector m_allowedJoinOperators; bool m_allowedJoinOperatorsHasBeenSet = false; Aws::Vector m_listColumns; bool m_listColumnsHasBeenSet = false; }; } // namespace Model } // namespace CleanRooms } // namespace Aws