1 /** 2 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 * SPDX-License-Identifier: Apache-2.0. 4 */ 5 6 #pragma once 7 #include <aws/storagegateway/StorageGateway_EXPORTS.h> 8 #include <aws/core/utils/memory/stl/AWSString.h> 9 #include <aws/core/utils/memory/stl/AWSVector.h> 10 #include <utility> 11 12 namespace Aws 13 { 14 template<typename RESULT_TYPE> 15 class AmazonWebServiceResult; 16 17 namespace Utils 18 { 19 namespace Json 20 { 21 class JsonValue; 22 } // namespace Json 23 } // namespace Utils 24 namespace StorageGateway 25 { 26 namespace Model 27 { 28 class AWS_STORAGEGATEWAY_API DescribeCacheResult 29 { 30 public: 31 DescribeCacheResult(); 32 DescribeCacheResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result); 33 DescribeCacheResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result); 34 35 36 GetGatewayARN()37 inline const Aws::String& GetGatewayARN() const{ return m_gatewayARN; } 38 39 SetGatewayARN(const Aws::String & value)40 inline void SetGatewayARN(const Aws::String& value) { m_gatewayARN = value; } 41 42 SetGatewayARN(Aws::String && value)43 inline void SetGatewayARN(Aws::String&& value) { m_gatewayARN = std::move(value); } 44 45 SetGatewayARN(const char * value)46 inline void SetGatewayARN(const char* value) { m_gatewayARN.assign(value); } 47 48 WithGatewayARN(const Aws::String & value)49 inline DescribeCacheResult& WithGatewayARN(const Aws::String& value) { SetGatewayARN(value); return *this;} 50 51 WithGatewayARN(Aws::String && value)52 inline DescribeCacheResult& WithGatewayARN(Aws::String&& value) { SetGatewayARN(std::move(value)); return *this;} 53 54 WithGatewayARN(const char * value)55 inline DescribeCacheResult& WithGatewayARN(const char* value) { SetGatewayARN(value); return *this;} 56 57 58 /** 59 * <p>An array of strings that identify disks that are to be configured as working 60 * storage. Each string has a minimum length of 1 and maximum length of 300. You 61 * can get the disk IDs from the <a>ListLocalDisks</a> API.</p> 62 */ GetDiskIds()63 inline const Aws::Vector<Aws::String>& GetDiskIds() const{ return m_diskIds; } 64 65 /** 66 * <p>An array of strings that identify disks that are to be configured as working 67 * storage. Each string has a minimum length of 1 and maximum length of 300. You 68 * can get the disk IDs from the <a>ListLocalDisks</a> API.</p> 69 */ SetDiskIds(const Aws::Vector<Aws::String> & value)70 inline void SetDiskIds(const Aws::Vector<Aws::String>& value) { m_diskIds = value; } 71 72 /** 73 * <p>An array of strings that identify disks that are to be configured as working 74 * storage. Each string has a minimum length of 1 and maximum length of 300. You 75 * can get the disk IDs from the <a>ListLocalDisks</a> API.</p> 76 */ SetDiskIds(Aws::Vector<Aws::String> && value)77 inline void SetDiskIds(Aws::Vector<Aws::String>&& value) { m_diskIds = std::move(value); } 78 79 /** 80 * <p>An array of strings that identify disks that are to be configured as working 81 * storage. Each string has a minimum length of 1 and maximum length of 300. You 82 * can get the disk IDs from the <a>ListLocalDisks</a> API.</p> 83 */ WithDiskIds(const Aws::Vector<Aws::String> & value)84 inline DescribeCacheResult& WithDiskIds(const Aws::Vector<Aws::String>& value) { SetDiskIds(value); return *this;} 85 86 /** 87 * <p>An array of strings that identify disks that are to be configured as working 88 * storage. Each string has a minimum length of 1 and maximum length of 300. You 89 * can get the disk IDs from the <a>ListLocalDisks</a> API.</p> 90 */ WithDiskIds(Aws::Vector<Aws::String> && value)91 inline DescribeCacheResult& WithDiskIds(Aws::Vector<Aws::String>&& value) { SetDiskIds(std::move(value)); return *this;} 92 93 /** 94 * <p>An array of strings that identify disks that are to be configured as working 95 * storage. Each string has a minimum length of 1 and maximum length of 300. You 96 * can get the disk IDs from the <a>ListLocalDisks</a> API.</p> 97 */ AddDiskIds(const Aws::String & value)98 inline DescribeCacheResult& AddDiskIds(const Aws::String& value) { m_diskIds.push_back(value); return *this; } 99 100 /** 101 * <p>An array of strings that identify disks that are to be configured as working 102 * storage. Each string has a minimum length of 1 and maximum length of 300. You 103 * can get the disk IDs from the <a>ListLocalDisks</a> API.</p> 104 */ AddDiskIds(Aws::String && value)105 inline DescribeCacheResult& AddDiskIds(Aws::String&& value) { m_diskIds.push_back(std::move(value)); return *this; } 106 107 /** 108 * <p>An array of strings that identify disks that are to be configured as working 109 * storage. Each string has a minimum length of 1 and maximum length of 300. You 110 * can get the disk IDs from the <a>ListLocalDisks</a> API.</p> 111 */ AddDiskIds(const char * value)112 inline DescribeCacheResult& AddDiskIds(const char* value) { m_diskIds.push_back(value); return *this; } 113 114 115 /** 116 * <p>The amount of cache in bytes allocated to a gateway.</p> 117 */ GetCacheAllocatedInBytes()118 inline long long GetCacheAllocatedInBytes() const{ return m_cacheAllocatedInBytes; } 119 120 /** 121 * <p>The amount of cache in bytes allocated to a gateway.</p> 122 */ SetCacheAllocatedInBytes(long long value)123 inline void SetCacheAllocatedInBytes(long long value) { m_cacheAllocatedInBytes = value; } 124 125 /** 126 * <p>The amount of cache in bytes allocated to a gateway.</p> 127 */ WithCacheAllocatedInBytes(long long value)128 inline DescribeCacheResult& WithCacheAllocatedInBytes(long long value) { SetCacheAllocatedInBytes(value); return *this;} 129 130 131 /** 132 * <p>Percent use of the gateway's cache storage. This metric applies only to the 133 * gateway-cached volume setup. The sample is taken at the end of the reporting 134 * period.</p> 135 */ GetCacheUsedPercentage()136 inline double GetCacheUsedPercentage() const{ return m_cacheUsedPercentage; } 137 138 /** 139 * <p>Percent use of the gateway's cache storage. This metric applies only to the 140 * gateway-cached volume setup. The sample is taken at the end of the reporting 141 * period.</p> 142 */ SetCacheUsedPercentage(double value)143 inline void SetCacheUsedPercentage(double value) { m_cacheUsedPercentage = value; } 144 145 /** 146 * <p>Percent use of the gateway's cache storage. This metric applies only to the 147 * gateway-cached volume setup. The sample is taken at the end of the reporting 148 * period.</p> 149 */ WithCacheUsedPercentage(double value)150 inline DescribeCacheResult& WithCacheUsedPercentage(double value) { SetCacheUsedPercentage(value); return *this;} 151 152 153 /** 154 * <p>The file share's contribution to the overall percentage of the gateway's 155 * cache that has not been persisted to Amazon Web Services. The sample is taken at 156 * the end of the reporting period.</p> 157 */ GetCacheDirtyPercentage()158 inline double GetCacheDirtyPercentage() const{ return m_cacheDirtyPercentage; } 159 160 /** 161 * <p>The file share's contribution to the overall percentage of the gateway's 162 * cache that has not been persisted to Amazon Web Services. The sample is taken at 163 * the end of the reporting period.</p> 164 */ SetCacheDirtyPercentage(double value)165 inline void SetCacheDirtyPercentage(double value) { m_cacheDirtyPercentage = value; } 166 167 /** 168 * <p>The file share's contribution to the overall percentage of the gateway's 169 * cache that has not been persisted to Amazon Web Services. The sample is taken at 170 * the end of the reporting period.</p> 171 */ WithCacheDirtyPercentage(double value)172 inline DescribeCacheResult& WithCacheDirtyPercentage(double value) { SetCacheDirtyPercentage(value); return *this;} 173 174 175 /** 176 * <p>Percent of application read operations from the file shares that are served 177 * from cache. The sample is taken at the end of the reporting period.</p> 178 */ GetCacheHitPercentage()179 inline double GetCacheHitPercentage() const{ return m_cacheHitPercentage; } 180 181 /** 182 * <p>Percent of application read operations from the file shares that are served 183 * from cache. The sample is taken at the end of the reporting period.</p> 184 */ SetCacheHitPercentage(double value)185 inline void SetCacheHitPercentage(double value) { m_cacheHitPercentage = value; } 186 187 /** 188 * <p>Percent of application read operations from the file shares that are served 189 * from cache. The sample is taken at the end of the reporting period.</p> 190 */ WithCacheHitPercentage(double value)191 inline DescribeCacheResult& WithCacheHitPercentage(double value) { SetCacheHitPercentage(value); return *this;} 192 193 194 /** 195 * <p>Percent of application read operations from the file shares that are not 196 * served from cache. The sample is taken at the end of the reporting period.</p> 197 */ GetCacheMissPercentage()198 inline double GetCacheMissPercentage() const{ return m_cacheMissPercentage; } 199 200 /** 201 * <p>Percent of application read operations from the file shares that are not 202 * served from cache. The sample is taken at the end of the reporting period.</p> 203 */ SetCacheMissPercentage(double value)204 inline void SetCacheMissPercentage(double value) { m_cacheMissPercentage = value; } 205 206 /** 207 * <p>Percent of application read operations from the file shares that are not 208 * served from cache. The sample is taken at the end of the reporting period.</p> 209 */ WithCacheMissPercentage(double value)210 inline DescribeCacheResult& WithCacheMissPercentage(double value) { SetCacheMissPercentage(value); return *this;} 211 212 private: 213 214 Aws::String m_gatewayARN; 215 216 Aws::Vector<Aws::String> m_diskIds; 217 218 long long m_cacheAllocatedInBytes; 219 220 double m_cacheUsedPercentage; 221 222 double m_cacheDirtyPercentage; 223 224 double m_cacheHitPercentage; 225 226 double m_cacheMissPercentage; 227 }; 228 229 } // namespace Model 230 } // namespace StorageGateway 231 } // namespace Aws 232