7#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/rds/RDS_EXPORTS.h>
11#include <aws/rds/model/DoubleRange.h>
12#include <aws/rds/model/Range.h>
49 template <
typename StorageTypeT = Aws::String>
51 m_storageTypeHasBeenSet =
true;
52 m_storageType = std::forward<StorageTypeT>(value);
54 template <
typename StorageTypeT = Aws::String>
68 template <
typename StorageSizeT = Aws::Vector<Range>>
70 m_storageSizeHasBeenSet =
true;
71 m_storageSize = std::forward<StorageSizeT>(value);
73 template <
typename StorageSizeT = Aws::Vector<Range>>
78 template <
typename StorageSizeT = Range>
80 m_storageSizeHasBeenSet =
true;
81 m_storageSize.emplace_back(std::forward<StorageSizeT>(value));
92 template <
typename ProvisionedIopsT = Aws::Vector<Range>>
94 m_provisionedIopsHasBeenSet =
true;
95 m_provisionedIops = std::forward<ProvisionedIopsT>(value);
97 template <
typename ProvisionedIopsT = Aws::Vector<Range>>
102 template <
typename ProvisionedIopsT = Range>
104 m_provisionedIopsHasBeenSet =
true;
105 m_provisionedIops.emplace_back(std::forward<ProvisionedIopsT>(value));
118 template <
typename IopsToStorageRatioT = Aws::Vector<DoubleRange>>
120 m_iopsToStorageRatioHasBeenSet =
true;
121 m_iopsToStorageRatio = std::forward<IopsToStorageRatioT>(value);
123 template <
typename IopsToStorageRatioT = Aws::Vector<DoubleRange>>
128 template <
typename IopsToStorageRatioT = DoubleRange>
130 m_iopsToStorageRatioHasBeenSet =
true;
131 m_iopsToStorageRatio.emplace_back(std::forward<IopsToStorageRatioT>(value));
143 template <
typename ProvisionedStorageThroughputT = Aws::Vector<Range>>
145 m_provisionedStorageThroughputHasBeenSet =
true;
146 m_provisionedStorageThroughput = std::forward<ProvisionedStorageThroughputT>(value);
148 template <
typename ProvisionedStorageThroughputT = Aws::Vector<Range>>
153 template <
typename ProvisionedStorageThroughputT = Range>
155 m_provisionedStorageThroughputHasBeenSet =
true;
156 m_provisionedStorageThroughput.emplace_back(std::forward<ProvisionedStorageThroughputT>(value));
168 template <
typename StorageThroughputToIopsRatioT = Aws::Vector<DoubleRange>>
170 m_storageThroughputToIopsRatioHasBeenSet =
true;
171 m_storageThroughputToIopsRatio = std::forward<StorageThroughputToIopsRatioT>(value);
173 template <
typename StorageThroughputToIopsRatioT = Aws::Vector<DoubleRange>>
178 template <
typename StorageThroughputToIopsRatioT = DoubleRange>
180 m_storageThroughputToIopsRatioHasBeenSet =
true;
181 m_storageThroughputToIopsRatio.emplace_back(std::forward<StorageThroughputToIopsRatioT>(value));
194 m_supportsStorageAutoscalingHasBeenSet =
true;
195 m_supportsStorageAutoscaling = value;
215 bool m_supportsStorageAutoscaling{
false};
216 bool m_storageTypeHasBeenSet =
false;
217 bool m_storageSizeHasBeenSet =
false;
218 bool m_provisionedIopsHasBeenSet =
false;
219 bool m_iopsToStorageRatioHasBeenSet =
false;
220 bool m_provisionedStorageThroughputHasBeenSet =
false;
221 bool m_storageThroughputToIopsRatioHasBeenSet =
false;
222 bool m_supportsStorageAutoscalingHasBeenSet =
false;
AWS_RDS_API ValidStorageOptions & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
ValidStorageOptions & AddStorageThroughputToIopsRatio(StorageThroughputToIopsRatioT &&value)
AWS_RDS_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
ValidStorageOptions & WithIopsToStorageRatio(IopsToStorageRatioT &&value)
ValidStorageOptions & WithStorageThroughputToIopsRatio(StorageThroughputToIopsRatioT &&value)
AWS_RDS_API ValidStorageOptions()=default
bool StorageSizeHasBeenSet() const
ValidStorageOptions & AddStorageSize(StorageSizeT &&value)
const Aws::Vector< Range > & GetStorageSize() const
const Aws::Vector< Range > & GetProvisionedIops() const
ValidStorageOptions & WithProvisionedIops(ProvisionedIopsT &&value)
bool StorageTypeHasBeenSet() const
ValidStorageOptions & AddProvisionedIops(ProvisionedIopsT &&value)
const Aws::Vector< Range > & GetProvisionedStorageThroughput() const
ValidStorageOptions & WithSupportsStorageAutoscaling(bool value)
bool SupportsStorageAutoscalingHasBeenSet() const
void SetIopsToStorageRatio(IopsToStorageRatioT &&value)
ValidStorageOptions & AddIopsToStorageRatio(IopsToStorageRatioT &&value)
bool IopsToStorageRatioHasBeenSet() const
bool StorageThroughputToIopsRatioHasBeenSet() const
AWS_RDS_API ValidStorageOptions(const Aws::Utils::Xml::XmlNode &xmlNode)
AWS_RDS_API void OutputToStream(Aws::OStream &oStream, const char *location) const
bool GetSupportsStorageAutoscaling() const
bool ProvisionedIopsHasBeenSet() const
ValidStorageOptions & WithStorageSize(StorageSizeT &&value)
ValidStorageOptions & WithStorageType(StorageTypeT &&value)
void SetStorageSize(StorageSizeT &&value)
void SetProvisionedStorageThroughput(ProvisionedStorageThroughputT &&value)
void SetStorageType(StorageTypeT &&value)
const Aws::Vector< DoubleRange > & GetIopsToStorageRatio() const
void SetProvisionedIops(ProvisionedIopsT &&value)
const Aws::Vector< DoubleRange > & GetStorageThroughputToIopsRatio() const
bool ProvisionedStorageThroughputHasBeenSet() const
ValidStorageOptions & WithProvisionedStorageThroughput(ProvisionedStorageThroughputT &&value)
const Aws::String & GetStorageType() const
void SetStorageThroughputToIopsRatio(StorageThroughputToIopsRatioT &&value)
ValidStorageOptions & AddProvisionedStorageThroughput(ProvisionedStorageThroughputT &&value)
void SetSupportsStorageAutoscaling(bool value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
std::basic_ostream< char, std::char_traits< char > > OStream