/** * 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 LakeFormation { namespace Model { /** */ class UpdateTableStorageOptimizerRequest : public LakeFormationRequest { public: AWS_LAKEFORMATION_API UpdateTableStorageOptimizerRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "UpdateTableStorageOptimizer"; } AWS_LAKEFORMATION_API Aws::String SerializePayload() const override; /** *

The Catalog ID of the table.

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

The Catalog ID of the table.

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

The Catalog ID of the table.

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

The Catalog ID of the table.

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

The Catalog ID of the table.

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

The Catalog ID of the table.

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

The Catalog ID of the table.

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

The Catalog ID of the table.

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

Name of the database where the table is present.

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

Name of the database where the table is present.

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

Name of the database where the table is present.

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

Name of the database where the table is present.

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

Name of the database where the table is present.

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

Name of the database where the table is present.

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

Name of the database where the table is present.

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

Name of the database where the table is present.

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

Name of the table for which to enable the storage optimizer.

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

Name of the table for which to enable the storage optimizer.

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

Name of the table for which to enable the storage optimizer.

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

Name of the table for which to enable the storage optimizer.

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

Name of the table for which to enable the storage optimizer.

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

Name of the table for which to enable the storage optimizer.

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

Name of the table for which to enable the storage optimizer.

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

Name of the table for which to enable the storage optimizer.

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

Name of the table for which to enable the storage optimizer.

*/ inline const Aws::Map>& GetStorageOptimizerConfig() const{ return m_storageOptimizerConfig; } /** *

Name of the table for which to enable the storage optimizer.

*/ inline bool StorageOptimizerConfigHasBeenSet() const { return m_storageOptimizerConfigHasBeenSet; } /** *

Name of the table for which to enable the storage optimizer.

*/ inline void SetStorageOptimizerConfig(const Aws::Map>& value) { m_storageOptimizerConfigHasBeenSet = true; m_storageOptimizerConfig = value; } /** *

Name of the table for which to enable the storage optimizer.

*/ inline void SetStorageOptimizerConfig(Aws::Map>&& value) { m_storageOptimizerConfigHasBeenSet = true; m_storageOptimizerConfig = std::move(value); } /** *

Name of the table for which to enable the storage optimizer.

*/ inline UpdateTableStorageOptimizerRequest& WithStorageOptimizerConfig(const Aws::Map>& value) { SetStorageOptimizerConfig(value); return *this;} /** *

Name of the table for which to enable the storage optimizer.

*/ inline UpdateTableStorageOptimizerRequest& WithStorageOptimizerConfig(Aws::Map>&& value) { SetStorageOptimizerConfig(std::move(value)); return *this;} /** *

Name of the table for which to enable the storage optimizer.

*/ inline UpdateTableStorageOptimizerRequest& AddStorageOptimizerConfig(const OptimizerType& key, const Aws::Map& value) { m_storageOptimizerConfigHasBeenSet = true; m_storageOptimizerConfig.emplace(key, value); return *this; } /** *

Name of the table for which to enable the storage optimizer.

*/ inline UpdateTableStorageOptimizerRequest& AddStorageOptimizerConfig(OptimizerType&& key, const Aws::Map& value) { m_storageOptimizerConfigHasBeenSet = true; m_storageOptimizerConfig.emplace(std::move(key), value); return *this; } /** *

Name of the table for which to enable the storage optimizer.

*/ inline UpdateTableStorageOptimizerRequest& AddStorageOptimizerConfig(const OptimizerType& key, Aws::Map&& value) { m_storageOptimizerConfigHasBeenSet = true; m_storageOptimizerConfig.emplace(key, std::move(value)); return *this; } /** *

Name of the table for which to enable the storage optimizer.

*/ inline UpdateTableStorageOptimizerRequest& AddStorageOptimizerConfig(OptimizerType&& key, Aws::Map&& value) { m_storageOptimizerConfigHasBeenSet = true; m_storageOptimizerConfig.emplace(std::move(key), std::move(value)); return *this; } private: Aws::String m_catalogId; bool m_catalogIdHasBeenSet = false; Aws::String m_databaseName; bool m_databaseNameHasBeenSet = false; Aws::String m_tableName; bool m_tableNameHasBeenSet = false; Aws::Map> m_storageOptimizerConfig; bool m_storageOptimizerConfigHasBeenSet = false; }; } // namespace Model } // namespace LakeFormation } // namespace Aws