AWS SDK for C++

AWS SDK for C++ Version 1.11.745

Loading...
Searching...
No Matches
EbsInfo.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
8#include <aws/core/utils/memory/stl/AWSVector.h>
9#include <aws/ec2/EC2_EXPORTS.h>
10#include <aws/ec2/model/AttachmentLimitType.h>
11#include <aws/ec2/model/EbsCardInfo.h>
12#include <aws/ec2/model/EbsEncryptionSupport.h>
13#include <aws/ec2/model/EbsNvmeSupport.h>
14#include <aws/ec2/model/EbsOptimizedInfo.h>
15#include <aws/ec2/model/EbsOptimizedSupport.h>
16
17#include <utility>
18
19namespace Aws {
20namespace Utils {
21namespace Xml {
22class XmlNode;
23} // namespace Xml
24} // namespace Utils
25namespace EC2 {
26namespace Model {
27
34class EbsInfo {
35 public:
36 AWS_EC2_API EbsInfo() = default;
37 AWS_EC2_API EbsInfo(const Aws::Utils::Xml::XmlNode& xmlNode);
38 AWS_EC2_API EbsInfo& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
39
40 AWS_EC2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
41 AWS_EC2_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
42
44
50 inline EbsOptimizedSupport GetEbsOptimizedSupport() const { return m_ebsOptimizedSupport; }
51 inline bool EbsOptimizedSupportHasBeenSet() const { return m_ebsOptimizedSupportHasBeenSet; }
53 m_ebsOptimizedSupportHasBeenSet = true;
54 m_ebsOptimizedSupport = value;
55 }
58 return *this;
59 }
61
63
66 inline EbsEncryptionSupport GetEncryptionSupport() const { return m_encryptionSupport; }
67 inline bool EncryptionSupportHasBeenSet() const { return m_encryptionSupportHasBeenSet; }
69 m_encryptionSupportHasBeenSet = true;
70 m_encryptionSupport = value;
71 }
74 return *this;
75 }
77
79
82 inline const EbsOptimizedInfo& GetEbsOptimizedInfo() const { return m_ebsOptimizedInfo; }
83 inline bool EbsOptimizedInfoHasBeenSet() const { return m_ebsOptimizedInfoHasBeenSet; }
84 template <typename EbsOptimizedInfoT = EbsOptimizedInfo>
85 void SetEbsOptimizedInfo(EbsOptimizedInfoT&& value) {
86 m_ebsOptimizedInfoHasBeenSet = true;
87 m_ebsOptimizedInfo = std::forward<EbsOptimizedInfoT>(value);
88 }
89 template <typename EbsOptimizedInfoT = EbsOptimizedInfo>
90 EbsInfo& WithEbsOptimizedInfo(EbsOptimizedInfoT&& value) {
91 SetEbsOptimizedInfo(std::forward<EbsOptimizedInfoT>(value));
92 return *this;
93 }
95
97
100 inline EbsNvmeSupport GetNvmeSupport() const { return m_nvmeSupport; }
101 inline bool NvmeSupportHasBeenSet() const { return m_nvmeSupportHasBeenSet; }
102 inline void SetNvmeSupport(EbsNvmeSupport value) {
103 m_nvmeSupportHasBeenSet = true;
104 m_nvmeSupport = value;
105 }
107 SetNvmeSupport(value);
108 return *this;
109 }
111
113
120 inline int GetMaximumEbsAttachments() const { return m_maximumEbsAttachments; }
121 inline bool MaximumEbsAttachmentsHasBeenSet() const { return m_maximumEbsAttachmentsHasBeenSet; }
122 inline void SetMaximumEbsAttachments(int value) {
123 m_maximumEbsAttachmentsHasBeenSet = true;
124 m_maximumEbsAttachments = value;
125 }
128 return *this;
129 }
131
133
140 inline AttachmentLimitType GetAttachmentLimitType() const { return m_attachmentLimitType; }
141 inline bool AttachmentLimitTypeHasBeenSet() const { return m_attachmentLimitTypeHasBeenSet; }
143 m_attachmentLimitTypeHasBeenSet = true;
144 m_attachmentLimitType = value;
145 }
148 return *this;
149 }
151
153
156 inline int GetMaximumEbsCards() const { return m_maximumEbsCards; }
157 inline bool MaximumEbsCardsHasBeenSet() const { return m_maximumEbsCardsHasBeenSet; }
158 inline void SetMaximumEbsCards(int value) {
159 m_maximumEbsCardsHasBeenSet = true;
160 m_maximumEbsCards = value;
161 }
162 inline EbsInfo& WithMaximumEbsCards(int value) {
163 SetMaximumEbsCards(value);
164 return *this;
165 }
167
169
172 inline const Aws::Vector<EbsCardInfo>& GetEbsCards() const { return m_ebsCards; }
173 inline bool EbsCardsHasBeenSet() const { return m_ebsCardsHasBeenSet; }
174 template <typename EbsCardsT = Aws::Vector<EbsCardInfo>>
175 void SetEbsCards(EbsCardsT&& value) {
176 m_ebsCardsHasBeenSet = true;
177 m_ebsCards = std::forward<EbsCardsT>(value);
178 }
179 template <typename EbsCardsT = Aws::Vector<EbsCardInfo>>
180 EbsInfo& WithEbsCards(EbsCardsT&& value) {
181 SetEbsCards(std::forward<EbsCardsT>(value));
182 return *this;
183 }
184 template <typename EbsCardsT = EbsCardInfo>
185 EbsInfo& AddEbsCards(EbsCardsT&& value) {
186 m_ebsCardsHasBeenSet = true;
187 m_ebsCards.emplace_back(std::forward<EbsCardsT>(value));
188 return *this;
189 }
191 private:
193
195
196 EbsOptimizedInfo m_ebsOptimizedInfo;
197
199
200 int m_maximumEbsAttachments{0};
201
203
204 int m_maximumEbsCards{0};
205
206 Aws::Vector<EbsCardInfo> m_ebsCards;
207 bool m_ebsOptimizedSupportHasBeenSet = false;
208 bool m_encryptionSupportHasBeenSet = false;
209 bool m_ebsOptimizedInfoHasBeenSet = false;
210 bool m_nvmeSupportHasBeenSet = false;
211 bool m_maximumEbsAttachmentsHasBeenSet = false;
212 bool m_attachmentLimitTypeHasBeenSet = false;
213 bool m_maximumEbsCardsHasBeenSet = false;
214 bool m_ebsCardsHasBeenSet = false;
215};
216
217} // namespace Model
218} // namespace EC2
219} // namespace Aws
void SetMaximumEbsCards(int value)
Definition EbsInfo.h:158
EbsNvmeSupport GetNvmeSupport() const
Definition EbsInfo.h:100
AWS_EC2_API void OutputToStream(Aws::OStream &oStream, const char *location) const
bool EbsOptimizedInfoHasBeenSet() const
Definition EbsInfo.h:83
bool NvmeSupportHasBeenSet() const
Definition EbsInfo.h:101
EbsInfo & WithEncryptionSupport(EbsEncryptionSupport value)
Definition EbsInfo.h:72
EbsInfo & WithMaximumEbsCards(int value)
Definition EbsInfo.h:162
bool EbsOptimizedSupportHasBeenSet() const
Definition EbsInfo.h:51
AttachmentLimitType GetAttachmentLimitType() const
Definition EbsInfo.h:140
void SetEbsCards(EbsCardsT &&value)
Definition EbsInfo.h:175
AWS_EC2_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
void SetMaximumEbsAttachments(int value)
Definition EbsInfo.h:122
void SetEbsOptimizedInfo(EbsOptimizedInfoT &&value)
Definition EbsInfo.h:85
AWS_EC2_API EbsInfo & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
EbsInfo & WithEbsOptimizedInfo(EbsOptimizedInfoT &&value)
Definition EbsInfo.h:90
bool EncryptionSupportHasBeenSet() const
Definition EbsInfo.h:67
void SetEncryptionSupport(EbsEncryptionSupport value)
Definition EbsInfo.h:68
bool EbsCardsHasBeenSet() const
Definition EbsInfo.h:173
AWS_EC2_API EbsInfo()=default
EbsInfo & WithAttachmentLimitType(AttachmentLimitType value)
Definition EbsInfo.h:146
bool MaximumEbsCardsHasBeenSet() const
Definition EbsInfo.h:157
void SetAttachmentLimitType(AttachmentLimitType value)
Definition EbsInfo.h:142
void SetEbsOptimizedSupport(EbsOptimizedSupport value)
Definition EbsInfo.h:52
int GetMaximumEbsCards() const
Definition EbsInfo.h:156
EbsOptimizedSupport GetEbsOptimizedSupport() const
Definition EbsInfo.h:50
bool MaximumEbsAttachmentsHasBeenSet() const
Definition EbsInfo.h:121
EbsInfo & WithNvmeSupport(EbsNvmeSupport value)
Definition EbsInfo.h:106
EbsInfo & WithEbsCards(EbsCardsT &&value)
Definition EbsInfo.h:180
void SetNvmeSupport(EbsNvmeSupport value)
Definition EbsInfo.h:102
EbsInfo & AddEbsCards(EbsCardsT &&value)
Definition EbsInfo.h:185
int GetMaximumEbsAttachments() const
Definition EbsInfo.h:120
const Aws::Vector< EbsCardInfo > & GetEbsCards() const
Definition EbsInfo.h:172
EbsInfo & WithEbsOptimizedSupport(EbsOptimizedSupport value)
Definition EbsInfo.h:56
AWS_EC2_API EbsInfo(const Aws::Utils::Xml::XmlNode &xmlNode)
bool AttachmentLimitTypeHasBeenSet() const
Definition EbsInfo.h:141
const EbsOptimizedInfo & GetEbsOptimizedInfo() const
Definition EbsInfo.h:82
EbsEncryptionSupport GetEncryptionSupport() const
Definition EbsInfo.h:66
EbsInfo & WithMaximumEbsAttachments(int value)
Definition EbsInfo.h:126
std::vector< T, Aws::Allocator< T > > Vector
std::basic_ostream< char, std::char_traits< char > > OStream