/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include namespace Aws { template class AmazonWebServiceResult; namespace Utils { namespace Json { class JsonValue; } // namespace Json } // namespace Utils namespace StorageGateway { namespace Model { class DescribeCacheResult { public: AWS_STORAGEGATEWAY_API DescribeCacheResult(); AWS_STORAGEGATEWAY_API DescribeCacheResult(const Aws::AmazonWebServiceResult& result); AWS_STORAGEGATEWAY_API DescribeCacheResult& operator=(const Aws::AmazonWebServiceResult& result); inline const Aws::String& GetGatewayARN() const{ return m_gatewayARN; } inline void SetGatewayARN(const Aws::String& value) { m_gatewayARN = value; } inline void SetGatewayARN(Aws::String&& value) { m_gatewayARN = std::move(value); } inline void SetGatewayARN(const char* value) { m_gatewayARN.assign(value); } inline DescribeCacheResult& WithGatewayARN(const Aws::String& value) { SetGatewayARN(value); return *this;} inline DescribeCacheResult& WithGatewayARN(Aws::String&& value) { SetGatewayARN(std::move(value)); return *this;} inline DescribeCacheResult& WithGatewayARN(const char* value) { SetGatewayARN(value); return *this;} /** *

An array of strings that identify disks that are to be configured as working * storage. Each string has a minimum length of 1 and maximum length of 300. You * can get the disk IDs from the ListLocalDisks API.

*/ inline const Aws::Vector& GetDiskIds() const{ return m_diskIds; } /** *

An array of strings that identify disks that are to be configured as working * storage. Each string has a minimum length of 1 and maximum length of 300. You * can get the disk IDs from the ListLocalDisks API.

*/ inline void SetDiskIds(const Aws::Vector& value) { m_diskIds = value; } /** *

An array of strings that identify disks that are to be configured as working * storage. Each string has a minimum length of 1 and maximum length of 300. You * can get the disk IDs from the ListLocalDisks API.

*/ inline void SetDiskIds(Aws::Vector&& value) { m_diskIds = std::move(value); } /** *

An array of strings that identify disks that are to be configured as working * storage. Each string has a minimum length of 1 and maximum length of 300. You * can get the disk IDs from the ListLocalDisks API.

*/ inline DescribeCacheResult& WithDiskIds(const Aws::Vector& value) { SetDiskIds(value); return *this;} /** *

An array of strings that identify disks that are to be configured as working * storage. Each string has a minimum length of 1 and maximum length of 300. You * can get the disk IDs from the ListLocalDisks API.

*/ inline DescribeCacheResult& WithDiskIds(Aws::Vector&& value) { SetDiskIds(std::move(value)); return *this;} /** *

An array of strings that identify disks that are to be configured as working * storage. Each string has a minimum length of 1 and maximum length of 300. You * can get the disk IDs from the ListLocalDisks API.

*/ inline DescribeCacheResult& AddDiskIds(const Aws::String& value) { m_diskIds.push_back(value); return *this; } /** *

An array of strings that identify disks that are to be configured as working * storage. Each string has a minimum length of 1 and maximum length of 300. You * can get the disk IDs from the ListLocalDisks API.

*/ inline DescribeCacheResult& AddDiskIds(Aws::String&& value) { m_diskIds.push_back(std::move(value)); return *this; } /** *

An array of strings that identify disks that are to be configured as working * storage. Each string has a minimum length of 1 and maximum length of 300. You * can get the disk IDs from the ListLocalDisks API.

*/ inline DescribeCacheResult& AddDiskIds(const char* value) { m_diskIds.push_back(value); return *this; } /** *

The amount of cache in bytes allocated to a gateway.

*/ inline long long GetCacheAllocatedInBytes() const{ return m_cacheAllocatedInBytes; } /** *

The amount of cache in bytes allocated to a gateway.

*/ inline void SetCacheAllocatedInBytes(long long value) { m_cacheAllocatedInBytes = value; } /** *

The amount of cache in bytes allocated to a gateway.

*/ inline DescribeCacheResult& WithCacheAllocatedInBytes(long long value) { SetCacheAllocatedInBytes(value); return *this;} /** *

Percent use of the gateway's cache storage. This metric applies only to the * gateway-cached volume setup. The sample is taken at the end of the reporting * period.

*/ inline double GetCacheUsedPercentage() const{ return m_cacheUsedPercentage; } /** *

Percent use of the gateway's cache storage. This metric applies only to the * gateway-cached volume setup. The sample is taken at the end of the reporting * period.

*/ inline void SetCacheUsedPercentage(double value) { m_cacheUsedPercentage = value; } /** *

Percent use of the gateway's cache storage. This metric applies only to the * gateway-cached volume setup. The sample is taken at the end of the reporting * period.

*/ inline DescribeCacheResult& WithCacheUsedPercentage(double value) { SetCacheUsedPercentage(value); return *this;} /** *

The file share's contribution to the overall percentage of the gateway's * cache that has not been persisted to Amazon Web Services. The sample is taken at * the end of the reporting period.

*/ inline double GetCacheDirtyPercentage() const{ return m_cacheDirtyPercentage; } /** *

The file share's contribution to the overall percentage of the gateway's * cache that has not been persisted to Amazon Web Services. The sample is taken at * the end of the reporting period.

*/ inline void SetCacheDirtyPercentage(double value) { m_cacheDirtyPercentage = value; } /** *

The file share's contribution to the overall percentage of the gateway's * cache that has not been persisted to Amazon Web Services. The sample is taken at * the end of the reporting period.

*/ inline DescribeCacheResult& WithCacheDirtyPercentage(double value) { SetCacheDirtyPercentage(value); return *this;} /** *

Percent of application read operations from the file shares that are served * from cache. The sample is taken at the end of the reporting period.

*/ inline double GetCacheHitPercentage() const{ return m_cacheHitPercentage; } /** *

Percent of application read operations from the file shares that are served * from cache. The sample is taken at the end of the reporting period.

*/ inline void SetCacheHitPercentage(double value) { m_cacheHitPercentage = value; } /** *

Percent of application read operations from the file shares that are served * from cache. The sample is taken at the end of the reporting period.

*/ inline DescribeCacheResult& WithCacheHitPercentage(double value) { SetCacheHitPercentage(value); return *this;} /** *

Percent of application read operations from the file shares that are not * served from cache. The sample is taken at the end of the reporting period.

*/ inline double GetCacheMissPercentage() const{ return m_cacheMissPercentage; } /** *

Percent of application read operations from the file shares that are not * served from cache. The sample is taken at the end of the reporting period.

*/ inline void SetCacheMissPercentage(double value) { m_cacheMissPercentage = value; } /** *

Percent of application read operations from the file shares that are not * served from cache. The sample is taken at the end of the reporting period.

*/ inline DescribeCacheResult& WithCacheMissPercentage(double value) { SetCacheMissPercentage(value); return *this;} inline const Aws::String& GetRequestId() const{ return m_requestId; } inline void SetRequestId(const Aws::String& value) { m_requestId = value; } inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } inline void SetRequestId(const char* value) { m_requestId.assign(value); } inline DescribeCacheResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} inline DescribeCacheResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} inline DescribeCacheResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} private: Aws::String m_gatewayARN; Aws::Vector m_diskIds; long long m_cacheAllocatedInBytes; double m_cacheUsedPercentage; double m_cacheDirtyPercentage; double m_cacheHitPercentage; double m_cacheMissPercentage; Aws::String m_requestId; }; } // namespace Model } // namespace StorageGateway } // namespace Aws