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

The structure of database cache configuration that is used for mapping * database paths to cache types in clusters.

See Also:

AWS * API Reference

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

The type of disk cache. This parameter is used to map the database path to * cache storage. The valid values are:

  • CACHE_1000 – This type * provides at least 1000 MB/s disk access throughput.

*/ inline const Aws::String& GetCacheType() const{ return m_cacheType; } /** *

The type of disk cache. This parameter is used to map the database path to * cache storage. The valid values are:

  • CACHE_1000 – This type * provides at least 1000 MB/s disk access throughput.

*/ inline bool CacheTypeHasBeenSet() const { return m_cacheTypeHasBeenSet; } /** *

The type of disk cache. This parameter is used to map the database path to * cache storage. The valid values are:

  • CACHE_1000 – This type * provides at least 1000 MB/s disk access throughput.

*/ inline void SetCacheType(const Aws::String& value) { m_cacheTypeHasBeenSet = true; m_cacheType = value; } /** *

The type of disk cache. This parameter is used to map the database path to * cache storage. The valid values are:

  • CACHE_1000 – This type * provides at least 1000 MB/s disk access throughput.

*/ inline void SetCacheType(Aws::String&& value) { m_cacheTypeHasBeenSet = true; m_cacheType = std::move(value); } /** *

The type of disk cache. This parameter is used to map the database path to * cache storage. The valid values are:

  • CACHE_1000 – This type * provides at least 1000 MB/s disk access throughput.

*/ inline void SetCacheType(const char* value) { m_cacheTypeHasBeenSet = true; m_cacheType.assign(value); } /** *

The type of disk cache. This parameter is used to map the database path to * cache storage. The valid values are:

  • CACHE_1000 – This type * provides at least 1000 MB/s disk access throughput.

*/ inline KxDatabaseCacheConfiguration& WithCacheType(const Aws::String& value) { SetCacheType(value); return *this;} /** *

The type of disk cache. This parameter is used to map the database path to * cache storage. The valid values are:

  • CACHE_1000 – This type * provides at least 1000 MB/s disk access throughput.

*/ inline KxDatabaseCacheConfiguration& WithCacheType(Aws::String&& value) { SetCacheType(std::move(value)); return *this;} /** *

The type of disk cache. This parameter is used to map the database path to * cache storage. The valid values are:

  • CACHE_1000 – This type * provides at least 1000 MB/s disk access throughput.

*/ inline KxDatabaseCacheConfiguration& WithCacheType(const char* value) { SetCacheType(value); return *this;} /** *

Specifies the portions of database that will be loaded into the cache for * access.

*/ inline const Aws::Vector& GetDbPaths() const{ return m_dbPaths; } /** *

Specifies the portions of database that will be loaded into the cache for * access.

*/ inline bool DbPathsHasBeenSet() const { return m_dbPathsHasBeenSet; } /** *

Specifies the portions of database that will be loaded into the cache for * access.

*/ inline void SetDbPaths(const Aws::Vector& value) { m_dbPathsHasBeenSet = true; m_dbPaths = value; } /** *

Specifies the portions of database that will be loaded into the cache for * access.

*/ inline void SetDbPaths(Aws::Vector&& value) { m_dbPathsHasBeenSet = true; m_dbPaths = std::move(value); } /** *

Specifies the portions of database that will be loaded into the cache for * access.

*/ inline KxDatabaseCacheConfiguration& WithDbPaths(const Aws::Vector& value) { SetDbPaths(value); return *this;} /** *

Specifies the portions of database that will be loaded into the cache for * access.

*/ inline KxDatabaseCacheConfiguration& WithDbPaths(Aws::Vector&& value) { SetDbPaths(std::move(value)); return *this;} /** *

Specifies the portions of database that will be loaded into the cache for * access.

*/ inline KxDatabaseCacheConfiguration& AddDbPaths(const Aws::String& value) { m_dbPathsHasBeenSet = true; m_dbPaths.push_back(value); return *this; } /** *

Specifies the portions of database that will be loaded into the cache for * access.

*/ inline KxDatabaseCacheConfiguration& AddDbPaths(Aws::String&& value) { m_dbPathsHasBeenSet = true; m_dbPaths.push_back(std::move(value)); return *this; } /** *

Specifies the portions of database that will be loaded into the cache for * access.

*/ inline KxDatabaseCacheConfiguration& AddDbPaths(const char* value) { m_dbPathsHasBeenSet = true; m_dbPaths.push_back(value); return *this; } private: Aws::String m_cacheType; bool m_cacheTypeHasBeenSet = false; Aws::Vector m_dbPaths; bool m_dbPathsHasBeenSet = false; }; } // namespace Model } // namespace finspace } // namespace Aws