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

Details about the AWS Lake Formation resource (Table or Database) included in * the AWS Lake Formation data permission.

See Also:

AWS * API Reference

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

Details about the database resource included in the AWS Lake Formation data * permission.

*/ inline const DatabaseLFTagPolicy& GetDatabase() const{ return m_database; } /** *

Details about the database resource included in the AWS Lake Formation data * permission.

*/ inline bool DatabaseHasBeenSet() const { return m_databaseHasBeenSet; } /** *

Details about the database resource included in the AWS Lake Formation data * permission.

*/ inline void SetDatabase(const DatabaseLFTagPolicy& value) { m_databaseHasBeenSet = true; m_database = value; } /** *

Details about the database resource included in the AWS Lake Formation data * permission.

*/ inline void SetDatabase(DatabaseLFTagPolicy&& value) { m_databaseHasBeenSet = true; m_database = std::move(value); } /** *

Details about the database resource included in the AWS Lake Formation data * permission.

*/ inline LFResourceDetails& WithDatabase(const DatabaseLFTagPolicy& value) { SetDatabase(value); return *this;} /** *

Details about the database resource included in the AWS Lake Formation data * permission.

*/ inline LFResourceDetails& WithDatabase(DatabaseLFTagPolicy&& value) { SetDatabase(std::move(value)); return *this;} /** *

Details about the table resource included in the AWS Lake Formation data * permission.

*/ inline const TableLFTagPolicy& GetTable() const{ return m_table; } /** *

Details about the table resource included in the AWS Lake Formation data * permission.

*/ inline bool TableHasBeenSet() const { return m_tableHasBeenSet; } /** *

Details about the table resource included in the AWS Lake Formation data * permission.

*/ inline void SetTable(const TableLFTagPolicy& value) { m_tableHasBeenSet = true; m_table = value; } /** *

Details about the table resource included in the AWS Lake Formation data * permission.

*/ inline void SetTable(TableLFTagPolicy&& value) { m_tableHasBeenSet = true; m_table = std::move(value); } /** *

Details about the table resource included in the AWS Lake Formation data * permission.

*/ inline LFResourceDetails& WithTable(const TableLFTagPolicy& value) { SetTable(value); return *this;} /** *

Details about the table resource included in the AWS Lake Formation data * permission.

*/ inline LFResourceDetails& WithTable(TableLFTagPolicy&& value) { SetTable(std::move(value)); return *this;} private: DatabaseLFTagPolicy m_database; bool m_databaseHasBeenSet = false; TableLFTagPolicy m_table; bool m_tableHasBeenSet = false; }; } // namespace Model } // namespace DataExchange } // namespace Aws