AWS SDK for C++

AWS SDK for C++ Version 1.11.748

Loading...
Searching...
No Matches
ValidStorageOptions.h
1
6#pragma once
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/neptune/Neptune_EXPORTS.h>
11#include <aws/neptune/model/DoubleRange.h>
12#include <aws/neptune/model/Range.h>
13
14#include <utility>
15
16namespace Aws {
17namespace Utils {
18namespace Xml {
19class XmlNode;
20} // namespace Xml
21} // namespace Utils
22namespace Neptune {
23namespace Model {
24
32 public:
33 AWS_NEPTUNE_API ValidStorageOptions() = default;
34 AWS_NEPTUNE_API ValidStorageOptions(const Aws::Utils::Xml::XmlNode& xmlNode);
35 AWS_NEPTUNE_API ValidStorageOptions& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
36
37 AWS_NEPTUNE_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
38 AWS_NEPTUNE_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
39
41
45 inline const Aws::String& GetStorageType() const { return m_storageType; }
46 inline bool StorageTypeHasBeenSet() const { return m_storageTypeHasBeenSet; }
47 template <typename StorageTypeT = Aws::String>
48 void SetStorageType(StorageTypeT&& value) {
49 m_storageTypeHasBeenSet = true;
50 m_storageType = std::forward<StorageTypeT>(value);
51 }
52 template <typename StorageTypeT = Aws::String>
53 ValidStorageOptions& WithStorageType(StorageTypeT&& value) {
54 SetStorageType(std::forward<StorageTypeT>(value));
55 return *this;
56 }
58
60
64 inline const Aws::Vector<Range>& GetStorageSize() const { return m_storageSize; }
65 inline bool StorageSizeHasBeenSet() const { return m_storageSizeHasBeenSet; }
66 template <typename StorageSizeT = Aws::Vector<Range>>
67 void SetStorageSize(StorageSizeT&& value) {
68 m_storageSizeHasBeenSet = true;
69 m_storageSize = std::forward<StorageSizeT>(value);
70 }
71 template <typename StorageSizeT = Aws::Vector<Range>>
72 ValidStorageOptions& WithStorageSize(StorageSizeT&& value) {
73 SetStorageSize(std::forward<StorageSizeT>(value));
74 return *this;
75 }
76 template <typename StorageSizeT = Range>
77 ValidStorageOptions& AddStorageSize(StorageSizeT&& value) {
78 m_storageSizeHasBeenSet = true;
79 m_storageSize.emplace_back(std::forward<StorageSizeT>(value));
80 return *this;
81 }
83
85
89 inline const Aws::Vector<Range>& GetProvisionedIops() const { return m_provisionedIops; }
90 inline bool ProvisionedIopsHasBeenSet() const { return m_provisionedIopsHasBeenSet; }
91 template <typename ProvisionedIopsT = Aws::Vector<Range>>
92 void SetProvisionedIops(ProvisionedIopsT&& value) {
93 m_provisionedIopsHasBeenSet = true;
94 m_provisionedIops = std::forward<ProvisionedIopsT>(value);
95 }
96 template <typename ProvisionedIopsT = Aws::Vector<Range>>
97 ValidStorageOptions& WithProvisionedIops(ProvisionedIopsT&& value) {
98 SetProvisionedIops(std::forward<ProvisionedIopsT>(value));
99 return *this;
100 }
101 template <typename ProvisionedIopsT = Range>
102 ValidStorageOptions& AddProvisionedIops(ProvisionedIopsT&& value) {
103 m_provisionedIopsHasBeenSet = true;
104 m_provisionedIops.emplace_back(std::forward<ProvisionedIopsT>(value));
105 return *this;
106 }
108
110
114 inline const Aws::Vector<DoubleRange>& GetIopsToStorageRatio() const { return m_iopsToStorageRatio; }
115 inline bool IopsToStorageRatioHasBeenSet() const { return m_iopsToStorageRatioHasBeenSet; }
116 template <typename IopsToStorageRatioT = Aws::Vector<DoubleRange>>
117 void SetIopsToStorageRatio(IopsToStorageRatioT&& value) {
118 m_iopsToStorageRatioHasBeenSet = true;
119 m_iopsToStorageRatio = std::forward<IopsToStorageRatioT>(value);
120 }
121 template <typename IopsToStorageRatioT = Aws::Vector<DoubleRange>>
122 ValidStorageOptions& WithIopsToStorageRatio(IopsToStorageRatioT&& value) {
123 SetIopsToStorageRatio(std::forward<IopsToStorageRatioT>(value));
124 return *this;
125 }
126 template <typename IopsToStorageRatioT = DoubleRange>
127 ValidStorageOptions& AddIopsToStorageRatio(IopsToStorageRatioT&& value) {
128 m_iopsToStorageRatioHasBeenSet = true;
129 m_iopsToStorageRatio.emplace_back(std::forward<IopsToStorageRatioT>(value));
130 return *this;
131 }
133 private:
134 Aws::String m_storageType;
135
136 Aws::Vector<Range> m_storageSize;
137
138 Aws::Vector<Range> m_provisionedIops;
139
140 Aws::Vector<DoubleRange> m_iopsToStorageRatio;
141 bool m_storageTypeHasBeenSet = false;
142 bool m_storageSizeHasBeenSet = false;
143 bool m_provisionedIopsHasBeenSet = false;
144 bool m_iopsToStorageRatioHasBeenSet = false;
145};
146
147} // namespace Model
148} // namespace Neptune
149} // namespace Aws
ValidStorageOptions & WithProvisionedIops(ProvisionedIopsT &&value)
ValidStorageOptions & AddStorageSize(StorageSizeT &&value)
AWS_NEPTUNE_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
AWS_NEPTUNE_API ValidStorageOptions(const Aws::Utils::Xml::XmlNode &xmlNode)
void SetIopsToStorageRatio(IopsToStorageRatioT &&value)
void SetProvisionedIops(ProvisionedIopsT &&value)
const Aws::Vector< Range > & GetProvisionedIops() const
AWS_NEPTUNE_API ValidStorageOptions()=default
ValidStorageOptions & WithStorageType(StorageTypeT &&value)
ValidStorageOptions & WithStorageSize(StorageSizeT &&value)
AWS_NEPTUNE_API void OutputToStream(Aws::OStream &oStream, const char *location) const
const Aws::Vector< DoubleRange > & GetIopsToStorageRatio() const
const Aws::Vector< Range > & GetStorageSize() const
ValidStorageOptions & AddProvisionedIops(ProvisionedIopsT &&value)
AWS_NEPTUNE_API ValidStorageOptions & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
ValidStorageOptions & AddIopsToStorageRatio(IopsToStorageRatioT &&value)
ValidStorageOptions & WithIopsToStorageRatio(IopsToStorageRatioT &&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