/** * 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 Glue { namespace Model { /** *

The database and table in the Glue Data Catalog that is used for input or * output data.

See Also:

AWS API * Reference

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

A database name in the Glue Data Catalog.

*/ inline const Aws::String& GetDatabaseName() const{ return m_databaseName; } /** *

A database name in the Glue Data Catalog.

*/ inline bool DatabaseNameHasBeenSet() const { return m_databaseNameHasBeenSet; } /** *

A database name in the Glue Data Catalog.

*/ inline void SetDatabaseName(const Aws::String& value) { m_databaseNameHasBeenSet = true; m_databaseName = value; } /** *

A database name in the Glue Data Catalog.

*/ inline void SetDatabaseName(Aws::String&& value) { m_databaseNameHasBeenSet = true; m_databaseName = std::move(value); } /** *

A database name in the Glue Data Catalog.

*/ inline void SetDatabaseName(const char* value) { m_databaseNameHasBeenSet = true; m_databaseName.assign(value); } /** *

A database name in the Glue Data Catalog.

*/ inline GlueTable& WithDatabaseName(const Aws::String& value) { SetDatabaseName(value); return *this;} /** *

A database name in the Glue Data Catalog.

*/ inline GlueTable& WithDatabaseName(Aws::String&& value) { SetDatabaseName(std::move(value)); return *this;} /** *

A database name in the Glue Data Catalog.

*/ inline GlueTable& WithDatabaseName(const char* value) { SetDatabaseName(value); return *this;} /** *

A table name in the Glue Data Catalog.

*/ inline const Aws::String& GetTableName() const{ return m_tableName; } /** *

A table name in the Glue Data Catalog.

*/ inline bool TableNameHasBeenSet() const { return m_tableNameHasBeenSet; } /** *

A table name in the Glue Data Catalog.

*/ inline void SetTableName(const Aws::String& value) { m_tableNameHasBeenSet = true; m_tableName = value; } /** *

A table name in the Glue Data Catalog.

*/ inline void SetTableName(Aws::String&& value) { m_tableNameHasBeenSet = true; m_tableName = std::move(value); } /** *

A table name in the Glue Data Catalog.

*/ inline void SetTableName(const char* value) { m_tableNameHasBeenSet = true; m_tableName.assign(value); } /** *

A table name in the Glue Data Catalog.

*/ inline GlueTable& WithTableName(const Aws::String& value) { SetTableName(value); return *this;} /** *

A table name in the Glue Data Catalog.

*/ inline GlueTable& WithTableName(Aws::String&& value) { SetTableName(std::move(value)); return *this;} /** *

A table name in the Glue Data Catalog.

*/ inline GlueTable& WithTableName(const char* value) { SetTableName(value); return *this;} /** *

A unique identifier for the Glue Data Catalog.

*/ inline const Aws::String& GetCatalogId() const{ return m_catalogId; } /** *

A unique identifier for the Glue Data Catalog.

*/ inline bool CatalogIdHasBeenSet() const { return m_catalogIdHasBeenSet; } /** *

A unique identifier for the Glue Data Catalog.

*/ inline void SetCatalogId(const Aws::String& value) { m_catalogIdHasBeenSet = true; m_catalogId = value; } /** *

A unique identifier for the Glue Data Catalog.

*/ inline void SetCatalogId(Aws::String&& value) { m_catalogIdHasBeenSet = true; m_catalogId = std::move(value); } /** *

A unique identifier for the Glue Data Catalog.

*/ inline void SetCatalogId(const char* value) { m_catalogIdHasBeenSet = true; m_catalogId.assign(value); } /** *

A unique identifier for the Glue Data Catalog.

*/ inline GlueTable& WithCatalogId(const Aws::String& value) { SetCatalogId(value); return *this;} /** *

A unique identifier for the Glue Data Catalog.

*/ inline GlueTable& WithCatalogId(Aws::String&& value) { SetCatalogId(std::move(value)); return *this;} /** *

A unique identifier for the Glue Data Catalog.

*/ inline GlueTable& WithCatalogId(const char* value) { SetCatalogId(value); return *this;} /** *

The name of the connection to the Glue Data Catalog.

*/ inline const Aws::String& GetConnectionName() const{ return m_connectionName; } /** *

The name of the connection to the Glue Data Catalog.

*/ inline bool ConnectionNameHasBeenSet() const { return m_connectionNameHasBeenSet; } /** *

The name of the connection to the Glue Data Catalog.

*/ inline void SetConnectionName(const Aws::String& value) { m_connectionNameHasBeenSet = true; m_connectionName = value; } /** *

The name of the connection to the Glue Data Catalog.

*/ inline void SetConnectionName(Aws::String&& value) { m_connectionNameHasBeenSet = true; m_connectionName = std::move(value); } /** *

The name of the connection to the Glue Data Catalog.

*/ inline void SetConnectionName(const char* value) { m_connectionNameHasBeenSet = true; m_connectionName.assign(value); } /** *

The name of the connection to the Glue Data Catalog.

*/ inline GlueTable& WithConnectionName(const Aws::String& value) { SetConnectionName(value); return *this;} /** *

The name of the connection to the Glue Data Catalog.

*/ inline GlueTable& WithConnectionName(Aws::String&& value) { SetConnectionName(std::move(value)); return *this;} /** *

The name of the connection to the Glue Data Catalog.

*/ inline GlueTable& WithConnectionName(const char* value) { SetConnectionName(value); return *this;} /** *

Additional options for the table. Currently there are two keys supported:

*
  • pushDownPredicate: to filter on partitions without * having to list and read all the files in your dataset.

  • * catalogPartitionPredicate: to use server-side partition pruning * using partition indexes in the Glue Data Catalog.

*/ inline const Aws::Map& GetAdditionalOptions() const{ return m_additionalOptions; } /** *

Additional options for the table. Currently there are two keys supported:

*
  • pushDownPredicate: to filter on partitions without * having to list and read all the files in your dataset.

  • * catalogPartitionPredicate: to use server-side partition pruning * using partition indexes in the Glue Data Catalog.

*/ inline bool AdditionalOptionsHasBeenSet() const { return m_additionalOptionsHasBeenSet; } /** *

Additional options for the table. Currently there are two keys supported:

*
  • pushDownPredicate: to filter on partitions without * having to list and read all the files in your dataset.

  • * catalogPartitionPredicate: to use server-side partition pruning * using partition indexes in the Glue Data Catalog.

*/ inline void SetAdditionalOptions(const Aws::Map& value) { m_additionalOptionsHasBeenSet = true; m_additionalOptions = value; } /** *

Additional options for the table. Currently there are two keys supported:

*
  • pushDownPredicate: to filter on partitions without * having to list and read all the files in your dataset.

  • * catalogPartitionPredicate: to use server-side partition pruning * using partition indexes in the Glue Data Catalog.

*/ inline void SetAdditionalOptions(Aws::Map&& value) { m_additionalOptionsHasBeenSet = true; m_additionalOptions = std::move(value); } /** *

Additional options for the table. Currently there are two keys supported:

*
  • pushDownPredicate: to filter on partitions without * having to list and read all the files in your dataset.

  • * catalogPartitionPredicate: to use server-side partition pruning * using partition indexes in the Glue Data Catalog.

*/ inline GlueTable& WithAdditionalOptions(const Aws::Map& value) { SetAdditionalOptions(value); return *this;} /** *

Additional options for the table. Currently there are two keys supported:

*
  • pushDownPredicate: to filter on partitions without * having to list and read all the files in your dataset.

  • * catalogPartitionPredicate: to use server-side partition pruning * using partition indexes in the Glue Data Catalog.

*/ inline GlueTable& WithAdditionalOptions(Aws::Map&& value) { SetAdditionalOptions(std::move(value)); return *this;} /** *

Additional options for the table. Currently there are two keys supported:

*
  • pushDownPredicate: to filter on partitions without * having to list and read all the files in your dataset.

  • * catalogPartitionPredicate: to use server-side partition pruning * using partition indexes in the Glue Data Catalog.

*/ inline GlueTable& AddAdditionalOptions(const Aws::String& key, const Aws::String& value) { m_additionalOptionsHasBeenSet = true; m_additionalOptions.emplace(key, value); return *this; } /** *

Additional options for the table. Currently there are two keys supported:

*
  • pushDownPredicate: to filter on partitions without * having to list and read all the files in your dataset.

  • * catalogPartitionPredicate: to use server-side partition pruning * using partition indexes in the Glue Data Catalog.

*/ inline GlueTable& AddAdditionalOptions(Aws::String&& key, const Aws::String& value) { m_additionalOptionsHasBeenSet = true; m_additionalOptions.emplace(std::move(key), value); return *this; } /** *

Additional options for the table. Currently there are two keys supported:

*
  • pushDownPredicate: to filter on partitions without * having to list and read all the files in your dataset.

  • * catalogPartitionPredicate: to use server-side partition pruning * using partition indexes in the Glue Data Catalog.

*/ inline GlueTable& AddAdditionalOptions(const Aws::String& key, Aws::String&& value) { m_additionalOptionsHasBeenSet = true; m_additionalOptions.emplace(key, std::move(value)); return *this; } /** *

Additional options for the table. Currently there are two keys supported:

*
  • pushDownPredicate: to filter on partitions without * having to list and read all the files in your dataset.

  • * catalogPartitionPredicate: to use server-side partition pruning * using partition indexes in the Glue Data Catalog.

*/ inline GlueTable& AddAdditionalOptions(Aws::String&& key, Aws::String&& value) { m_additionalOptionsHasBeenSet = true; m_additionalOptions.emplace(std::move(key), std::move(value)); return *this; } /** *

Additional options for the table. Currently there are two keys supported:

*
  • pushDownPredicate: to filter on partitions without * having to list and read all the files in your dataset.

  • * catalogPartitionPredicate: to use server-side partition pruning * using partition indexes in the Glue Data Catalog.

*/ inline GlueTable& AddAdditionalOptions(const char* key, Aws::String&& value) { m_additionalOptionsHasBeenSet = true; m_additionalOptions.emplace(key, std::move(value)); return *this; } /** *

Additional options for the table. Currently there are two keys supported:

*
  • pushDownPredicate: to filter on partitions without * having to list and read all the files in your dataset.

  • * catalogPartitionPredicate: to use server-side partition pruning * using partition indexes in the Glue Data Catalog.

*/ inline GlueTable& AddAdditionalOptions(Aws::String&& key, const char* value) { m_additionalOptionsHasBeenSet = true; m_additionalOptions.emplace(std::move(key), value); return *this; } /** *

Additional options for the table. Currently there are two keys supported:

*
  • pushDownPredicate: to filter on partitions without * having to list and read all the files in your dataset.

  • * catalogPartitionPredicate: to use server-side partition pruning * using partition indexes in the Glue Data Catalog.

*/ inline GlueTable& AddAdditionalOptions(const char* key, const char* value) { m_additionalOptionsHasBeenSet = true; m_additionalOptions.emplace(key, value); return *this; } private: Aws::String m_databaseName; bool m_databaseNameHasBeenSet = false; Aws::String m_tableName; bool m_tableNameHasBeenSet = false; Aws::String m_catalogId; bool m_catalogIdHasBeenSet = false; Aws::String m_connectionName; bool m_connectionNameHasBeenSet = false; Aws::Map m_additionalOptions; bool m_additionalOptionsHasBeenSet = false; }; } // namespace Model } // namespace Glue } // namespace Aws