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

A logical table is a unit that joins and that data transformations * operate on. A logical table has a source, which can be either a physical table * or result of a join. When a logical table points to a physical table, the * logical table acts as a mutable copy of that physical table through transform * operations.

See Also:

AWS * API Reference

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

A display name for the logical table.

*/ inline const Aws::String& GetAlias() const{ return m_alias; } /** *

A display name for the logical table.

*/ inline bool AliasHasBeenSet() const { return m_aliasHasBeenSet; } /** *

A display name for the logical table.

*/ inline void SetAlias(const Aws::String& value) { m_aliasHasBeenSet = true; m_alias = value; } /** *

A display name for the logical table.

*/ inline void SetAlias(Aws::String&& value) { m_aliasHasBeenSet = true; m_alias = std::move(value); } /** *

A display name for the logical table.

*/ inline void SetAlias(const char* value) { m_aliasHasBeenSet = true; m_alias.assign(value); } /** *

A display name for the logical table.

*/ inline LogicalTable& WithAlias(const Aws::String& value) { SetAlias(value); return *this;} /** *

A display name for the logical table.

*/ inline LogicalTable& WithAlias(Aws::String&& value) { SetAlias(std::move(value)); return *this;} /** *

A display name for the logical table.

*/ inline LogicalTable& WithAlias(const char* value) { SetAlias(value); return *this;} /** *

Transform operations that act on this logical table. For this structure to be * valid, only one of the attributes can be non-null.

*/ inline const Aws::Vector& GetDataTransforms() const{ return m_dataTransforms; } /** *

Transform operations that act on this logical table. For this structure to be * valid, only one of the attributes can be non-null.

*/ inline bool DataTransformsHasBeenSet() const { return m_dataTransformsHasBeenSet; } /** *

Transform operations that act on this logical table. For this structure to be * valid, only one of the attributes can be non-null.

*/ inline void SetDataTransforms(const Aws::Vector& value) { m_dataTransformsHasBeenSet = true; m_dataTransforms = value; } /** *

Transform operations that act on this logical table. For this structure to be * valid, only one of the attributes can be non-null.

*/ inline void SetDataTransforms(Aws::Vector&& value) { m_dataTransformsHasBeenSet = true; m_dataTransforms = std::move(value); } /** *

Transform operations that act on this logical table. For this structure to be * valid, only one of the attributes can be non-null.

*/ inline LogicalTable& WithDataTransforms(const Aws::Vector& value) { SetDataTransforms(value); return *this;} /** *

Transform operations that act on this logical table. For this structure to be * valid, only one of the attributes can be non-null.

*/ inline LogicalTable& WithDataTransforms(Aws::Vector&& value) { SetDataTransforms(std::move(value)); return *this;} /** *

Transform operations that act on this logical table. For this structure to be * valid, only one of the attributes can be non-null.

*/ inline LogicalTable& AddDataTransforms(const TransformOperation& value) { m_dataTransformsHasBeenSet = true; m_dataTransforms.push_back(value); return *this; } /** *

Transform operations that act on this logical table. For this structure to be * valid, only one of the attributes can be non-null.

*/ inline LogicalTable& AddDataTransforms(TransformOperation&& value) { m_dataTransformsHasBeenSet = true; m_dataTransforms.push_back(std::move(value)); return *this; } /** *

Source of this logical table.

*/ inline const LogicalTableSource& GetSource() const{ return m_source; } /** *

Source of this logical table.

*/ inline bool SourceHasBeenSet() const { return m_sourceHasBeenSet; } /** *

Source of this logical table.

*/ inline void SetSource(const LogicalTableSource& value) { m_sourceHasBeenSet = true; m_source = value; } /** *

Source of this logical table.

*/ inline void SetSource(LogicalTableSource&& value) { m_sourceHasBeenSet = true; m_source = std::move(value); } /** *

Source of this logical table.

*/ inline LogicalTable& WithSource(const LogicalTableSource& value) { SetSource(value); return *this;} /** *

Source of this logical table.

*/ inline LogicalTable& WithSource(LogicalTableSource&& value) { SetSource(std::move(value)); return *this;} private: Aws::String m_alias; bool m_aliasHasBeenSet = false; Aws::Vector m_dataTransforms; bool m_dataTransformsHasBeenSet = false; LogicalTableSource m_source; bool m_sourceHasBeenSet = false; }; } // namespace Model } // namespace QuickSight } // namespace Aws