/** * 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 { /** *

The structure used to create and update a partition.

See Also:

* AWS * API Reference

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

The values of the partition. Although this parameter is not required by the * SDK, you must specify this parameter for a valid input.

The values for * the keys for the new partition must be passed as an array of String objects that * must be ordered in the same order as the partition keys appearing in the Amazon * S3 prefix. Otherwise Glue will add the values to the wrong keys.

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

The values of the partition. Although this parameter is not required by the * SDK, you must specify this parameter for a valid input.

The values for * the keys for the new partition must be passed as an array of String objects that * must be ordered in the same order as the partition keys appearing in the Amazon * S3 prefix. Otherwise Glue will add the values to the wrong keys.

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

The values of the partition. Although this parameter is not required by the * SDK, you must specify this parameter for a valid input.

The values for * the keys for the new partition must be passed as an array of String objects that * must be ordered in the same order as the partition keys appearing in the Amazon * S3 prefix. Otherwise Glue will add the values to the wrong keys.

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

The values of the partition. Although this parameter is not required by the * SDK, you must specify this parameter for a valid input.

The values for * the keys for the new partition must be passed as an array of String objects that * must be ordered in the same order as the partition keys appearing in the Amazon * S3 prefix. Otherwise Glue will add the values to the wrong keys.

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

The values of the partition. Although this parameter is not required by the * SDK, you must specify this parameter for a valid input.

The values for * the keys for the new partition must be passed as an array of String objects that * must be ordered in the same order as the partition keys appearing in the Amazon * S3 prefix. Otherwise Glue will add the values to the wrong keys.

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

The values of the partition. Although this parameter is not required by the * SDK, you must specify this parameter for a valid input.

The values for * the keys for the new partition must be passed as an array of String objects that * must be ordered in the same order as the partition keys appearing in the Amazon * S3 prefix. Otherwise Glue will add the values to the wrong keys.

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

The values of the partition. Although this parameter is not required by the * SDK, you must specify this parameter for a valid input.

The values for * the keys for the new partition must be passed as an array of String objects that * must be ordered in the same order as the partition keys appearing in the Amazon * S3 prefix. Otherwise Glue will add the values to the wrong keys.

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

The values of the partition. Although this parameter is not required by the * SDK, you must specify this parameter for a valid input.

The values for * the keys for the new partition must be passed as an array of String objects that * must be ordered in the same order as the partition keys appearing in the Amazon * S3 prefix. Otherwise Glue will add the values to the wrong keys.

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

The values of the partition. Although this parameter is not required by the * SDK, you must specify this parameter for a valid input.

The values for * the keys for the new partition must be passed as an array of String objects that * must be ordered in the same order as the partition keys appearing in the Amazon * S3 prefix. Otherwise Glue will add the values to the wrong keys.

*/ inline PartitionInput& AddValues(const char* value) { m_valuesHasBeenSet = true; m_values.push_back(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 PartitionInput& WithLastAccessTime(const Aws::Utils::DateTime& value) { SetLastAccessTime(value); return *this;} /** *

The last time at which the partition was accessed.

*/ inline PartitionInput& 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 PartitionInput& WithStorageDescriptor(const StorageDescriptor& value) { SetStorageDescriptor(value); return *this;} /** *

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

*/ inline PartitionInput& 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 PartitionInput& WithParameters(const Aws::Map& value) { SetParameters(value); return *this;} /** *

These key-value pairs define partition parameters.

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

These key-value pairs define partition parameters.

*/ inline PartitionInput& 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 PartitionInput& 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 PartitionInput& 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 PartitionInput& 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 PartitionInput& 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 PartitionInput& 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 PartitionInput& 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 PartitionInput& WithLastAnalyzedTime(const Aws::Utils::DateTime& value) { SetLastAnalyzedTime(value); return *this;} /** *

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

*/ inline PartitionInput& WithLastAnalyzedTime(Aws::Utils::DateTime&& value) { SetLastAnalyzedTime(std::move(value)); return *this;} private: Aws::Vector m_values; bool m_valuesHasBeenSet = 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; }; } // namespace Model } // namespace Glue } // namespace Aws