/** * 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 namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace Glue { namespace Model { /** *

Represents a slice of table data.

See Also:

AWS API * Reference

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

The values of the partition.

*/ inline const Aws::Vector& GetValues() const{ return m_values; } /** *

The values of the partition.

*/ inline bool ValuesHasBeenSet() const { return m_valuesHasBeenSet; } /** *

The values of the partition.

*/ inline void SetValues(const Aws::Vector& value) { m_valuesHasBeenSet = true; m_values = value; } /** *

The values of the partition.

*/ inline void SetValues(Aws::Vector&& value) { m_valuesHasBeenSet = true; m_values = std::move(value); } /** *

The values of the partition.

*/ inline Partition& WithValues(const Aws::Vector& value) { SetValues(value); return *this;} /** *

The values of the partition.

*/ inline Partition& WithValues(Aws::Vector&& value) { SetValues(std::move(value)); return *this;} /** *

The values of the partition.

*/ inline Partition& AddValues(const Aws::String& value) { m_valuesHasBeenSet = true; m_values.push_back(value); return *this; } /** *

The values of the partition.

*/ inline Partition& AddValues(Aws::String&& value) { m_valuesHasBeenSet = true; m_values.push_back(std::move(value)); return *this; } /** *

The values of the partition.

*/ inline Partition& AddValues(const char* value) { m_valuesHasBeenSet = true; m_values.push_back(value); return *this; } /** *

The name of the catalog database in which to create the partition.

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

The name of the catalog database in which to create the partition.

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

The name of the catalog database in which to create the partition.

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

The name of the catalog database in which to create the partition.

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

The name of the catalog database in which to create the partition.

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

The name of the catalog database in which to create the partition.

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

The name of the catalog database in which to create the partition.

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

The name of the catalog database in which to create the partition.

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

The name of the database table in which to create the partition.

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

The name of the database table in which to create the partition.

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

The name of the database table in which to create the partition.

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

The name of the database table in which to create the partition.

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

The name of the database table in which to create the partition.

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

The name of the database table in which to create the partition.

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

The name of the database table in which to create the partition.

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

The name of the database table in which to create the partition.

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

The time at which the partition was created.

*/ inline const Aws::Utils::DateTime& GetCreationTime() const{ return m_creationTime; } /** *

The time at which the partition was created.

*/ inline bool CreationTimeHasBeenSet() const { return m_creationTimeHasBeenSet; } /** *

The time at which the partition was created.

*/ inline void SetCreationTime(const Aws::Utils::DateTime& value) { m_creationTimeHasBeenSet = true; m_creationTime = value; } /** *

The time at which the partition was created.

*/ inline void SetCreationTime(Aws::Utils::DateTime&& value) { m_creationTimeHasBeenSet = true; m_creationTime = std::move(value); } /** *

The time at which the partition was created.

*/ inline Partition& WithCreationTime(const Aws::Utils::DateTime& value) { SetCreationTime(value); return *this;} /** *

The time at which the partition was created.

*/ inline Partition& WithCreationTime(Aws::Utils::DateTime&& value) { SetCreationTime(std::move(value)); return *this;} /** *

The last time at which the partition was accessed.

*/ inline const Aws::Utils::DateTime& GetLastAccessTime() const{ return m_lastAccessTime; } /** *

The last time at which the partition was accessed.

*/ inline bool LastAccessTimeHasBeenSet() const { return m_lastAccessTimeHasBeenSet; } /** *

The last time at which the partition was accessed.

*/ inline void SetLastAccessTime(const Aws::Utils::DateTime& value) { m_lastAccessTimeHasBeenSet = true; m_lastAccessTime = value; } /** *

The last time at which the partition was accessed.

*/ inline void SetLastAccessTime(Aws::Utils::DateTime&& value) { m_lastAccessTimeHasBeenSet = true; m_lastAccessTime = std::move(value); } /** *

The last time at which the partition was accessed.

*/ inline Partition& WithLastAccessTime(const Aws::Utils::DateTime& value) { SetLastAccessTime(value); return *this;} /** *

The last time at which the partition was accessed.

*/ inline Partition& WithLastAccessTime(Aws::Utils::DateTime&& value) { SetLastAccessTime(std::move(value)); return *this;} /** *

Provides information about the physical location where the partition is * stored.

*/ inline const StorageDescriptor& GetStorageDescriptor() const{ return m_storageDescriptor; } /** *

Provides information about the physical location where the partition is * stored.

*/ inline bool StorageDescriptorHasBeenSet() const { return m_storageDescriptorHasBeenSet; } /** *

Provides information about the physical location where the partition is * stored.

*/ inline void SetStorageDescriptor(const StorageDescriptor& value) { m_storageDescriptorHasBeenSet = true; m_storageDescriptor = value; } /** *

Provides information about the physical location where the partition is * stored.

*/ inline void SetStorageDescriptor(StorageDescriptor&& value) { m_storageDescriptorHasBeenSet = true; m_storageDescriptor = std::move(value); } /** *

Provides information about the physical location where the partition is * stored.

*/ inline Partition& WithStorageDescriptor(const StorageDescriptor& value) { SetStorageDescriptor(value); return *this;} /** *

Provides information about the physical location where the partition is * stored.

*/ inline Partition& WithStorageDescriptor(StorageDescriptor&& value) { SetStorageDescriptor(std::move(value)); return *this;} /** *

These key-value pairs define partition parameters.

*/ inline const Aws::Map& GetParameters() const{ return m_parameters; } /** *

These key-value pairs define partition parameters.

*/ inline bool ParametersHasBeenSet() const { return m_parametersHasBeenSet; } /** *

These key-value pairs define partition parameters.

*/ inline void SetParameters(const Aws::Map& value) { m_parametersHasBeenSet = true; m_parameters = value; } /** *

These key-value pairs define partition parameters.

*/ inline void SetParameters(Aws::Map&& value) { m_parametersHasBeenSet = true; m_parameters = std::move(value); } /** *

These key-value pairs define partition parameters.

*/ inline Partition& WithParameters(const Aws::Map& value) { SetParameters(value); return *this;} /** *

These key-value pairs define partition parameters.

*/ inline Partition& WithParameters(Aws::Map&& value) { SetParameters(std::move(value)); return *this;} /** *

These key-value pairs define partition parameters.

*/ inline Partition& AddParameters(const Aws::String& key, const Aws::String& value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, value); return *this; } /** *

These key-value pairs define partition parameters.

*/ inline Partition& AddParameters(Aws::String&& key, const Aws::String& value) { m_parametersHasBeenSet = true; m_parameters.emplace(std::move(key), value); return *this; } /** *

These key-value pairs define partition parameters.

*/ inline Partition& AddParameters(const Aws::String& key, Aws::String&& value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, std::move(value)); return *this; } /** *

These key-value pairs define partition parameters.

*/ inline Partition& AddParameters(Aws::String&& key, Aws::String&& value) { m_parametersHasBeenSet = true; m_parameters.emplace(std::move(key), std::move(value)); return *this; } /** *

These key-value pairs define partition parameters.

*/ inline Partition& AddParameters(const char* key, Aws::String&& value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, std::move(value)); return *this; } /** *

These key-value pairs define partition parameters.

*/ inline Partition& AddParameters(Aws::String&& key, const char* value) { m_parametersHasBeenSet = true; m_parameters.emplace(std::move(key), value); return *this; } /** *

These key-value pairs define partition parameters.

*/ inline Partition& AddParameters(const char* key, const char* value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, value); return *this; } /** *

The last time at which column statistics were computed for this * partition.

*/ inline const Aws::Utils::DateTime& GetLastAnalyzedTime() const{ return m_lastAnalyzedTime; } /** *

The last time at which column statistics were computed for this * partition.

*/ inline bool LastAnalyzedTimeHasBeenSet() const { return m_lastAnalyzedTimeHasBeenSet; } /** *

The last time at which column statistics were computed for this * partition.

*/ inline void SetLastAnalyzedTime(const Aws::Utils::DateTime& value) { m_lastAnalyzedTimeHasBeenSet = true; m_lastAnalyzedTime = value; } /** *

The last time at which column statistics were computed for this * partition.

*/ inline void SetLastAnalyzedTime(Aws::Utils::DateTime&& value) { m_lastAnalyzedTimeHasBeenSet = true; m_lastAnalyzedTime = std::move(value); } /** *

The last time at which column statistics were computed for this * partition.

*/ inline Partition& WithLastAnalyzedTime(const Aws::Utils::DateTime& value) { SetLastAnalyzedTime(value); return *this;} /** *

The last time at which column statistics were computed for this * partition.

*/ inline Partition& WithLastAnalyzedTime(Aws::Utils::DateTime&& value) { SetLastAnalyzedTime(std::move(value)); return *this;} /** *

The ID of the Data Catalog in which the partition resides.

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

The ID of the Data Catalog in which the partition resides.

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

The ID of the Data Catalog in which the partition resides.

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

The ID of the Data Catalog in which the partition resides.

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

The ID of the Data Catalog in which the partition resides.

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

The ID of the Data Catalog in which the partition resides.

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

The ID of the Data Catalog in which the partition resides.

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

The ID of the Data Catalog in which the partition resides.

*/ inline Partition& WithCatalogId(const char* value) { SetCatalogId(value); return *this;} private: Aws::Vector m_values; bool m_valuesHasBeenSet = false; Aws::String m_databaseName; bool m_databaseNameHasBeenSet = false; Aws::String m_tableName; bool m_tableNameHasBeenSet = false; Aws::Utils::DateTime m_creationTime; bool m_creationTimeHasBeenSet = false; Aws::Utils::DateTime m_lastAccessTime; bool m_lastAccessTimeHasBeenSet = false; StorageDescriptor m_storageDescriptor; bool m_storageDescriptorHasBeenSet = false; Aws::Map m_parameters; bool m_parametersHasBeenSet = false; Aws::Utils::DateTime m_lastAnalyzedTime; bool m_lastAnalyzedTimeHasBeenSet = false; Aws::String m_catalogId; bool m_catalogIdHasBeenSet = false; }; } // namespace Model } // namespace Glue } // namespace Aws